mirror of
https://github.com/asterisk/asterisk.git
synced 2025-12-01 02:31:55 +00:00
Update for 23.1.0
This commit is contained in:
@@ -1 +1 @@
|
|||||||
ChangeLogs/ChangeLog-23.1.0-rc2.html
|
ChangeLogs/ChangeLog-23.1.0.html
|
||||||
@@ -1 +1 @@
|
|||||||
ChangeLogs/ChangeLog-23.1.0-rc2.md
|
ChangeLogs/ChangeLog-23.1.0.md
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
<html><head><title>ChangeLog for asterisk-23.1.0-rc2</title></head><body>
|
|
||||||
<h2>Change Log for Release asterisk-23.1.0-rc2</h2>
|
|
||||||
<h3>Links:</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0-rc2.html">Full ChangeLog</a> </li>
|
|
||||||
<li><a href="https://github.com/asterisk/asterisk/compare/23.1.0-rc1...23.1.0-rc2">GitHub Diff</a> </li>
|
|
||||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.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: 1</li>
|
|
||||||
<li>Commit Authors: 1</li>
|
|
||||||
<li>Issues Resolved: 1</li>
|
|
||||||
<li>Security Advisories Resolved: 0</li>
|
|
||||||
</ul>
|
|
||||||
<h3>User Notes:</h3>
|
|
||||||
<h3>Upgrade Notes:</h3>
|
|
||||||
<h3>Developer Notes:</h3>
|
|
||||||
<h3>Commit Authors:</h3>
|
|
||||||
<ul>
|
|
||||||
<li>George Joseph: (1)</li>
|
|
||||||
</ul>
|
|
||||||
<h2>Issue and Commit Detail:</h2>
|
|
||||||
<h3>Closed Issues:</h3>
|
|
||||||
<ul>
|
|
||||||
<li>1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Commits By Author:</h3>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<h4>George Joseph (1):</h4>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Commit List:</h3>
|
|
||||||
<ul>
|
|
||||||
<li>channelstorage: Allow storage driver read locking to be skipped.</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Commit Details:</h3>
|
|
||||||
<h4>channelstorage: Allow storage driver read locking to be skipped.</h4>
|
|
||||||
<p>Author: George Joseph
|
|
||||||
Date: 2025-11-06</p>
|
|
||||||
<p>After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
|
|
||||||
channels/externalMedia was called with a custom channel id AND the
|
|
||||||
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
|
|
||||||
hanging up the channel. It's actually triggered in
|
|
||||||
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
|
|
||||||
channelstorage driver then subsequently does a lookup for channel uniqueid
|
|
||||||
which now does a read lock. This is an invalid operation and causes the lock
|
|
||||||
state to get "bad". When the channels try to hang up, a write lock is
|
|
||||||
attempted again which hangs and causes the deadlock.</p>
|
|
||||||
<p>Now instead of the cpp_map_name_id channelstorage driver "get" APIs
|
|
||||||
automatically performing a read lock, they take a "lock" parameter which
|
|
||||||
allows a caller who already has a write lock to indicate that the "get" API
|
|
||||||
must not attempt its own lock. This prevents the state from getting mesed up.</p>
|
|
||||||
<p>The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
|
|
||||||
have this issue but since it also implements the common channelstorage API,
|
|
||||||
it needed its "get" implementations updated to take the lock parameter. They
|
|
||||||
just don't use it.</p>
|
|
||||||
<p>Resolves: #1578</p>
|
|
||||||
</body></html>
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
|
|
||||||
## Change Log for Release asterisk-23.1.0-rc2
|
|
||||||
|
|
||||||
### Links:
|
|
||||||
|
|
||||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0-rc2.html)
|
|
||||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.1.0-rc1...23.1.0-rc2)
|
|
||||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0-rc2.tar.gz)
|
|
||||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
|
||||||
|
|
||||||
### Summary:
|
|
||||||
|
|
||||||
- Commits: 1
|
|
||||||
- Commit Authors: 1
|
|
||||||
- Issues Resolved: 1
|
|
||||||
- Security Advisories Resolved: 0
|
|
||||||
|
|
||||||
### User Notes:
|
|
||||||
|
|
||||||
|
|
||||||
### Upgrade Notes:
|
|
||||||
|
|
||||||
|
|
||||||
### Developer Notes:
|
|
||||||
|
|
||||||
|
|
||||||
### Commit Authors:
|
|
||||||
|
|
||||||
- George Joseph: (1)
|
|
||||||
|
|
||||||
## Issue and Commit Detail:
|
|
||||||
|
|
||||||
### Closed Issues:
|
|
||||||
|
|
||||||
- 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend
|
|
||||||
|
|
||||||
### Commits By Author:
|
|
||||||
|
|
||||||
- #### George Joseph (1):
|
|
||||||
|
|
||||||
### Commit List:
|
|
||||||
|
|
||||||
- channelstorage: Allow storage driver read locking to be skipped.
|
|
||||||
|
|
||||||
### Commit Details:
|
|
||||||
|
|
||||||
#### channelstorage: Allow storage driver read locking to be skipped.
|
|
||||||
Author: George Joseph
|
|
||||||
Date: 2025-11-06
|
|
||||||
|
|
||||||
After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
|
|
||||||
channels/externalMedia was called with a custom channel id AND the
|
|
||||||
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
|
|
||||||
hanging up the channel. It's actually triggered in
|
|
||||||
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
|
|
||||||
channelstorage driver then subsequently does a lookup for channel uniqueid
|
|
||||||
which now does a read lock. This is an invalid operation and causes the lock
|
|
||||||
state to get "bad". When the channels try to hang up, a write lock is
|
|
||||||
attempted again which hangs and causes the deadlock.
|
|
||||||
|
|
||||||
Now instead of the cpp_map_name_id channelstorage driver "get" APIs
|
|
||||||
automatically performing a read lock, they take a "lock" parameter which
|
|
||||||
allows a caller who already has a write lock to indicate that the "get" API
|
|
||||||
must not attempt its own lock. This prevents the state from getting mesed up.
|
|
||||||
|
|
||||||
The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
|
|
||||||
have this issue but since it also implements the common channelstorage API,
|
|
||||||
it needed its "get" implementations updated to take the lock parameter. They
|
|
||||||
just don't use it.
|
|
||||||
|
|
||||||
Resolves: #1578
|
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
<html><head><title>ChangeLog for asterisk-23.1.0-rc1</title></head><body>
|
<html><head><title>ChangeLog for asterisk-23.1.0</title></head><body>
|
||||||
<h2>Change Log for Release asterisk-23.1.0-rc1</h2>
|
<h2>Change Log for Release asterisk-23.1.0</h2>
|
||||||
<h3>Links:</h3>
|
<h3>Links:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0-rc1.html">Full ChangeLog</a> </li>
|
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0.html">Full ChangeLog</a> </li>
|
||||||
<li><a href="https://github.com/asterisk/asterisk/compare/23.0.0...23.1.0-rc1">GitHub Diff</a> </li>
|
<li><a href="https://github.com/asterisk/asterisk/compare/23.0.0...23.1.0">GitHub Diff</a> </li>
|
||||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0-rc1.tar.gz">Tarball</a> </li>
|
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0.tar.gz">Tarball</a> </li>
|
||||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk">Downloads</a> </li>
|
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk">Downloads</a> </li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Commits: 54</li>
|
<li>Commits: 53</li>
|
||||||
<li>Commit Authors: 17</li>
|
<li>Commit Authors: 17</li>
|
||||||
<li>Issues Resolved: 36</li>
|
<li>Issues Resolved: 37</li>
|
||||||
<li>Security Advisories Resolved: 0</li>
|
<li>Security Advisories Resolved: 0</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>User Notes:</h3>
|
<h3>User Notes:</h3>
|
||||||
@@ -57,15 +57,6 @@
|
|||||||
<h3>Upgrade Notes:</h3>
|
<h3>Upgrade Notes:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<h4>pjsip: Move from threadpool to taskpool</h4>
|
|
||||||
<p>The threadpool_* options in pjsip.conf have now
|
|
||||||
been deprecated though they continue to be read and used.
|
|
||||||
They have been replaced with taskpool options that give greater
|
|
||||||
control over the underlying taskpool used for PJSIP. An alembic
|
|
||||||
upgrade script has been added to add these options to realtime
|
|
||||||
as well.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<h4>app_queue.c: Fix error in Queue parameter documentation.</h4>
|
<h4>app_queue.c: Fix error in Queue parameter documentation.</h4>
|
||||||
<p>As part of Asterisk 21, macros were removed from Asterisk.
|
<p>As part of Asterisk 21, macros were removed from Asterisk.
|
||||||
This resulted in argument order changing for the Queue dialplan
|
This resulted in argument order changing for the Queue dialplan
|
||||||
@@ -120,18 +111,18 @@
|
|||||||
<li>Bastian Triller: (1)</li>
|
<li>Bastian Triller: (1)</li>
|
||||||
<li>Ben Ford: (2)</li>
|
<li>Ben Ford: (2)</li>
|
||||||
<li>Christoph Moench-Tegeder: (1)</li>
|
<li>Christoph Moench-Tegeder: (1)</li>
|
||||||
<li>Gauravs456: (1)</li>
|
<li>George Joseph: (9)</li>
|
||||||
<li>George Joseph: (8)</li>
|
|
||||||
<li>Igor Goncharovsky: (1)</li>
|
<li>Igor Goncharovsky: (1)</li>
|
||||||
<li>Joshua C. Colp: (8)</li>
|
<li>Joshua C. Colp: (6)</li>
|
||||||
<li>Max Grobecker: (1)</li>
|
<li>Max Grobecker: (1)</li>
|
||||||
<li>Nathan Monfils: (1)</li>
|
<li>Nathan Monfils: (1)</li>
|
||||||
<li>Naveen Albert: (18)</li>
|
<li>Naveen Albert: (18)</li>
|
||||||
<li>Phoneben: (2)</li>
|
|
||||||
<li>Roman Pertsev: (1)</li>
|
<li>Roman Pertsev: (1)</li>
|
||||||
<li>Sean Bright: (3)</li>
|
<li>Sean Bright: (3)</li>
|
||||||
<li>Sven Kube: (3)</li>
|
<li>Sven Kube: (3)</li>
|
||||||
<li>Tinet-Mucw: (1)</li>
|
<li>Tinet-mucw: (1)</li>
|
||||||
|
<li>gauravs456: (1)</li>
|
||||||
|
<li>phoneben: (2)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2>Issue and Commit Detail:</h2>
|
<h2>Issue and Commit Detail:</h2>
|
||||||
<h3>Closed Issues:</h3>
|
<h3>Closed Issues:</h3>
|
||||||
@@ -172,6 +163,7 @@
|
|||||||
<li>1544: [improvement]: While Receiving the MediaConnect Message Using External Media Over websocket ChannelID is Details are missing</li>
|
<li>1544: [improvement]: While Receiving the MediaConnect Message Using External Media Over websocket ChannelID is Details are missing</li>
|
||||||
<li>1554: [bug]: safe_asterisk recurses into subdirectories of startup.d after f97361</li>
|
<li>1554: [bug]: safe_asterisk recurses into subdirectories of startup.d after f97361</li>
|
||||||
<li>1559: [improvement]: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.</li>
|
<li>1559: [improvement]: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.</li>
|
||||||
|
<li>1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Commits By Author:</h3>
|
<h3>Commits By Author:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -196,9 +188,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<h4>Ben Ford (2):</h4>
|
<h4>Ben Ford (2):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>rtp_engine.c: Add exception for comfort noise payload.</li>
|
<li>app_queue.c: Fix error in Queue parameter documentation.</li>
|
||||||
<li>
|
<li>
|
||||||
<p>app_queue.c: Fix error in Queue parameter documentation.</p>
|
<p>rtp_engine.c: Add exception for comfort noise payload.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Christoph Moench-Tegeder (1):</h4>
|
<h4>Christoph Moench-Tegeder (1):</h4>
|
||||||
@@ -207,17 +199,18 @@
|
|||||||
<p>Fix Endianness detection in utils.h for non-Linux</p>
|
<p>Fix Endianness detection in utils.h for non-Linux</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>George Joseph (8):</h4>
|
<h4>George Joseph (9):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>ARI: The bridges play and record APIs now handle sample rates > 8K correctly.</li>
|
<li>channelstorage: Allow storage driver read locking to be skipped.</li>
|
||||||
<li>channelstorage_cpp_map_name_id: Add read locking around retrievals.</li>
|
<li>res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.</li>
|
||||||
<li>chan_websocket.c: Change payload references to command instead.</li>
|
|
||||||
<li>taskpool: Fix some references to threadpool that should be taskpool.</li>
|
|
||||||
<li>chan_pjsip: Add technology-specific off-nominal hangup cause to events.</li>
|
|
||||||
<li>safe_asterisk: Fix logging and sorting issue.</li>
|
|
||||||
<li>chan_pjsip: Disable SSRC change for WebRTC endpoints.</li>
|
<li>chan_pjsip: Disable SSRC change for WebRTC endpoints.</li>
|
||||||
|
<li>safe_asterisk: Fix logging and sorting issue.</li>
|
||||||
|
<li>chan_pjsip: Add technology-specific off-nominal hangup cause to events.</li>
|
||||||
|
<li>taskpool: Fix some references to threadpool that should be taskpool.</li>
|
||||||
|
<li>chan_websocket.c: Change payload references to command instead.</li>
|
||||||
|
<li>channelstorage_cpp_map_name_id: Add read locking around retrievals.</li>
|
||||||
<li>
|
<li>
|
||||||
<p>res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.</p>
|
<p>ARI: The bridges play and record APIs now handle sample rates > 8K correctly.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Igor Goncharovsky (1):</h4>
|
<h4>Igor Goncharovsky (1):</h4>
|
||||||
@@ -226,17 +219,15 @@
|
|||||||
<p>func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()</p>
|
<p>func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Joshua C. Colp (8):</h4>
|
<h4>Joshua C. Colp (6):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>taskpool: Add taskpool API, switch Stasis to using it.</li>
|
|
||||||
<li>taskpool: Update versions for taskpool stasis options.</li>
|
|
||||||
<li>sorcery: Move from threadpool to taskpool.</li>
|
|
||||||
<li>app_queue: Allow stasis message filtering to work.</li>
|
|
||||||
<li>endpoints: Remove need for stasis subscription.</li>
|
|
||||||
<li>devicestate: Don't publish redundant device state messages.</li>
|
<li>devicestate: Don't publish redundant device state messages.</li>
|
||||||
<li>pjsip: Move from threadpool to taskpool</li>
|
<li>endpoints: Remove need for stasis subscription.</li>
|
||||||
|
<li>app_queue: Allow stasis message filtering to work.</li>
|
||||||
|
<li>sorcery: Move from threadpool to taskpool.</li>
|
||||||
|
<li>taskpool: Update versions for taskpool stasis options.</li>
|
||||||
<li>
|
<li>
|
||||||
<p>Revert "pjsip: Move from threadpool to taskpool"</p>
|
<p>taskpool: Add taskpool API, switch Stasis to using it.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Max Grobecker (1):</h4>
|
<h4>Max Grobecker (1):</h4>
|
||||||
@@ -253,25 +244,25 @@
|
|||||||
<li>
|
<li>
|
||||||
<h4>Naveen Albert (18):</h4>
|
<h4>Naveen Albert (18):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>pbx_variables.c: Create real channel for "dialplan eval function".</li>
|
<li>func_callerid: Document limitation of DNID fields.</li>
|
||||||
<li>res_cliexec: Remove unnecessary casts to char*.</li>
|
|
||||||
<li>app_adsiprog: Fix possible NULL dereference.</li>
|
|
||||||
<li>chan_dahdi: Add DAHDI_CHANNEL function.</li>
|
|
||||||
<li>sig_analog: Eliminate potential timeout with Last Number Redial.</li>
|
|
||||||
<li>func_scramble: Add example to XML documentation.</li>
|
|
||||||
<li>config_options.c: Improve misleading warning.</li>
|
|
||||||
<li>dsp.c: Make minor fixes to debug log messages.</li>
|
|
||||||
<li>app_dial: Allow fractional seconds for dial timeouts.</li>
|
|
||||||
<li>res_fax: Add XML documentation for channel variables.</li>
|
|
||||||
<li>res_tonedetect: Fix formatting of XML documentation.</li>
|
|
||||||
<li>codec_builtin.c: Adjust some of the quality scores to reflect reality.</li>
|
|
||||||
<li>app_sf: Add post-digit timer option to ReceiveSF.</li>
|
|
||||||
<li>func_math: Add DIGIT_SUM function.</li>
|
|
||||||
<li>sig_analog: Allow '#' to end the inter-digit timeout when dialing.</li>
|
|
||||||
<li>core_unreal: Preserve ADSI capability when dialing Local channels.</li>
|
|
||||||
<li>func_channel: Allow R/W of ADSI CPE capability setting.</li>
|
<li>func_channel: Allow R/W of ADSI CPE capability setting.</li>
|
||||||
|
<li>core_unreal: Preserve ADSI capability when dialing Local channels.</li>
|
||||||
|
<li>sig_analog: Allow '#' to end the inter-digit timeout when dialing.</li>
|
||||||
|
<li>func_math: Add DIGIT_SUM function.</li>
|
||||||
|
<li>app_sf: Add post-digit timer option to ReceiveSF.</li>
|
||||||
|
<li>codec_builtin.c: Adjust some of the quality scores to reflect reality.</li>
|
||||||
|
<li>res_tonedetect: Fix formatting of XML documentation.</li>
|
||||||
|
<li>res_fax: Add XML documentation for channel variables.</li>
|
||||||
|
<li>app_dial: Allow fractional seconds for dial timeouts.</li>
|
||||||
|
<li>dsp.c: Make minor fixes to debug log messages.</li>
|
||||||
|
<li>config_options.c: Improve misleading warning.</li>
|
||||||
|
<li>func_scramble: Add example to XML documentation.</li>
|
||||||
|
<li>sig_analog: Eliminate potential timeout with Last Number Redial.</li>
|
||||||
|
<li>chan_dahdi: Add DAHDI_CHANNEL function.</li>
|
||||||
|
<li>app_adsiprog: Fix possible NULL dereference.</li>
|
||||||
|
<li>res_cliexec: Remove unnecessary casts to char*.</li>
|
||||||
<li>
|
<li>
|
||||||
<p>func_callerid: Document limitation of DNID fields.</p>
|
<p>pbx_variables.c: Create real channel for "dialplan eval function".</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Roman Pertsev (1):</h4>
|
<h4>Roman Pertsev (1):</h4>
|
||||||
@@ -282,45 +273,46 @@
|
|||||||
<li>
|
<li>
|
||||||
<h4>Sean Bright (3):</h4>
|
<h4>Sean Bright (3):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>audiohook.c: Ensure correct AO2 reference is dereffed.</li>
|
<li>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</li>
|
||||||
<li>app_externalivr: Prevent out-of-bounds read during argument processing.</li>
|
<li>app_externalivr: Prevent out-of-bounds read during argument processing.</li>
|
||||||
<li>
|
<li>
|
||||||
<p>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</p>
|
<p>audiohook.c: Ensure correct AO2 reference is dereffed.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Sven Kube (3):</h4>
|
<h4>Sven Kube (3):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..</li>
|
<li>res_audiosocket: add message types for all slin sample rates</li>
|
||||||
<li>stasis_channels.c: Make protocol_id optional to enable blind transfer via ari</li>
|
<li>stasis_channels.c: Make protocol_id optional to enable blind transfer via ari</li>
|
||||||
<li>
|
<li>
|
||||||
<p>res_audiosocket: add message types for all slin sample rates</p>
|
<p>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>Tinet-mucw (1):</h4>
|
<h4>Tinet-mucw (1):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p>iostream.c: Handle TLS handshake attacks in order to resolve the issue of exce..</p>
|
<p>iostream.c: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>gauravs456 (1):</h4>
|
<h4>gauravs456 (1):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p>chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END even..</p>
|
<p>chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END events.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4>phoneben (2):</h4>
|
<h4>phoneben (2):</h4>
|
||||||
</li>
|
</li>
|
||||||
<li>app_queue: Add NULL pointer checks in app_queue</li>
|
|
||||||
<li>res_fax.c: lower FAXOPT read warning to debug level</li>
|
<li>res_fax.c: lower FAXOPT read warning to debug level</li>
|
||||||
|
<li>app_queue: Add NULL pointer checks in app_queue</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Commit List:</h3>
|
<h3>Commit List:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>channelstorage: Allow storage driver read locking to be skipped.</li>
|
||||||
<li>res_audiosocket: fix temporarily unavailable</li>
|
<li>res_audiosocket: fix temporarily unavailable</li>
|
||||||
<li>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</li>
|
<li>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</li>
|
||||||
<li>res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.</li>
|
<li>res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.</li>
|
||||||
<li>Revert "pjsip: Move from threadpool to taskpool"</li>
|
<li>iostream.c: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.</li>
|
||||||
<li>chan_pjsip: Disable SSRC change for WebRTC endpoints.</li>
|
<li>chan_pjsip: Disable SSRC change for WebRTC endpoints.</li>
|
||||||
<li>pjsip: Move from threadpool to taskpool</li>
|
<li>chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END events.</li>
|
||||||
<li>safe_asterisk: Fix logging and sorting issue.</li>
|
<li>safe_asterisk: Fix logging and sorting issue.</li>
|
||||||
<li>Fix Endianness detection in utils.h for non-Linux</li>
|
<li>Fix Endianness detection in utils.h for non-Linux</li>
|
||||||
<li>app_queue.c: Fix error in Queue parameter documentation.</li>
|
<li>app_queue.c: Fix error in Queue parameter documentation.</li>
|
||||||
@@ -355,6 +347,7 @@
|
|||||||
<li>stasis_channels.c: Make protocol_id optional to enable blind transfer via ari</li>
|
<li>stasis_channels.c: Make protocol_id optional to enable blind transfer via ari</li>
|
||||||
<li>config.c: fix saving of deep/wide template configurations</li>
|
<li>config.c: fix saving of deep/wide template configurations</li>
|
||||||
<li>Fix some doxygen, typos and whitespace</li>
|
<li>Fix some doxygen, typos and whitespace</li>
|
||||||
|
<li>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create</li>
|
||||||
<li>app_queue: Add NULL pointer checks in app_queue</li>
|
<li>app_queue: Add NULL pointer checks in app_queue</li>
|
||||||
<li>app_externalivr: Prevent out-of-bounds read during argument processing.</li>
|
<li>app_externalivr: Prevent out-of-bounds read during argument processing.</li>
|
||||||
<li>chan_dahdi: Add DAHDI_CHANNEL function.</li>
|
<li>chan_dahdi: Add DAHDI_CHANNEL function.</li>
|
||||||
@@ -368,6 +361,27 @@
|
|||||||
<li>pbx_variables.c: Create real channel for "dialplan eval function".</li>
|
<li>pbx_variables.c: Create real channel for "dialplan eval function".</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Commit Details:</h3>
|
<h3>Commit Details:</h3>
|
||||||
|
<h4>channelstorage: Allow storage driver read locking to be skipped.</h4>
|
||||||
|
<p>Author: George Joseph
|
||||||
|
Date: 2025-11-06</p>
|
||||||
|
<p>After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
|
||||||
|
channels/externalMedia was called with a custom channel id AND the
|
||||||
|
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
|
||||||
|
hanging up the channel. It's actually triggered in
|
||||||
|
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
|
||||||
|
channelstorage driver then subsequently does a lookup for channel uniqueid
|
||||||
|
which now does a read lock. This is an invalid operation and causes the lock
|
||||||
|
state to get "bad". When the channels try to hang up, a write lock is
|
||||||
|
attempted again which hangs and causes the deadlock.</p>
|
||||||
|
<p>Now instead of the cpp_map_name_id channelstorage driver "get" APIs
|
||||||
|
automatically performing a read lock, they take a "lock" parameter which
|
||||||
|
allows a caller who already has a write lock to indicate that the "get" API
|
||||||
|
must not attempt its own lock. This prevents the state from getting mesed up.</p>
|
||||||
|
<p>The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
|
||||||
|
have this issue but since it also implements the common channelstorage API,
|
||||||
|
it needed its "get" implementations updated to take the lock parameter. They
|
||||||
|
just don't use it.</p>
|
||||||
|
<p>Resolves: #1578</p>
|
||||||
<h4>res_audiosocket: fix temporarily unavailable</h4>
|
<h4>res_audiosocket: fix temporarily unavailable</h4>
|
||||||
<p>Author: Roman Pertsev
|
<p>Author: Roman Pertsev
|
||||||
Date: 2025-10-07</p>
|
Date: 2025-10-07</p>
|
||||||
@@ -401,11 +415,7 @@
|
|||||||
<p>UserNote: The STIR_SHAKEN_ATTESTATION dialplan function has been added
|
<p>UserNote: The STIR_SHAKEN_ATTESTATION dialplan function has been added
|
||||||
which will allow suppressing attestation on a call-by-call basis
|
which will allow suppressing attestation on a call-by-call basis
|
||||||
regardless of the profile attached to the outgoing endpoint.</p>
|
regardless of the profile attached to the outgoing endpoint.</p>
|
||||||
<h4>Revert "pjsip: Move from threadpool to taskpool"</h4>
|
<h4>iostream.c: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.</h4>
|
||||||
<p>Author: Joshua C. Colp
|
|
||||||
Date: 2025-10-27</p>
|
|
||||||
<p>This reverts commit bb6b76c2d8239b2665223dcbf6d507aa9aa4534e.</p>
|
|
||||||
<h4>iostream.c: Handle TLS handshake attacks in order to resolve the issue of exce..</h4>
|
|
||||||
<p>Author: Tinet-mucw
|
<p>Author: Tinet-mucw
|
||||||
Date: 2025-10-26</p>
|
Date: 2025-10-26</p>
|
||||||
<p>The TCP three-way handshake completes, but if the server is under a TLS handshake attack, asterisk will get stuck at SSL_do_handshake().
|
<p>The TCP three-way handshake completes, but if the server is under a TLS handshake attack, asterisk will get stuck at SSL_do_handshake().
|
||||||
@@ -419,27 +429,10 @@
|
|||||||
clients that are sensitive to SSRC changes and non-monotonic timestamps so
|
clients that are sensitive to SSRC changes and non-monotonic timestamps so
|
||||||
the fix is now disabled for endpoints with the "bundle" parameter set to true.</p>
|
the fix is now disabled for endpoints with the "bundle" parameter set to true.</p>
|
||||||
<p>Resolves: #1535</p>
|
<p>Resolves: #1535</p>
|
||||||
<h4>chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END even..</h4>
|
<h4>chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END events.</h4>
|
||||||
<p>Author: gauravs456
|
<p>Author: gauravs456
|
||||||
Date: 2025-10-21</p>
|
Date: 2025-10-21</p>
|
||||||
<p>Resolves: #1544</p>
|
<p>Resolves: #1544</p>
|
||||||
<h4>pjsip: Move from threadpool to taskpool</h4>
|
|
||||||
<p>Author: Joshua C. Colp
|
|
||||||
Date: 2025-09-23</p>
|
|
||||||
<p>This change moves the PJSIP module from the threadpool API
|
|
||||||
to the taskpool API. PJSIP-specific implementations for
|
|
||||||
task usage have been removed and replaced with calls to
|
|
||||||
the optimized taskpool implementations instead. The need
|
|
||||||
for a pool of serializers has also been removed as
|
|
||||||
taskpool inherently provides this. The default settings
|
|
||||||
have also been changed to be more realistic for common
|
|
||||||
usage.</p>
|
|
||||||
<p>UpgradeNote: The threadpool_* options in pjsip.conf have now
|
|
||||||
been deprecated though they continue to be read and used.
|
|
||||||
They have been replaced with taskpool options that give greater
|
|
||||||
control over the underlying taskpool used for PJSIP. An alembic
|
|
||||||
upgrade script has been added to add these options to realtime
|
|
||||||
as well.</p>
|
|
||||||
<h4>safe_asterisk: Fix logging and sorting issue.</h4>
|
<h4>safe_asterisk: Fix logging and sorting issue.</h4>
|
||||||
<p>Author: George Joseph
|
<p>Author: George Joseph
|
||||||
Date: 2025-10-17</p>
|
Date: 2025-10-17</p>
|
||||||
@@ -814,7 +807,7 @@
|
|||||||
<h4>Fix some doxygen, typos and whitespace</h4>
|
<h4>Fix some doxygen, typos and whitespace</h4>
|
||||||
<p>Author: Bastian Triller
|
<p>Author: Bastian Triller
|
||||||
Date: 2025-09-21</p>
|
Date: 2025-09-21</p>
|
||||||
<h4>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..</h4>
|
<h4>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create</h4>
|
||||||
<p>Author: Sven Kube
|
<p>Author: Sven Kube
|
||||||
Date: 2025-09-18</p>
|
Date: 2025-09-18</p>
|
||||||
<p>When handling SIP transfers via ARI, the <code>referred_by</code> field in
|
<p>When handling SIP transfers via ARI, the <code>referred_by</code> field in
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
|
|
||||||
## Change Log for Release asterisk-23.1.0-rc1
|
## Change Log for Release asterisk-23.1.0
|
||||||
|
|
||||||
### Links:
|
### Links:
|
||||||
|
|
||||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0-rc1.html)
|
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0.html)
|
||||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.0.0...23.1.0-rc1)
|
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.0.0...23.1.0)
|
||||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0-rc1.tar.gz)
|
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0.tar.gz)
|
||||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||||
|
|
||||||
### Summary:
|
### Summary:
|
||||||
|
|
||||||
- Commits: 54
|
- Commits: 53
|
||||||
- Commit Authors: 17
|
- Commit Authors: 17
|
||||||
- Issues Resolved: 36
|
- Issues Resolved: 37
|
||||||
- Security Advisories Resolved: 0
|
- Security Advisories Resolved: 0
|
||||||
|
|
||||||
### User Notes:
|
### User Notes:
|
||||||
@@ -50,14 +50,6 @@
|
|||||||
|
|
||||||
### Upgrade Notes:
|
### Upgrade Notes:
|
||||||
|
|
||||||
- #### pjsip: Move from threadpool to taskpool
|
|
||||||
The threadpool_* options in pjsip.conf have now
|
|
||||||
been deprecated though they continue to be read and used.
|
|
||||||
They have been replaced with taskpool options that give greater
|
|
||||||
control over the underlying taskpool used for PJSIP. An alembic
|
|
||||||
upgrade script has been added to add these options to realtime
|
|
||||||
as well.
|
|
||||||
|
|
||||||
- #### app_queue.c: Fix error in Queue parameter documentation.
|
- #### app_queue.c: Fix error in Queue parameter documentation.
|
||||||
As part of Asterisk 21, macros were removed from Asterisk.
|
As part of Asterisk 21, macros were removed from Asterisk.
|
||||||
This resulted in argument order changing for the Queue dialplan
|
This resulted in argument order changing for the Queue dialplan
|
||||||
@@ -107,18 +99,18 @@
|
|||||||
- Bastian Triller: (1)
|
- Bastian Triller: (1)
|
||||||
- Ben Ford: (2)
|
- Ben Ford: (2)
|
||||||
- Christoph Moench-Tegeder: (1)
|
- Christoph Moench-Tegeder: (1)
|
||||||
- Gauravs456: (1)
|
- George Joseph: (9)
|
||||||
- George Joseph: (8)
|
|
||||||
- Igor Goncharovsky: (1)
|
- Igor Goncharovsky: (1)
|
||||||
- Joshua C. Colp: (8)
|
- Joshua C. Colp: (6)
|
||||||
- Max Grobecker: (1)
|
- Max Grobecker: (1)
|
||||||
- Nathan Monfils: (1)
|
- Nathan Monfils: (1)
|
||||||
- Naveen Albert: (18)
|
- Naveen Albert: (18)
|
||||||
- Phoneben: (2)
|
|
||||||
- Roman Pertsev: (1)
|
- Roman Pertsev: (1)
|
||||||
- Sean Bright: (3)
|
- Sean Bright: (3)
|
||||||
- Sven Kube: (3)
|
- Sven Kube: (3)
|
||||||
- Tinet-Mucw: (1)
|
- Tinet-mucw: (1)
|
||||||
|
- gauravs456: (1)
|
||||||
|
- phoneben: (2)
|
||||||
|
|
||||||
## Issue and Commit Detail:
|
## Issue and Commit Detail:
|
||||||
|
|
||||||
@@ -160,6 +152,7 @@
|
|||||||
- 1544: [improvement]: While Receiving the MediaConnect Message Using External Media Over websocket ChannelID is Details are missing
|
- 1544: [improvement]: While Receiving the MediaConnect Message Using External Media Over websocket ChannelID is Details are missing
|
||||||
- 1554: [bug]: safe_asterisk recurses into subdirectories of startup.d after f97361
|
- 1554: [bug]: safe_asterisk recurses into subdirectories of startup.d after f97361
|
||||||
- 1559: [improvement]: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.
|
- 1559: [improvement]: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.
|
||||||
|
- 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend
|
||||||
|
|
||||||
### Commits By Author:
|
### Commits By Author:
|
||||||
|
|
||||||
@@ -173,34 +166,33 @@
|
|||||||
- Fix some doxygen, typos and whitespace
|
- Fix some doxygen, typos and whitespace
|
||||||
|
|
||||||
- #### Ben Ford (2):
|
- #### Ben Ford (2):
|
||||||
- rtp_engine.c: Add exception for comfort noise payload.
|
|
||||||
- app_queue.c: Fix error in Queue parameter documentation.
|
- app_queue.c: Fix error in Queue parameter documentation.
|
||||||
|
- rtp_engine.c: Add exception for comfort noise payload.
|
||||||
|
|
||||||
- #### Christoph Moench-Tegeder (1):
|
- #### Christoph Moench-Tegeder (1):
|
||||||
- Fix Endianness detection in utils.h for non-Linux
|
- Fix Endianness detection in utils.h for non-Linux
|
||||||
|
|
||||||
- #### George Joseph (8):
|
- #### George Joseph (9):
|
||||||
- ARI: The bridges play and record APIs now handle sample rates > 8K correctly.
|
- channelstorage: Allow storage driver read locking to be skipped.
|
||||||
- channelstorage_cpp_map_name_id: Add read locking around retrievals.
|
|
||||||
- chan_websocket.c: Change payload references to command instead.
|
|
||||||
- taskpool: Fix some references to threadpool that should be taskpool.
|
|
||||||
- chan_pjsip: Add technology-specific off-nominal hangup cause to events.
|
|
||||||
- safe_asterisk: Fix logging and sorting issue.
|
|
||||||
- chan_pjsip: Disable SSRC change for WebRTC endpoints.
|
|
||||||
- res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.
|
- res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.
|
||||||
|
- chan_pjsip: Disable SSRC change for WebRTC endpoints.
|
||||||
|
- safe_asterisk: Fix logging and sorting issue.
|
||||||
|
- chan_pjsip: Add technology-specific off-nominal hangup cause to events.
|
||||||
|
- taskpool: Fix some references to threadpool that should be taskpool.
|
||||||
|
- chan_websocket.c: Change payload references to command instead.
|
||||||
|
- channelstorage_cpp_map_name_id: Add read locking around retrievals.
|
||||||
|
- ARI: The bridges play and record APIs now handle sample rates > 8K correctly.
|
||||||
|
|
||||||
- #### Igor Goncharovsky (1):
|
- #### Igor Goncharovsky (1):
|
||||||
- func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()
|
- func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()
|
||||||
|
|
||||||
- #### Joshua C. Colp (8):
|
- #### Joshua C. Colp (6):
|
||||||
- taskpool: Add taskpool API, switch Stasis to using it.
|
|
||||||
- taskpool: Update versions for taskpool stasis options.
|
|
||||||
- sorcery: Move from threadpool to taskpool.
|
|
||||||
- app_queue: Allow stasis message filtering to work.
|
|
||||||
- endpoints: Remove need for stasis subscription.
|
|
||||||
- devicestate: Don't publish redundant device state messages.
|
- devicestate: Don't publish redundant device state messages.
|
||||||
- pjsip: Move from threadpool to taskpool
|
- endpoints: Remove need for stasis subscription.
|
||||||
- Revert "pjsip: Move from threadpool to taskpool"
|
- app_queue: Allow stasis message filtering to work.
|
||||||
|
- sorcery: Move from threadpool to taskpool.
|
||||||
|
- taskpool: Update versions for taskpool stasis options.
|
||||||
|
- taskpool: Add taskpool API, switch Stasis to using it.
|
||||||
|
|
||||||
- #### Max Grobecker (1):
|
- #### Max Grobecker (1):
|
||||||
- res_pjsip_geolocation: Add support for Geolocation loc-src parameter
|
- res_pjsip_geolocation: Add support for Geolocation loc-src parameter
|
||||||
@@ -209,57 +201,57 @@
|
|||||||
- manager.c: Fix presencestate object leak
|
- manager.c: Fix presencestate object leak
|
||||||
|
|
||||||
- #### Naveen Albert (18):
|
- #### Naveen Albert (18):
|
||||||
- pbx_variables.c: Create real channel for "dialplan eval function".
|
|
||||||
- res_cliexec: Remove unnecessary casts to char*.
|
|
||||||
- app_adsiprog: Fix possible NULL dereference.
|
|
||||||
- chan_dahdi: Add DAHDI_CHANNEL function.
|
|
||||||
- sig_analog: Eliminate potential timeout with Last Number Redial.
|
|
||||||
- func_scramble: Add example to XML documentation.
|
|
||||||
- config_options.c: Improve misleading warning.
|
|
||||||
- dsp.c: Make minor fixes to debug log messages.
|
|
||||||
- app_dial: Allow fractional seconds for dial timeouts.
|
|
||||||
- res_fax: Add XML documentation for channel variables.
|
|
||||||
- res_tonedetect: Fix formatting of XML documentation.
|
|
||||||
- codec_builtin.c: Adjust some of the quality scores to reflect reality.
|
|
||||||
- app_sf: Add post-digit timer option to ReceiveSF.
|
|
||||||
- func_math: Add DIGIT_SUM function.
|
|
||||||
- sig_analog: Allow '#' to end the inter-digit timeout when dialing.
|
|
||||||
- core_unreal: Preserve ADSI capability when dialing Local channels.
|
|
||||||
- func_channel: Allow R/W of ADSI CPE capability setting.
|
|
||||||
- func_callerid: Document limitation of DNID fields.
|
- func_callerid: Document limitation of DNID fields.
|
||||||
|
- func_channel: Allow R/W of ADSI CPE capability setting.
|
||||||
|
- core_unreal: Preserve ADSI capability when dialing Local channels.
|
||||||
|
- sig_analog: Allow '#' to end the inter-digit timeout when dialing.
|
||||||
|
- func_math: Add DIGIT_SUM function.
|
||||||
|
- app_sf: Add post-digit timer option to ReceiveSF.
|
||||||
|
- codec_builtin.c: Adjust some of the quality scores to reflect reality.
|
||||||
|
- res_tonedetect: Fix formatting of XML documentation.
|
||||||
|
- res_fax: Add XML documentation for channel variables.
|
||||||
|
- app_dial: Allow fractional seconds for dial timeouts.
|
||||||
|
- dsp.c: Make minor fixes to debug log messages.
|
||||||
|
- config_options.c: Improve misleading warning.
|
||||||
|
- func_scramble: Add example to XML documentation.
|
||||||
|
- sig_analog: Eliminate potential timeout with Last Number Redial.
|
||||||
|
- chan_dahdi: Add DAHDI_CHANNEL function.
|
||||||
|
- app_adsiprog: Fix possible NULL dereference.
|
||||||
|
- res_cliexec: Remove unnecessary casts to char*.
|
||||||
|
- pbx_variables.c: Create real channel for "dialplan eval function".
|
||||||
|
|
||||||
- #### Roman Pertsev (1):
|
- #### Roman Pertsev (1):
|
||||||
- res_audiosocket: fix temporarily unavailable
|
- res_audiosocket: fix temporarily unavailable
|
||||||
|
|
||||||
- #### Sean Bright (3):
|
- #### Sean Bright (3):
|
||||||
- audiohook.c: Ensure correct AO2 reference is dereffed.
|
|
||||||
- app_externalivr: Prevent out-of-bounds read during argument processing.
|
|
||||||
- safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
- safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
||||||
|
- app_externalivr: Prevent out-of-bounds read during argument processing.
|
||||||
|
- audiohook.c: Ensure correct AO2 reference is dereffed.
|
||||||
|
|
||||||
- #### Sven Kube (3):
|
- #### Sven Kube (3):
|
||||||
- stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..
|
|
||||||
- stasis_channels.c: Make protocol_id optional to enable blind transfer via ari
|
|
||||||
- res_audiosocket: add message types for all slin sample rates
|
- res_audiosocket: add message types for all slin sample rates
|
||||||
|
- stasis_channels.c: Make protocol_id optional to enable blind transfer via ari
|
||||||
|
- stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create
|
||||||
|
|
||||||
- #### Tinet-mucw (1):
|
- #### Tinet-mucw (1):
|
||||||
- iostream.c: Handle TLS handshake attacks in order to resolve the issue of exce..
|
- iostream.c: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.
|
||||||
|
|
||||||
- #### gauravs456 (1):
|
- #### gauravs456 (1):
|
||||||
- chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END even..
|
- chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END events.
|
||||||
|
|
||||||
- #### phoneben (2):
|
- #### phoneben (2):
|
||||||
- app_queue: Add NULL pointer checks in app_queue
|
|
||||||
- res_fax.c: lower FAXOPT read warning to debug level
|
- res_fax.c: lower FAXOPT read warning to debug level
|
||||||
|
- app_queue: Add NULL pointer checks in app_queue
|
||||||
|
|
||||||
### Commit List:
|
### Commit List:
|
||||||
|
|
||||||
|
- channelstorage: Allow storage driver read locking to be skipped.
|
||||||
- res_audiosocket: fix temporarily unavailable
|
- res_audiosocket: fix temporarily unavailable
|
||||||
- safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
- safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
||||||
- res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.
|
- res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.
|
||||||
- Revert "pjsip: Move from threadpool to taskpool"
|
- iostream.c: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.
|
||||||
- chan_pjsip: Disable SSRC change for WebRTC endpoints.
|
- chan_pjsip: Disable SSRC change for WebRTC endpoints.
|
||||||
- pjsip: Move from threadpool to taskpool
|
- chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END events.
|
||||||
- safe_asterisk: Fix logging and sorting issue.
|
- safe_asterisk: Fix logging and sorting issue.
|
||||||
- Fix Endianness detection in utils.h for non-Linux
|
- Fix Endianness detection in utils.h for non-Linux
|
||||||
- app_queue.c: Fix error in Queue parameter documentation.
|
- app_queue.c: Fix error in Queue parameter documentation.
|
||||||
@@ -294,6 +286,7 @@
|
|||||||
- stasis_channels.c: Make protocol_id optional to enable blind transfer via ari
|
- stasis_channels.c: Make protocol_id optional to enable blind transfer via ari
|
||||||
- config.c: fix saving of deep/wide template configurations
|
- config.c: fix saving of deep/wide template configurations
|
||||||
- Fix some doxygen, typos and whitespace
|
- Fix some doxygen, typos and whitespace
|
||||||
|
- stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create
|
||||||
- app_queue: Add NULL pointer checks in app_queue
|
- app_queue: Add NULL pointer checks in app_queue
|
||||||
- app_externalivr: Prevent out-of-bounds read during argument processing.
|
- app_externalivr: Prevent out-of-bounds read during argument processing.
|
||||||
- chan_dahdi: Add DAHDI_CHANNEL function.
|
- chan_dahdi: Add DAHDI_CHANNEL function.
|
||||||
@@ -308,6 +301,32 @@
|
|||||||
|
|
||||||
### Commit Details:
|
### Commit Details:
|
||||||
|
|
||||||
|
#### channelstorage: Allow storage driver read locking to be skipped.
|
||||||
|
Author: George Joseph
|
||||||
|
Date: 2025-11-06
|
||||||
|
|
||||||
|
After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
|
||||||
|
channels/externalMedia was called with a custom channel id AND the
|
||||||
|
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
|
||||||
|
hanging up the channel. It's actually triggered in
|
||||||
|
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
|
||||||
|
channelstorage driver then subsequently does a lookup for channel uniqueid
|
||||||
|
which now does a read lock. This is an invalid operation and causes the lock
|
||||||
|
state to get "bad". When the channels try to hang up, a write lock is
|
||||||
|
attempted again which hangs and causes the deadlock.
|
||||||
|
|
||||||
|
Now instead of the cpp_map_name_id channelstorage driver "get" APIs
|
||||||
|
automatically performing a read lock, they take a "lock" parameter which
|
||||||
|
allows a caller who already has a write lock to indicate that the "get" API
|
||||||
|
must not attempt its own lock. This prevents the state from getting mesed up.
|
||||||
|
|
||||||
|
The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
|
||||||
|
have this issue but since it also implements the common channelstorage API,
|
||||||
|
it needed its "get" implementations updated to take the lock parameter. They
|
||||||
|
just don't use it.
|
||||||
|
|
||||||
|
Resolves: #1578
|
||||||
|
|
||||||
#### res_audiosocket: fix temporarily unavailable
|
#### res_audiosocket: fix temporarily unavailable
|
||||||
Author: Roman Pertsev
|
Author: Roman Pertsev
|
||||||
Date: 2025-10-07
|
Date: 2025-10-07
|
||||||
@@ -345,13 +364,7 @@
|
|||||||
which will allow suppressing attestation on a call-by-call basis
|
which will allow suppressing attestation on a call-by-call basis
|
||||||
regardless of the profile attached to the outgoing endpoint.
|
regardless of the profile attached to the outgoing endpoint.
|
||||||
|
|
||||||
#### Revert "pjsip: Move from threadpool to taskpool"
|
#### iostream.c: Handle TLS handshake attacks in order to resolve the issue of exceeding the maximum number of HTTPS sessions.
|
||||||
Author: Joshua C. Colp
|
|
||||||
Date: 2025-10-27
|
|
||||||
|
|
||||||
This reverts commit bb6b76c2d8239b2665223dcbf6d507aa9aa4534e.
|
|
||||||
|
|
||||||
#### iostream.c: Handle TLS handshake attacks in order to resolve the issue of exce..
|
|
||||||
Author: Tinet-mucw
|
Author: Tinet-mucw
|
||||||
Date: 2025-10-26
|
Date: 2025-10-26
|
||||||
|
|
||||||
@@ -371,32 +384,12 @@
|
|||||||
|
|
||||||
Resolves: #1535
|
Resolves: #1535
|
||||||
|
|
||||||
#### chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END even..
|
#### chan_websocket: Add channel_id to MEDIA_START, DRIVER_STATUS and DTMF_END events.
|
||||||
Author: gauravs456
|
Author: gauravs456
|
||||||
Date: 2025-10-21
|
Date: 2025-10-21
|
||||||
|
|
||||||
Resolves: #1544
|
Resolves: #1544
|
||||||
|
|
||||||
#### pjsip: Move from threadpool to taskpool
|
|
||||||
Author: Joshua C. Colp
|
|
||||||
Date: 2025-09-23
|
|
||||||
|
|
||||||
This change moves the PJSIP module from the threadpool API
|
|
||||||
to the taskpool API. PJSIP-specific implementations for
|
|
||||||
task usage have been removed and replaced with calls to
|
|
||||||
the optimized taskpool implementations instead. The need
|
|
||||||
for a pool of serializers has also been removed as
|
|
||||||
taskpool inherently provides this. The default settings
|
|
||||||
have also been changed to be more realistic for common
|
|
||||||
usage.
|
|
||||||
|
|
||||||
UpgradeNote: The threadpool_* options in pjsip.conf have now
|
|
||||||
been deprecated though they continue to be read and used.
|
|
||||||
They have been replaced with taskpool options that give greater
|
|
||||||
control over the underlying taskpool used for PJSIP. An alembic
|
|
||||||
upgrade script has been added to add these options to realtime
|
|
||||||
as well.
|
|
||||||
|
|
||||||
#### safe_asterisk: Fix logging and sorting issue.
|
#### safe_asterisk: Fix logging and sorting issue.
|
||||||
Author: George Joseph
|
Author: George Joseph
|
||||||
Date: 2025-10-17
|
Date: 2025-10-17
|
||||||
@@ -872,7 +865,7 @@
|
|||||||
Date: 2025-09-21
|
Date: 2025-09-21
|
||||||
|
|
||||||
|
|
||||||
#### stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..
|
#### stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create
|
||||||
Author: Sven Kube
|
Author: Sven Kube
|
||||||
Date: 2025-09-18
|
Date: 2025-09-18
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<html><head><title>Readme for asterisk-23.1.0-rc2</title></head><body>
|
<html><head><title>Readme for asterisk-23.1.0</title></head><body>
|
||||||
<h1>The Asterisk(R) Open Source PBX</h1>
|
<h1>The Asterisk(R) Open Source PBX</h1>
|
||||||
<pre><code>By Mark Spencer <markster@digium.com> and the Asterisk.org developer community.
|
<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.
|
Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders.
|
||||||
@@ -37,7 +37,7 @@ hardware.</p>
|
|||||||
<p>If you are updating from a previous version of Asterisk, make sure you
|
<p>If you are updating from a previous version of Asterisk, make sure you
|
||||||
read the Change Logs.</p>
|
read the Change Logs.</p>
|
||||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||||
<p><a href="ChangeLogs/ChangeLog-23.1.0-rc2.html">Change Logs</a></p>
|
<p><a href="ChangeLogs/ChangeLog-23.1.0.html">Change Logs</a></p>
|
||||||
<!-- END-CHANGELOGS -->
|
<!-- END-CHANGELOGS -->
|
||||||
|
|
||||||
<h3>NEW INSTALLATIONS</h3>
|
<h3>NEW INSTALLATIONS</h3>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ If you are updating from a previous version of Asterisk, make sure you
|
|||||||
read the Change Logs.
|
read the Change Logs.
|
||||||
|
|
||||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||||
[Change Logs](ChangeLogs/ChangeLog-23.1.0-rc2.html)
|
[Change Logs](ChangeLogs/ChangeLog-23.1.0.html)
|
||||||
<!-- END-CHANGELOGS -->
|
<!-- END-CHANGELOGS -->
|
||||||
|
|
||||||
### NEW INSTALLATIONS
|
### NEW INSTALLATIONS
|
||||||
|
|||||||
Reference in New Issue
Block a user