# Asterisk Release Candidate 20.16.0-rc1

**URL:** <https://community.asterisk.org/t/asterisk-release-candidate-20-16-0-rc1/110082>\
**Category:** Development\
**Created:** [September 10, 2025, 7:53pm UTC](https://community.asterisk.org/t/asterisk-release-candidate-20-16-0-rc1/110082 "2025-09-10T19:53:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![asteriskteam](https://sea1.discourse-cdn.com/asterisk/user_avatar/community.asterisk.org/asteriskteam/32/1845_2.png) [@asteriskteam](https://community.asterisk.org/u/asteriskteam)\
**Post date:** [September 10, 2025, 7:53pm UTC](https://community.asterisk.org/t/asterisk-release-candidate-20-16-0-rc1/110082/1 "2025-09-10T19:53:32Z")

</div>

The Asterisk Development Team would like to announce  
release candidate 1 of asterisk-20.16.0.

The release artifacts are available for immediate download at

> **[Release Asterisk Release 20.16.0-rc1 · asterisk/asterisk](https://github.com/asterisk/asterisk/releases/tag/20.16.0-rc1)**
>
> The Asterisk Development Team would like to announce
> release candidate 1 of asterisk-20.16.0.
> The release artifacts are available for immediate download at
> https://github.com/asterisk/asterisk/rele...

and

> **[Index of /pub/telephony/asterisk/](https://downloads.asterisk.org/pub/telephony/asterisk/)**

Repository: [GitHub - asterisk/asterisk: The official Asterisk Project repository.](https://github.com/asterisk/asterisk)  
Tag: 20.16.0-rc1

This release resolves issues reported by the community  
and would have not been possible without your participation.

Thank You!

## Change Log for Release asterisk-20.16.0-rc1

### Links:

- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.16.0-rc1.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/20.15.2...20.16.0-rc1)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.16.0-rc1.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)

### Summary:

- Commits: 51
- Commit Authors: 22
- Issues Resolved: 37
- Security Advisories Resolved: 0

### User Notes:

- 
#### app\_queue.c: Add new global ‘log\_unpause\_on\_reason\_change’

Add new global option ‘log\_unpause\_on\_reason\_change’ that  
is default disabled. When enabled cause addition of UNPAUSE event on  
every re-PAUSE with reason changed.

- 
#### pbx\_builtins: Allow custom tone for WaitExten.

The tone used while waiting for digits in WaitExten  
can now be overridden by specifying an argument for the ‘d’  
option.

- 
#### res\_tonedetect: Add option for TONE\_DETECT detection to auto stop.

The ‘e’ option for TONE\_DETECT now allows detection to  
be disabled automatically once the desired number of matches have  
been fulfilled, which can help prevent race conditions in the  
dialplan, since TONE\_DETECT does not need to be disabled after  
a hit.

- 
#### sorcery: Prevent duplicate objects and ensure missing objects are created on u..

Users relying on Sorcery multiple writable backends configurations  
(e.g., astdb + realtime) may now enable update\_or\_create\_on\_update\_miss = yes  
in sorcery.conf to ensure missing objects are recreated after temporary backend  
failures. Default behavior remains unchanged unless explicitly enabled.

- 
#### chan\_websocket: Allow additional URI parameters to be added to the outgoing URI.

A new WebSocket channel driver option `v` has been added to the  
Dial application that allows you to specify additional URI parameters on  
outgoing connections. Run `core show application Dial` from the Asterisk CLI  
to see how to use it.

- 
#### app\_chanspy: Add option to not automatically answer channel.

ChanSpy and ExtenSpy can now be configured to not  
automatically answer the channel by using the ‘N’ option.

- 
#### cel: Add STREAM\_BEGIN, STREAM\_END and DTMF event types.

Enabling the tracking of the  
STREAM\_BEGIN and the STREAM\_END event  
types in cel.conf will log media files and  
music on hold played to each channel.  
The STREAM\_BEGIN event’s extra field will  
contain a JSON with the file details (path,  
format and language), or the class name, in  
case of music on hold is played. The DTMF  
event’s extra field will contain a JSON with  
the digit and the duration in milliseconds.

- 
#### res\_srtp: Add menuselect options to enable AES\_192, AES\_256 and AES\_GCM

Options are now available in the menuselect “Resource Modules”  
category that allow you to enable the AES\_192, AES\_256 and AES\_GCM  
cipher suites in res\_srtp. Of course, libsrtp and OpenSSL must support  
them but modern versions do. Previously, the only way to enable them was  
to set the CFLAGS environment variable when running ./configure.  
The default setting is to disable them preserving existing behavior.

- 
#### cdr: add CANCEL dispostion in CDR

A new CDR option “canceldispositionenabled” has been added  
that when set to true, the NO ANSWER disposition will be split into  
two dispositions: CANCEL and NO ANSWER. The default value is ‘no’

- 
#### func\_curl: Allow auth methods to be set.

The httpauth field in CURLOPT now allows the authentication  
methods to be set.

- 
#### Media over Websocket Channel Driver

A new channel driver “chan\_websocket” is now available. It can  
exchange media over both inbound and outbound websockets and will both frame  
and re-time the media it receives.  
See [http://s.asterisk.net/mow](http://s.asterisk.net/mow) for more information.  
The ARI channels/externalMedia API now includes support for the

### Upgrade Notes:

### Developer Notes:

- 
#### ARI: Add command to indicate progress to a channel

A new ARI endpoint is available at `/channels/{channelId}/progress` to indicate progress to a channel.

- 
#### options: Change ast\_options from ast\_flags to ast\_flags64.

The 32-bit ast\_options has no room left to accomodate new  
options and so has been converted to an ast\_flags64 structure. All internal  
references to ast\_options have been updated to use the 64-bit flag  
manipulation macros. External module references to the 32-bit ast\_options  
should continue to work on little-endian systems because the  
least-significant bytes of a 64 bit integer will be in the same location as a  
32-bit integer. Because that’s not the case on big-endian systems, we’ve  
swapped the bytes in the flags manupulation macros on big-endian systems  
so external modules should still work however you are encouraged to test.

### Commit Authors:

- Alexei Gradinari: (2)
- Alexey Khabulyak: (2)
- Allan Nathanson: (1)
- Artem Umerov: (1)
- Ben Ford: (1)
- George Joseph: (9)
- Igor Goncharovsky: (2)
- Jaco Kroon: (1)
- Joe Garlick: (1)
- Jose Lopes: (1)
- Kodokaii: (1)
- Martin Tomec: (1)
- Mike Bradeen: (1)
- Mkmer: (1)
- Naveen Albert: (15)
- Sean Bright: (2)
- Sperl Viktor: (2)
- Stanislav Abramenkov: (1)
- Stuart Henderson: (1)
- Sven Kube: (2)
- Tinet-Mucw: (2)
- Zhou\_jiajian: (1)

---

<div class="post-metadata">

**Author:** ![gjoseph](https://sea1.discourse-cdn.com/asterisk/user_avatar/community.asterisk.org/gjoseph/32/1690_2.png) [@gjoseph](https://community.asterisk.org/u/gjoseph)\
**Post date:** [September 10, 2025, 8:19pm UTC](https://community.asterisk.org/t/asterisk-release-candidate-20-16-0-rc1/110082/2 "2025-09-10T20:19:00Z")

</div>

Closed on September 10, 2025, 8:19pm UTC


