Compare commits

...

1 Commits

Author SHA1 Message Date
Asterisk Development Team
3bb594c9ca Update for 23.0.0 2025-10-15 17:01:28 +00:00
9 changed files with 158 additions and 202 deletions

View File

@@ -1 +1 @@
23.0.0-rc2
23.0.0

View File

@@ -1 +1 @@
ChangeLogs/ChangeLog-23.0.0-rc2.html
ChangeLogs/ChangeLog-23.0.0.html

View File

@@ -1 +1 @@
ChangeLogs/ChangeLog-23.0.0-rc2.md
ChangeLogs/ChangeLog-23.0.0.md

View File

@@ -1,81 +0,0 @@
<html><head><title>ChangeLog for asterisk-23.0.0-rc2</title></head><body>
<h2>Change Log for Release asterisk-23.0.0-rc2</h2>
<h3>Links:</h3>
<ul>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.0.0-rc2.html">Full ChangeLog</a> </li>
<li><a href="https://github.com/asterisk/asterisk/compare/23.0.0-rc1...23.0.0-rc2">GitHub Diff</a> </li>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.0.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: 3</li>
<li>Commit Authors: 1</li>
<li>Issues Resolved: 3</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: (3)</li>
</ul>
<h2>Issue and Commit Detail:</h2>
<h3>Closed Issues:</h3>
<ul>
<li>1457: [bug]: segmentation fault because of a wrong ari config</li>
<li>1462: [bug]: chan_websocket isn't handling the "opus" codec correctly.</li>
<li>1474: [bug]: Media doesn't flow for video conference after res_rtp_asterisk change to stop media flow before DTLS completes</li>
</ul>
<h3>Commits By Author:</h3>
<ul>
<li>
<h4>George Joseph (3):</h4>
</li>
<li>res_ari: Ensure outbound websocket config has a websocket_client_id.</li>
<li>chan_websocket: Fix codec validation and add passthrough option.</li>
<li>res_rtp_asterisk.c: Use rtp-&gt;dtls in __rtp_sendto when rtcp mux is used.</li>
</ul>
<h3>Commit List:</h3>
<ul>
<li>res_rtp_asterisk.c: Use rtp-&gt;dtls in __rtp_sendto when rtcp mux is used.</li>
<li>chan_websocket: Fix codec validation and add passthrough option.</li>
<li>res_ari: Ensure outbound websocket config has a websocket_client_id.</li>
</ul>
<h3>Commit Details:</h3>
<h4>res_rtp_asterisk.c: Use rtp-&gt;dtls in __rtp_sendto when rtcp mux is used.</h4>
<p>Author: George Joseph
Date: 2025-09-23</p>
<p>In __rtp_sendto(), the check for DTLS negotiation completion for rtcp packets
needs to use the rtp-&gt;dtls structure instead of rtp-&gt;rtcp-&gt;dtls when
AST_RTP_INSTANCE_RTCP_MUX is set.</p>
<p>Resolves: #1474</p>
<h4>chan_websocket: Fix codec validation and add passthrough option.</h4>
<p>Author: George Joseph
Date: 2025-09-17</p>
<ul>
<li>Fixed an issue in webchan_write() where we weren't detecting equivalent
codecs properly.</li>
<li>Added the "p" dialstring option that puts the channel driver in
"passthrough" mode where it will not attempt to re-frame or re-time
media coming in over the websocket from the remote app. This can be used
for any codec but MUST be used for codecs that use packet headers or whose
data stream can't be broken up on arbitrary byte boundaries. In this case,
the remote app is fully responsible for correctly framing and timing media
sent to Asterisk and the MEDIA text commands that could be sent over the
websocket are disabled. Currently, passthrough mode is automatically set
for the opus, speex and g729 codecs.</li>
<li>Now calling ast_set_read_format() after ast_channel_set_rawreadformat() to
ensure proper translation paths are set up when switching between native
frames and slin silence frames. This fixes an issue with codec errors
when transcode_via_sln=yes.</li>
</ul>
<p>Resolves: #1462</p>
<h4>res_ari: Ensure outbound websocket config has a websocket_client_id.</h4>
<p>Author: George Joseph
Date: 2025-09-12</p>
<p>Added a check to outbound_websocket_apply() that makes sure an outbound
websocket config object in ari.conf has a websocket_client_id parameter.</p>
<p>Resolves: #1457</p>
</body></html>

View File

@@ -1,95 +0,0 @@
## Change Log for Release asterisk-23.0.0-rc2
### Links:
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.0.0-rc2.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.0.0-rc1...23.0.0-rc2)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.0.0-rc2.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
- Commits: 3
- Commit Authors: 1
- Issues Resolved: 3
- Security Advisories Resolved: 0
### User Notes:
### Upgrade Notes:
### Developer Notes:
### Commit Authors:
- George Joseph: (3)
## Issue and Commit Detail:
### Closed Issues:
- 1457: [bug]: segmentation fault because of a wrong ari config
- 1462: [bug]: chan_websocket isn't handling the "opus" codec correctly.
- 1474: [bug]: Media doesn't flow for video conference after res_rtp_asterisk change to stop media flow before DTLS completes
### Commits By Author:
- #### George Joseph (3):
- res_ari: Ensure outbound websocket config has a websocket_client_id.
- chan_websocket: Fix codec validation and add passthrough option.
- res_rtp_asterisk.c: Use rtp->dtls in __rtp_sendto when rtcp mux is used.
### Commit List:
- res_rtp_asterisk.c: Use rtp->dtls in __rtp_sendto when rtcp mux is used.
- chan_websocket: Fix codec validation and add passthrough option.
- res_ari: Ensure outbound websocket config has a websocket_client_id.
### Commit Details:
#### res_rtp_asterisk.c: Use rtp->dtls in __rtp_sendto when rtcp mux is used.
Author: George Joseph
Date: 2025-09-23
In __rtp_sendto(), the check for DTLS negotiation completion for rtcp packets
needs to use the rtp->dtls structure instead of rtp->rtcp->dtls when
AST_RTP_INSTANCE_RTCP_MUX is set.
Resolves: #1474
#### chan_websocket: Fix codec validation and add passthrough option.
Author: George Joseph
Date: 2025-09-17
* Fixed an issue in webchan_write() where we weren't detecting equivalent
codecs properly.
* Added the "p" dialstring option that puts the channel driver in
"passthrough" mode where it will not attempt to re-frame or re-time
media coming in over the websocket from the remote app. This can be used
for any codec but MUST be used for codecs that use packet headers or whose
data stream can't be broken up on arbitrary byte boundaries. In this case,
the remote app is fully responsible for correctly framing and timing media
sent to Asterisk and the MEDIA text commands that could be sent over the
websocket are disabled. Currently, passthrough mode is automatically set
for the opus, speex and g729 codecs.
* Now calling ast_set_read_format() after ast_channel_set_rawreadformat() to
ensure proper translation paths are set up when switching between native
frames and slin silence frames. This fixes an issue with codec errors
when transcode_via_sln=yes.
Resolves: #1462
#### res_ari: Ensure outbound websocket config has a websocket_client_id.
Author: George Joseph
Date: 2025-09-12
Added a check to outbound_websocket_apply() that makes sure an outbound
websocket config object in ari.conf has a websocket_client_id parameter.
Resolves: #1457

View File

@@ -1,17 +1,17 @@
<html><head><title>ChangeLog for asterisk-23.0.0-rc1</title></head><body>
<h2>Change Log for Release asterisk-23.0.0-rc1</h2>
<html><head><title>ChangeLog for asterisk-23.0.0</title></head><body>
<h2>Change Log for Release asterisk-23.0.0</h2>
<h3>Links:</h3>
<ul>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.0.0-rc1.html">Full ChangeLog</a> </li>
<li><a href="https://github.com/asterisk/asterisk/compare/23.0.0-pre1...23.0.0-rc1">GitHub Diff</a> </li>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.0.0-rc1.tar.gz">Tarball</a> </li>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.0.0.html">Full ChangeLog</a> </li>
<li><a href="https://github.com/asterisk/asterisk/compare/23.0.0-pre1...23.0.0">GitHub Diff</a> </li>
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.0.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: 41</li>
<li>Commit Authors: 13</li>
<li>Issues Resolved: 32</li>
<li>Commits: 45</li>
<li>Commit Authors: 14</li>
<li>Issues Resolved: 36</li>
<li>Security Advisories Resolved: 1</li>
<li><a href="https://github.com/asterisk/asterisk/security/advisories/GHSA-64qc-9x89-rx5j">GHSA-64qc-9x89-rx5j</a>: A specifically malformed Authorization header in an incoming SIP request can cause Asterisk to crash</li>
</ul>
@@ -130,9 +130,10 @@
<ul>
<li>Alexei Gradinari: (1)</li>
<li>Alexey Khabulyak: (1)</li>
<li>Allan Nathanson: (1)</li>
<li>Artem Umerov: (1)</li>
<li>Ben Ford: (2)</li>
<li>George Joseph: (4)</li>
<li>George Joseph: (7)</li>
<li>Igor Goncharovsky: (2)</li>
<li>Joe Garlick: (1)</li>
<li>Jose Lopes: (1)</li>
@@ -177,6 +178,10 @@
<li>1394: [improvement]: sig_analog: Skip Caller ID spill if Caller ID is disabled</li>
<li>1396: [new-feature]: pbx_builtins: Make tone option for WaitExten configurable</li>
<li>1401: [bug]: app_waitfornoise timeout is always less then configured because of time() usage</li>
<li>1451: [bug]: ast_config_text_file_save2(): incorrect handling of deep/wide template inheritance</li>
<li>1457: [bug]: segmentation fault because of a wrong ari config</li>
<li>1462: [bug]: chan_websocket isn't handling the "opus" codec correctly.</li>
<li>1474: [bug]: Media doesn't flow for video conference after res_rtp_asterisk change to stop media flow before DTLS completes</li>
<li>ASTERISK-30370: config: Template inheritance is incorrect for ast_variable_retrieve</li>
</ul>
<h3>Commits By Author:</h3>
@@ -206,13 +211,16 @@
<p>res_rtp_asterisk: Don't send RTP before DTLS has negotiated.</p>
</li>
<li>
<h4>George Joseph (4):</h4>
<h4>George Joseph (7):</h4>
</li>
<li>xmldoc.c: Fix rendering of CLI output.</li>
<li>chan_websocket: Fix buffer overrun when processing TEXT websocket frames.</li>
<li>chan_websocket: Allow additional URI parameters to be added to the outgoing URI.</li>
<li>res_pjsip_authenticator_digest: Fix SEGV if get_authorization_hdr returns NULL.</li>
<li>res_ari: Ensure outbound websocket config has a websocket_client_id.</li>
<li>chan_websocket: Fix codec validation and add passthrough option.</li>
<li>
<p>res_pjsip_authenticator_digest: Fix SEGV if get_authorization_hdr returns NULL.</p>
<p>res_rtp_asterisk.c: Use rtp-&gt;dtls in __rtp_sendto when rtcp mux is used.</p>
</li>
<li>
<h4>Igor Goncharovsky (2):</h4>
@@ -278,6 +286,10 @@
<li>logger.c: Remove deprecated/redundant configuration option.</li>
<li>func_dialplan: Remove deprecated/redundant function.</li>
<li>Update version for Asterisk 23</li>
<li>config.c: fix saving of deep/wide template configurations</li>
<li>res_rtp_asterisk.c: Use rtp-&gt;dtls in __rtp_sendto when rtcp mux is used.</li>
<li>chan_websocket: Fix codec validation and add passthrough option.</li>
<li>res_ari: Ensure outbound websocket config has a websocket_client_id.</li>
<li>chan_websocket.c: Add DTMF messages</li>
<li>app_queue.c: Add new global 'log_unpause_on_reason_change'</li>
<li>app_waitforsilence.c: Use milliseconds to calculate timeout time</li>
@@ -465,6 +477,54 @@
<h4>Update version for Asterisk 23</h4>
<p>Author: Ben Ford
Date: 2025-08-13</p>
<h4>config.c: fix saving of deep/wide template configurations</h4>
<p>Author: Allan Nathanson
Date: 2025-09-10</p>
<p>Follow-on to #244 and #960 regarding how the ast_config_XXX APIs
handle template inheritance.</p>
<p>ast_config_text_file_save2() incorrectly suppressed variables if they
matched any ancestor template. This broke deep chains (dropping values
based on distant parents) and wide inheritance (ignoring last-wins order
across multiple parents).</p>
<p>The function now inspects the full template hierarchy to find the nearest
effective parent (last occurrence wins). Earlier inherited duplicates are
collapsed, explicit overrides are kept unless they exactly match the parent,
and PreserveEffectiveContext avoids writing redundant lines.</p>
<p>Resolves: #1451</p>
<h4>res_rtp_asterisk.c: Use rtp-&gt;dtls in __rtp_sendto when rtcp mux is used.</h4>
<p>Author: George Joseph
Date: 2025-09-23</p>
<p>In __rtp_sendto(), the check for DTLS negotiation completion for rtcp packets
needs to use the rtp-&gt;dtls structure instead of rtp-&gt;rtcp-&gt;dtls when
AST_RTP_INSTANCE_RTCP_MUX is set.</p>
<p>Resolves: #1474</p>
<h4>chan_websocket: Fix codec validation and add passthrough option.</h4>
<p>Author: George Joseph
Date: 2025-09-17</p>
<ul>
<li>Fixed an issue in webchan_write() where we weren't detecting equivalent
codecs properly.</li>
<li>Added the "p" dialstring option that puts the channel driver in
"passthrough" mode where it will not attempt to re-frame or re-time
media coming in over the websocket from the remote app. This can be used
for any codec but MUST be used for codecs that use packet headers or whose
data stream can't be broken up on arbitrary byte boundaries. In this case,
the remote app is fully responsible for correctly framing and timing media
sent to Asterisk and the MEDIA text commands that could be sent over the
websocket are disabled. Currently, passthrough mode is automatically set
for the opus, speex and g729 codecs.</li>
<li>Now calling ast_set_read_format() after ast_channel_set_rawreadformat() to
ensure proper translation paths are set up when switching between native
frames and slin silence frames. This fixes an issue with codec errors
when transcode_via_sln=yes.</li>
</ul>
<p>Resolves: #1462</p>
<h4>res_ari: Ensure outbound websocket config has a websocket_client_id.</h4>
<p>Author: George Joseph
Date: 2025-09-12</p>
<p>Added a check to outbound_websocket_apply() that makes sure an outbound
websocket config object in ari.conf has a websocket_client_id parameter.</p>
<p>Resolves: #1457</p>
<h4>chan_websocket.c: Add DTMF messages</h4>
<p>Author: Joe Garlick
Date: 2025-09-04</p>

View File

@@ -1,18 +1,18 @@
## Change Log for Release asterisk-23.0.0-rc1
## Change Log for Release asterisk-23.0.0
### Links:
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.0.0-rc1.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.0.0-pre1...23.0.0-rc1)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.0.0-rc1.tar.gz)
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.0.0.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.0.0-pre1...23.0.0)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.0.0.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
- Commits: 41
- Commit Authors: 13
- Issues Resolved: 32
- Commits: 45
- Commit Authors: 14
- Issues Resolved: 36
- Security Advisories Resolved: 1
- [GHSA-64qc-9x89-rx5j](https://github.com/asterisk/asterisk/security/advisories/GHSA-64qc-9x89-rx5j): A specifically malformed Authorization header in an incoming SIP request can cause Asterisk to crash
@@ -115,9 +115,10 @@
- Alexei Gradinari: (1)
- Alexey Khabulyak: (1)
- Allan Nathanson: (1)
- Artem Umerov: (1)
- Ben Ford: (2)
- George Joseph: (4)
- George Joseph: (7)
- Igor Goncharovsky: (2)
- Joe Garlick: (1)
- Jose Lopes: (1)
@@ -163,6 +164,10 @@
- 1394: [improvement]: sig_analog: Skip Caller ID spill if Caller ID is disabled
- 1396: [new-feature]: pbx_builtins: Make tone option for WaitExten configurable
- 1401: [bug]: app_waitfornoise timeout is always less then configured because of time() usage
- 1451: [bug]: ast_config_text_file_save2(): incorrect handling of deep/wide template inheritance
- 1457: [bug]: segmentation fault because of a wrong ari config
- 1462: [bug]: chan_websocket isn't handling the "opus" codec correctly.
- 1474: [bug]: Media doesn't flow for video conference after res_rtp_asterisk change to stop media flow before DTLS completes
- ASTERISK-30370: config: Template inheritance is incorrect for ast_variable_retrieve
### Commits By Author:
@@ -179,11 +184,14 @@
- #### Ben Ford (1):
- res_rtp_asterisk: Don't send RTP before DTLS has negotiated.
- #### George Joseph (4):
- #### George Joseph (7):
- xmldoc.c: Fix rendering of CLI output.
- chan_websocket: Fix buffer overrun when processing TEXT websocket frames.
- chan_websocket: Allow additional URI parameters to be added to the outgoing URI.
- res_pjsip_authenticator_digest: Fix SEGV if get_authorization_hdr returns NULL.
- res_ari: Ensure outbound websocket config has a websocket_client_id.
- chan_websocket: Fix codec validation and add passthrough option.
- res_rtp_asterisk.c: Use rtp->dtls in __rtp_sendto when rtcp mux is used.
- #### Igor Goncharovsky (2):
- app_waitforsilence.c: Use milliseconds to calculate timeout time
@@ -233,6 +241,10 @@
- logger.c: Remove deprecated/redundant configuration option.
- func_dialplan: Remove deprecated/redundant function.
- Update version for Asterisk 23
- config.c: fix saving of deep/wide template configurations
- res_rtp_asterisk.c: Use rtp->dtls in __rtp_sendto when rtcp mux is used.
- chan_websocket: Fix codec validation and add passthrough option.
- res_ari: Ensure outbound websocket config has a websocket_client_id.
- chan_websocket.c: Add DTMF messages
- app_queue.c: Add new global 'log_unpause_on_reason_change'
- app_waitforsilence.c: Use milliseconds to calculate timeout time
@@ -481,6 +493,66 @@
Date: 2025-08-13
#### config.c: fix saving of deep/wide template configurations
Author: Allan Nathanson
Date: 2025-09-10
Follow-on to #244 and #960 regarding how the ast_config_XXX APIs
handle template inheritance.
ast_config_text_file_save2() incorrectly suppressed variables if they
matched any ancestor template. This broke deep chains (dropping values
based on distant parents) and wide inheritance (ignoring last-wins order
across multiple parents).
The function now inspects the full template hierarchy to find the nearest
effective parent (last occurrence wins). Earlier inherited duplicates are
collapsed, explicit overrides are kept unless they exactly match the parent,
and PreserveEffectiveContext avoids writing redundant lines.
Resolves: #1451
#### res_rtp_asterisk.c: Use rtp->dtls in __rtp_sendto when rtcp mux is used.
Author: George Joseph
Date: 2025-09-23
In __rtp_sendto(), the check for DTLS negotiation completion for rtcp packets
needs to use the rtp->dtls structure instead of rtp->rtcp->dtls when
AST_RTP_INSTANCE_RTCP_MUX is set.
Resolves: #1474
#### chan_websocket: Fix codec validation and add passthrough option.
Author: George Joseph
Date: 2025-09-17
* Fixed an issue in webchan_write() where we weren't detecting equivalent
codecs properly.
* Added the "p" dialstring option that puts the channel driver in
"passthrough" mode where it will not attempt to re-frame or re-time
media coming in over the websocket from the remote app. This can be used
for any codec but MUST be used for codecs that use packet headers or whose
data stream can't be broken up on arbitrary byte boundaries. In this case,
the remote app is fully responsible for correctly framing and timing media
sent to Asterisk and the MEDIA text commands that could be sent over the
websocket are disabled. Currently, passthrough mode is automatically set
for the opus, speex and g729 codecs.
* Now calling ast_set_read_format() after ast_channel_set_rawreadformat() to
ensure proper translation paths are set up when switching between native
frames and slin silence frames. This fixes an issue with codec errors
when transcode_via_sln=yes.
Resolves: #1462
#### res_ari: Ensure outbound websocket config has a websocket_client_id.
Author: George Joseph
Date: 2025-09-12
Added a check to outbound_websocket_apply() that makes sure an outbound
websocket config object in ari.conf has a websocket_client_id parameter.
Resolves: #1457
#### chan_websocket.c: Add DTMF messages
Author: Joe Garlick
Date: 2025-09-04

View File

@@ -1,4 +1,4 @@
<html><head><title>Readme for asterisk-23.0.0-rc2</title></head><body>
<html><head><title>Readme for asterisk-23.0.0</title></head><body>
<h1>The Asterisk(R) Open Source PBX</h1>
<pre><code>By Mark Spencer &lt;markster@digium.com&gt; and the Asterisk.org developer community.
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
read the Change Logs.</p>
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
<p><a href="ChangeLogs/ChangeLog-23.0.0-rc2.html">Change Logs</a></p>
<p><a href="ChangeLogs/ChangeLog-23.0.0.html">Change Logs</a></p>
<!-- END-CHANGELOGS -->
<h3>NEW INSTALLATIONS</h3>

View File

@@ -55,7 +55,7 @@ If you are updating from a previous version of Asterisk, make sure you
read the Change Logs.
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
[Change Logs](ChangeLogs/ChangeLog-23.0.0-rc2.html)
[Change Logs](ChangeLogs/ChangeLog-23.0.0.html)
<!-- END-CHANGELOGS -->
### NEW INSTALLATIONS