-ChangeLogs/ChangeLog-21.10.0-rc3.html
\ No newline at end of file
+ChangeLogs/ChangeLog-21.10.0.html
\ No newline at end of file
-ChangeLogs/ChangeLog-21.10.0-rc3.md
\ No newline at end of file
+ChangeLogs/ChangeLog-21.10.0.md
\ No newline at end of file
+++ /dev/null
-<html><head><title>ChangeLog for asterisk-21.10.0-rc2</title></head><body>
-<h2>Change Log for Release asterisk-21.10.0-rc2</h2>
-<h3>Links:</h3>
-<ul>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0-rc2.html">Full ChangeLog</a> </li>
-<li><a href="https://github.com/asterisk/asterisk/compare/21.10.0-rc1...21.10.0-rc2">GitHub Diff</a> </li>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0-rc2.tar.gz">Tarball</a> </li>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk">Downloads</a> </li>
-</ul>
-<h3>Summary:</h3>
-<ul>
-<li>Commits: 2</li>
-<li>Commit Authors: 2</li>
-<li>Issues Resolved: 3</li>
-<li>Security Advisories Resolved: 0</li>
-</ul>
-<h3>User Notes:</h3>
-<h3>Upgrade Notes:</h3>
-<h3>Commit Authors:</h3>
-<ul>
-<li>Michal Hajek: (1)</li>
-<li>Sean Bright: (1)</li>
-</ul>
-<h2>Issue and Commit Detail:</h2>
-<h3>Closed Issues:</h3>
-<ul>
-<li>1276: MixMonitor produces broken recordings in bridged calls with asymmetric codecs (e.g., alaw vs G.722)</li>
-<li>1279: [bug]: regression: 20.12.0 downgrades quality of wav16 recordings</li>
-<li>1282: [bug]: Alternate Channel Storage Backends menuselect not enabling it</li>
-</ul>
-<h3>Commits By Author:</h3>
-<ul>
-<li>
-<h4>Michal Hajek (1):</h4>
-</li>
-<li>
-<p>audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..</p>
-</li>
-<li>
-<h4>Sean Bright (1):</h4>
-</li>
-<li>channelstorage_makeopts.xml: Remove errant XML character.</li>
-</ul>
-<h3>Commit List:</h3>
-<ul>
-<li>channelstorage_makeopts.xml: Remove errant XML character.</li>
-</ul>
-<h3>Commit Details:</h3>
-<h4>audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..</h4>
-<p>Author: Michal Hajek
- Date: 2025-05-21</p>
-<p>This patch adjusts the read/write synchronization logic in audiohook_read_frame_both()
- to better handle calls where participants use different codecs or sample sizes
- (e.g., alaw vs G.722). The previous hard threshold of 2 * samples caused MixMonitor
- recordings to break or stutter when frames were not aligned between both directions.</p>
-<p>The new logic uses a more tolerant limit (1.5 * samples), which prevents audio tearing
- without causing excessive buffer overruns. This fix specifically addresses issues
- with MixMonitor when recording directly on a channel in a bridge using mixed codecs.</p>
-<p>Reported-by: Michal Hajek <a href="mailto:michal.hajek@daktela.com">michal.hajek@daktela.com</a></p>
-<p>Resolves: #1276
- Resolves: #1279</p>
-<h4>channelstorage_makeopts.xml: Remove errant XML character.</h4>
-<p>Author: Sean Bright
- Date: 2025-06-30</p>
-<p>Resolves: #1282</p>
-</body></html>
+++ /dev/null
-
-## Change Log for Release asterisk-21.10.0-rc2
-
-### Links:
-
- - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0-rc2.html)
- - [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.10.0-rc1...21.10.0-rc2)
- - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0-rc2.tar.gz)
- - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
-
-### Summary:
-
-- Commits: 2
-- Commit Authors: 2
-- Issues Resolved: 3
-- Security Advisories Resolved: 0
-
-### User Notes:
-
-
-### Upgrade Notes:
-
-
-### Commit Authors:
-
-- Michal Hajek: (1)
-- Sean Bright: (1)
-
-## Issue and Commit Detail:
-
-### Closed Issues:
-
- - 1276: MixMonitor produces broken recordings in bridged calls with asymmetric codecs (e.g., alaw vs G.722)
- - 1279: [bug]: regression: 20.12.0 downgrades quality of wav16 recordings
- - 1282: [bug]: Alternate Channel Storage Backends menuselect not enabling it
-
-### Commits By Author:
-
-- #### Michal Hajek (1):
- - audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..
-
-- #### Sean Bright (1):
- - channelstorage_makeopts.xml: Remove errant XML character.
-
-
-### Commit List:
-
-- channelstorage_makeopts.xml: Remove errant XML character.
-
-### Commit Details:
-
-#### audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..
- Author: Michal Hajek
- Date: 2025-05-21
-
- This patch adjusts the read/write synchronization logic in audiohook_read_frame_both()
- to better handle calls where participants use different codecs or sample sizes
- (e.g., alaw vs G.722). The previous hard threshold of 2 * samples caused MixMonitor
- recordings to break or stutter when frames were not aligned between both directions.
-
- The new logic uses a more tolerant limit (1.5 * samples), which prevents audio tearing
- without causing excessive buffer overruns. This fix specifically addresses issues
- with MixMonitor when recording directly on a channel in a bridge using mixed codecs.
-
- Reported-by: Michal Hajek <michal.hajek@daktela.com>
-
- Resolves: #1276
- Resolves: #1279
-
-#### channelstorage_makeopts.xml: Remove errant XML character.
- Author: Sean Bright
- Date: 2025-06-30
-
- Resolves: #1282
-
+++ /dev/null
-<html><head><title>ChangeLog for asterisk-21.10.0-rc3</title></head><body>
-<h2>Change Log for Release asterisk-21.10.0-rc3</h2>
-<h3>Links:</h3>
-<ul>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0-rc3.html">Full ChangeLog</a> </li>
-<li><a href="https://github.com/asterisk/asterisk/compare/21.10.0-rc2...21.10.0-rc3">GitHub Diff</a> </li>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0-rc3.tar.gz">Tarball</a> </li>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk">Downloads</a> </li>
-</ul>
-<h3>Summary:</h3>
-<ul>
-<li>Commits: 2</li>
-<li>Commit Authors: 1</li>
-<li>Issues Resolved: 2</li>
-<li>Security Advisories Resolved: 0</li>
-</ul>
-<h3>User Notes:</h3>
-<h3>Upgrade Notes:</h3>
-<h3>Commit Authors:</h3>
-<ul>
-<li>George Joseph: (2)</li>
-</ul>
-<h2>Issue and Commit Detail:</h2>
-<h3>Closed Issues:</h3>
-<ul>
-<li>1287: [bug]: channelstorage.c: Compilation failure with DEBUG_FD_LEAKS</li>
-<li>1288: [bug]: Crash when destroying channel with C++ alternative storage backend enabled</li>
-</ul>
-<h3>Commits By Author:</h3>
-<ul>
-<li>
-<h4>George Joseph (2):</h4>
-</li>
-<li>channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.</li>
-<li>channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.</li>
-</ul>
-<h3>Commit List:</h3>
-<ul>
-<li>channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.</li>
-<li>channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.</li>
-</ul>
-<h3>Commit Details:</h3>
-<h4>channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.</h4>
-<p>Author: George Joseph
- Date: 2025-07-08</p>
-<p>DEBUG_FD_LEAKS replaces calls to "open" and "close" with functions that keep
- track of file descriptors, even when those calls are actually callbacks
- defined in structures like ast_channelstorage_instance->open and don't touch
- file descriptors. This causes compilation failures. Those callbacks
- have been renamed to "open_instance" and "close_instance" respectively.</p>
-<p>Resolves: #1287</p>
-<h4>channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.</h4>
-<p>Author: George Joseph
- Date: 2025-07-09</p>
-<p>When the callback() API was invoked but no channel passed the test, callback
- would return the last channel tested instead of NULL. It now correctly
- returns NULL when no channel matches.</p>
-<p>Resolves: #1288</p>
-</body></html>
+++ /dev/null
-
-## Change Log for Release asterisk-21.10.0-rc3
-
-### Links:
-
- - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0-rc3.html)
- - [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.10.0-rc2...21.10.0-rc3)
- - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0-rc3.tar.gz)
- - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
-
-### Summary:
-
-- Commits: 2
-- Commit Authors: 1
-- Issues Resolved: 2
-- Security Advisories Resolved: 0
-
-### User Notes:
-
-
-### Upgrade Notes:
-
-
-### Commit Authors:
-
-- George Joseph: (2)
-
-## Issue and Commit Detail:
-
-### Closed Issues:
-
- - 1287: [bug]: channelstorage.c: Compilation failure with DEBUG_FD_LEAKS
- - 1288: [bug]: Crash when destroying channel with C++ alternative storage backend enabled
-
-### Commits By Author:
-
-- #### George Joseph (2):
- - channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.
- - channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.
-
-
-### Commit List:
-
-- channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.
-- channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.
-
-### Commit Details:
-
-#### channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.
- Author: George Joseph
- Date: 2025-07-08
-
- DEBUG_FD_LEAKS replaces calls to "open" and "close" with functions that keep
- track of file descriptors, even when those calls are actually callbacks
- defined in structures like ast_channelstorage_instance->open and don't touch
- file descriptors. This causes compilation failures. Those callbacks
- have been renamed to "open_instance" and "close_instance" respectively.
-
- Resolves: #1287
-
-#### channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.
- Author: George Joseph
- Date: 2025-07-09
-
- When the callback() API was invoked but no channel passed the test, callback
- would return the last channel tested instead of NULL. It now correctly
- returns NULL when no channel matches.
-
- Resolves: #1288
-
-<html><head><title>ChangeLog for asterisk-21.10.0-rc1</title></head><body>
-<h2>Change Log for Release asterisk-21.10.0-rc1</h2>
+<html><head><title>ChangeLog for asterisk-21.10.0</title></head><body>
+<h2>Change Log for Release asterisk-21.10.0</h2>
<h3>Links:</h3>
<ul>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0-rc1.html">Full ChangeLog</a> </li>
-<li><a href="https://github.com/asterisk/asterisk/compare/21.9.1...21.10.0-rc1">GitHub Diff</a> </li>
-<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0-rc1.tar.gz">Tarball</a> </li>
+<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0.html">Full ChangeLog</a> </li>
+<li><a href="https://github.com/asterisk/asterisk/compare/21.9.1...21.10.0">GitHub Diff</a> </li>
+<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0.tar.gz">Tarball</a> </li>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk">Downloads</a> </li>
</ul>
<h3>Summary:</h3>
<ul>
-<li>Commits: 25</li>
-<li>Commit Authors: 13</li>
-<li>Issues Resolved: 14</li>
+<li>Commits: 29</li>
+<li>Commit Authors: 14</li>
+<li>Issues Resolved: 19</li>
<li>Security Advisories Resolved: 1</li>
<li><a href="https://github.com/asterisk/asterisk/security/advisories/GHSA-c7p6-7mvq-8jq2">GHSA-c7p6-7mvq-8jq2</a>: cli_permissions.conf: deny option does not work for disallowing shell commands</li>
</ul>
</ul>
<h3>Commit Authors:</h3>
<ul>
-<li>George Joseph: (8)</li>
+<li>George Joseph: (10)</li>
<li>Itzanh: (1)</li>
<li>Jaco Kroon: (2)</li>
<li>Joe Searle: (1)</li>
+<li>Michal Hajek: (1)</li>
<li>Mike Bradeen: (2)</li>
<li>Mkmer: (1)</li>
<li>Nathan Monfils: (1)</li>
<li>Naveen Albert: (3)</li>
<li>Phoneben: (1)</li>
-<li>Sean Bright: (1)</li>
+<li>Sean Bright: (2)</li>
<li>Stanislav Abramenkov: (1)</li>
<li>Sven Kube: (2)</li>
<li>Thomas B. Clark: (1)</li>
<li>1254: [bug]: ActiveChannels not reported when using AMI command PJSIPShowEndpoint</li>
<li>1271: [bug]: STIR/SHAKEN not accepting port 8443 in certificate URLs</li>
<li>1272: [improvement]: STIR/SHAKEN handle X5U certificate chains</li>
+<li>1276: MixMonitor produces broken recordings in bridged calls with asymmetric codecs (e.g., alaw vs G.722)</li>
+<li>1279: [bug]: regression: 20.12.0 downgrades quality of wav16 recordings</li>
+<li>1282: [bug]: Alternate Channel Storage Backends menuselect not enabling it</li>
+<li>1287: [bug]: channelstorage.c: Compilation failure with DEBUG_FD_LEAKS</li>
+<li>1288: [bug]: Crash when destroying channel with C++ alternative storage backend enabled</li>
<li>ASTERISK-30373: sig_analog: Add Call Waiting Deluxe options</li>
</ul>
<h3>Commits By Author:</h3>
<ul>
<li>
-<h4>George Joseph (8):</h4>
+<h4>George Joseph (10):</h4>
</li>
<li>Alternate Channel Storage Backends</li>
<li>lock.h: Add include for string.h when DEBUG_THREADS is defined.</li>
<li>ARI Outbound Websockets</li>
<li>res_websocket_client: Add more info to the XML documentation.</li>
<li>res_stir_shaken: Add "ignore_sip_date_header" config option.</li>
+<li>res_stir_shaken.so: Handle X5U certificate chains.</li>
+<li>channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.</li>
<li>
-<p>res_stir_shaken.so: Handle X5U certificate chains.</p>
+<p>channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.</p>
</li>
<li>
<h4>Itzanh (1):</h4>
<p>pjproject: Increase maximum SDP formats and attribute limits</p>
</li>
<li>
+<h4>Michal Hajek (1):</h4>
+</li>
+<li>
+<p>audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..</p>
+</li>
+<li>
<h4>Mike Bradeen (2):</h4>
</li>
<li>chan_pjsip: Serialize INVITE creation on DTMF attended transfer</li>
<p>app_record: Add RECORDING_INFO function.</p>
</li>
<li>
-<h4>Sean Bright (1):</h4>
+<h4>Sean Bright (2):</h4>
</li>
+<li>res_pjsip: Fix empty <code>ActiveChannels</code> property in AMI responses.</li>
<li>
-<p>res_pjsip: Fix empty <code>ActiveChannels</code> property in AMI responses.</p>
+<p>channelstorage_makeopts.xml: Remove errant XML character.</p>
</li>
<li>
<h4>Stanislav Abramenkov (1):</h4>
</ul>
<h3>Commit List:</h3>
<ul>
+<li>channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.</li>
+<li>channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.</li>
+<li>channelstorage_makeopts.xml: Remove errant XML character.</li>
<li>res_stir_shaken.so: Handle X5U certificate chains.</li>
<li>res_stir_shaken: Add "ignore_sip_date_header" config option.</li>
<li>app_record: Add RECORDING_INFO function.</li>
<li>Alternate Channel Storage Backends</li>
</ul>
<h3>Commit Details:</h3>
+<h4>channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.</h4>
+<p>Author: George Joseph
+ Date: 2025-07-08</p>
+<p>DEBUG_FD_LEAKS replaces calls to "open" and "close" with functions that keep
+ track of file descriptors, even when those calls are actually callbacks
+ defined in structures like ast_channelstorage_instance->open and don't touch
+ file descriptors. This causes compilation failures. Those callbacks
+ have been renamed to "open_instance" and "close_instance" respectively.</p>
+<p>Resolves: #1287</p>
+<h4>channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.</h4>
+<p>Author: George Joseph
+ Date: 2025-07-09</p>
+<p>When the callback() API was invoked but no channel passed the test, callback
+ would return the last channel tested instead of NULL. It now correctly
+ returns NULL when no channel matches.</p>
+<p>Resolves: #1288</p>
+<h4>audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..</h4>
+<p>Author: Michal Hajek
+ Date: 2025-05-21</p>
+<p>This patch adjusts the read/write synchronization logic in audiohook_read_frame_both()
+ to better handle calls where participants use different codecs or sample sizes
+ (e.g., alaw vs G.722). The previous hard threshold of 2 * samples caused MixMonitor
+ recordings to break or stutter when frames were not aligned between both directions.</p>
+<p>The new logic uses a more tolerant limit (1.5 * samples), which prevents audio tearing
+ without causing excessive buffer overruns. This fix specifically addresses issues
+ with MixMonitor when recording directly on a channel in a bridge using mixed codecs.</p>
+<p>Reported-by: Michal Hajek <a href="mailto:michal.hajek@daktela.com">michal.hajek@daktela.com</a></p>
+<p>Resolves: #1276
+ Resolves: #1279</p>
+<h4>channelstorage_makeopts.xml: Remove errant XML character.</h4>
+<p>Author: Sean Bright
+ Date: 2025-06-30</p>
+<p>Resolves: #1282</p>
<h4>res_stir_shaken.so: Handle X5U certificate chains.</h4>
<p>Author: George Joseph
Date: 2025-06-18</p>
-## Change Log for Release asterisk-21.10.0-rc1
+## Change Log for Release asterisk-21.10.0
### Links:
- - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0-rc1.html)
- - [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.9.1...21.10.0-rc1)
- - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0-rc1.tar.gz)
+ - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.10.0.html)
+ - [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.9.1...21.10.0)
+ - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.10.0.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
-- Commits: 25
-- Commit Authors: 13
-- Issues Resolved: 14
+- Commits: 29
+- Commit Authors: 14
+- Issues Resolved: 19
- Security Advisories Resolved: 1
- [GHSA-c7p6-7mvq-8jq2](https://github.com/asterisk/asterisk/security/advisories/GHSA-c7p6-7mvq-8jq2): cli_permissions.conf: deny option does not work for disallowing shell commands
### Commit Authors:
-- George Joseph: (8)
+- George Joseph: (10)
- Itzanh: (1)
- Jaco Kroon: (2)
- Joe Searle: (1)
+- Michal Hajek: (1)
- Mike Bradeen: (2)
- Mkmer: (1)
- Nathan Monfils: (1)
- Naveen Albert: (3)
- Phoneben: (1)
-- Sean Bright: (1)
+- Sean Bright: (2)
- Stanislav Abramenkov: (1)
- Sven Kube: (2)
- Thomas B. Clark: (1)
- 1254: [bug]: ActiveChannels not reported when using AMI command PJSIPShowEndpoint
- 1271: [bug]: STIR/SHAKEN not accepting port 8443 in certificate URLs
- 1272: [improvement]: STIR/SHAKEN handle X5U certificate chains
+ - 1276: MixMonitor produces broken recordings in bridged calls with asymmetric codecs (e.g., alaw vs G.722)
+ - 1279: [bug]: regression: 20.12.0 downgrades quality of wav16 recordings
+ - 1282: [bug]: Alternate Channel Storage Backends menuselect not enabling it
+ - 1287: [bug]: channelstorage.c: Compilation failure with DEBUG_FD_LEAKS
+ - 1288: [bug]: Crash when destroying channel with C++ alternative storage backend enabled
- ASTERISK-30373: sig_analog: Add Call Waiting Deluxe options
### Commits By Author:
-- #### George Joseph (8):
+- #### George Joseph (10):
- Alternate Channel Storage Backends
- lock.h: Add include for string.h when DEBUG_THREADS is defined.
- asterisk.c: Add option to restrict shell access from remote consoles.
- res_websocket_client: Add more info to the XML documentation.
- res_stir_shaken: Add "ignore_sip_date_header" config option.
- res_stir_shaken.so: Handle X5U certificate chains.
+ - channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.
+ - channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.
- #### Itzanh (1):
- app_sms.c: Fix sending and receiving SMS messages in protocol 2
- #### Joe Searle (1):
- pjproject: Increase maximum SDP formats and attribute limits
+- #### Michal Hajek (1):
+ - audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..
+
- #### Mike Bradeen (2):
- chan_pjsip: Serialize INVITE creation on DTMF attended transfer
- res_pjsip_nat.c: Do not overwrite transfer host
- sig_analog: Add Call Waiting Deluxe support.
- app_record: Add RECORDING_INFO function.
-- #### Sean Bright (1):
+- #### Sean Bright (2):
- res_pjsip: Fix empty `ActiveChannels` property in AMI responses.
+ - channelstorage_makeopts.xml: Remove errant XML character.
- #### Stanislav Abramenkov (1):
- jansson: Upgrade version to jansson 2.14.1
### Commit List:
+- channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.
+- channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.
+- channelstorage_makeopts.xml: Remove errant XML character.
- res_stir_shaken.so: Handle X5U certificate chains.
- res_stir_shaken: Add "ignore_sip_date_header" config option.
- app_record: Add RECORDING_INFO function.
### Commit Details:
+#### channelstorage: Rename callbacks that conflict with DEBUG_FD_LEAKS.
+ Author: George Joseph
+ Date: 2025-07-08
+
+ DEBUG_FD_LEAKS replaces calls to "open" and "close" with functions that keep
+ track of file descriptors, even when those calls are actually callbacks
+ defined in structures like ast_channelstorage_instance->open and don't touch
+ file descriptors. This causes compilation failures. Those callbacks
+ have been renamed to "open_instance" and "close_instance" respectively.
+
+ Resolves: #1287
+
+#### channelstorage_cpp_map_name_id: Fix callback returning non-matching channels.
+ Author: George Joseph
+ Date: 2025-07-09
+
+ When the callback() API was invoked but no channel passed the test, callback
+ would return the last channel tested instead of NULL. It now correctly
+ returns NULL when no channel matches.
+
+ Resolves: #1288
+
+#### audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mix..
+ Author: Michal Hajek
+ Date: 2025-05-21
+
+ This patch adjusts the read/write synchronization logic in audiohook_read_frame_both()
+ to better handle calls where participants use different codecs or sample sizes
+ (e.g., alaw vs G.722). The previous hard threshold of 2 * samples caused MixMonitor
+ recordings to break or stutter when frames were not aligned between both directions.
+
+ The new logic uses a more tolerant limit (1.5 * samples), which prevents audio tearing
+ without causing excessive buffer overruns. This fix specifically addresses issues
+ with MixMonitor when recording directly on a channel in a bridge using mixed codecs.
+
+ Reported-by: Michal Hajek <michal.hajek@daktela.com>
+
+ Resolves: #1276
+ Resolves: #1279
+
+#### channelstorage_makeopts.xml: Remove errant XML character.
+ Author: Sean Bright
+ Date: 2025-06-30
+
+ Resolves: #1282
+
#### res_stir_shaken.so: Handle X5U certificate chains.
Author: George Joseph
Date: 2025-06-18
-<html><head><title>Readme for asterisk-21.10.0-rc3</title></head><body>
+<html><head><title>Readme for asterisk-21.10.0</title></head><body>
<h1>The Asterisk(R) Open Source PBX</h1>
<pre><code>By Mark Spencer <markster@digium.com> and the Asterisk.org developer community.
Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders.
<p>If you are updating from a previous version of Asterisk, make sure you
read the Change Logs.</p>
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
-<p><a href="ChangeLogs/ChangeLog-21.10.0-rc3.html">Change Logs</a></p>
+<p><a href="ChangeLogs/ChangeLog-21.10.0.html">Change Logs</a></p>
<!-- END-CHANGELOGS -->
<h3>NEW INSTALLATIONS</h3>
read the Change Logs.
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
-[Change Logs](ChangeLogs/ChangeLog-21.10.0-rc3.html)
+[Change Logs](ChangeLogs/ChangeLog-21.10.0.html)
<!-- END-CHANGELOGS -->
### NEW INSTALLATIONS