]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Update for 23.0.0 23.0.0
authorAsterisk Development Team <asteriskteam@digium.com>
Wed, 15 Oct 2025 17:01:28 +0000 (17:01 +0000)
committerAsterisk Development Team <asteriskteam@digium.com>
Wed, 15 Oct 2025 17:01:28 +0000 (17:01 +0000)
.version
CHANGES.html
CHANGES.md
ChangeLogs/ChangeLog-23.0.0-rc2.html [deleted file]
ChangeLogs/ChangeLog-23.0.0-rc2.md [deleted file]
ChangeLogs/ChangeLog-23.0.0.html [moved from ChangeLogs/ChangeLog-23.0.0-rc1.html with 90% similarity]
ChangeLogs/ChangeLog-23.0.0.md [moved from ChangeLogs/ChangeLog-23.0.0-rc1.md with 90% similarity]
README.html
README.md

index e4997573a2b804f78d4dc4f2b4a0194100e42227..84b76f4d1c529b62d5806a3696b62eb6d5559c1e 100644 (file)
--- a/.version
+++ b/.version
@@ -1 +1 @@
-23.0.0-rc2
+23.0.0
index efb47bec7450f6f17b1779a11f6bc46a178dd8b8..4db52d7dad0ca2fbbf3ecfcee03007e36beafb89 120000 (symlink)
@@ -1 +1 @@
-ChangeLogs/ChangeLog-23.0.0-rc2.html
\ No newline at end of file
+ChangeLogs/ChangeLog-23.0.0.html
\ No newline at end of file
index 75cb9dac21c71d2c6c43297bde841f0095ee1990..ff9536e57c8bfe7268ca209b0206f0587b85e643 120000 (symlink)
@@ -1 +1 @@
-ChangeLogs/ChangeLog-23.0.0-rc2.md
\ No newline at end of file
+ChangeLogs/ChangeLog-23.0.0.md
\ No newline at end of file
diff --git a/ChangeLogs/ChangeLog-23.0.0-rc2.html b/ChangeLogs/ChangeLog-23.0.0-rc2.html
deleted file mode 100644 (file)
index d9b143e..0000000
+++ /dev/null
@@ -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>
diff --git a/ChangeLogs/ChangeLog-23.0.0-rc2.md b/ChangeLogs/ChangeLog-23.0.0-rc2.md
deleted file mode 100644 (file)
index 1feb373..0000000
+++ /dev/null
@@ -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
-
similarity index 90%
rename from ChangeLogs/ChangeLog-23.0.0-rc1.html
rename to ChangeLogs/ChangeLog-23.0.0.html
index 1d9bca3a0c58b74da55f2dc19057fea9de49f432..c401f8b83994a20c01a8bd1aea44784a0e9ce7f5 100644 (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>
 <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>
 <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>
 <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>
 <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>
 <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>
similarity index 90%
rename from ChangeLogs/ChangeLog-23.0.0-rc1.md
rename to ChangeLogs/ChangeLog-23.0.0.md
index 1bf15ff79cf8d6b022f15c606eddfefaa5b8eb47..48f61923db067b08e93d60d9d729cf53376e5add 100644 (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
 
 
 - 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)
   - 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:
 - #### 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
 -  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
   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
index 35bf6fe9489e2bae4ea83e1e6d8e53b25a0a8822..b2bf257c3db57124116f56135078676e709928e4 100644 (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>
index 92421abf1bdf8829d51fa60ddf7d7ea87cdcd600..6ae69584d52400145f5d1ad765b8c29bd0de605d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -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