Change Log for Release asterisk-22.3.0-rc1

Links:

Summary:

User Notes:

Upgrade Notes:

Commit Authors:

Issue and Commit Detail:

Closed Issues:

Commits By Author:

Commit List:

Commit Details:

documentation: Update Gosub, Goto, and add new documentationtype.

Author: Ben Ford Date: 2025-03-14

Gosub and Goto were not displaying their syntax correctly on the docs site. This change adds a new way to specify an optional context, an optional extension, and a required priority that the xml stylesheet can parse without having to know which optional parameters come in which order. In Asterisk, it looks like this:

parameter name="context" documentationtype="dialplan_context"
parameter name="extension" documentationtype="dialplan_extension"
parameter name="priority" documentationtype="dialplan_priority" required="true"

The stylesheet will ignore the context and extension parameters, but for priority, it will automatically inject the following:

[[context,]extension,]priority

This is the correct oder for applications such as Gosub and Goto.

res_config_curl.c: Remove unnecessary warnings.

Author: Sean Bright Date: 2025-03-17

Resolves: #1164

README.md: Updates and Fixes

Author: George Joseph Date: 2025-03-05

Going forward, the release process will create HTML versions of the README and change log and will update the link in the README to the current change log for the branch...

Resolves: #1131

res_rtp_asterisk.c: Don't truncate spec-compliant ice-ufrag or ice-pwd.

Author: Sean Bright Date: 2025-03-07

RFC 8839[1] indicates that the ice-ufrag and ice-pwd attributes can be up to 256 bytes long. While we don't generate values of that size, we should be able to accomodate them without truncating.

  1. https://www.rfc-editor.org/rfc/rfc8839#name-ice-ufrag-and-ice-pwd-attri

fix: Correct default flag for tcp_keepalive_enable option

Author: Joshua Elson Date: 2025-03-06

Resolves an issue where the tcp_keepalive_enable option was not properly enabled in the sample configuration due to an incorrect default flag setting.

Fixes: #1149

docs: AMI documentation fixes.

Author: Sean Bright Date: 2025-02-18

Most of this patch is adding missing PJSIP-related event documentation, but the one functional change was adding a sorcery to-string handler for endpoint's redirect_method which was not showing up in the AMI event details or pjsip show endpoint <endpoint> output.

The rest of the changes are summarized below:

config.c: #include of non-existent file should not crash

Author: Allan Nathanson Date: 2025-03-03

Corrects a segmentation fault when a configuration file has a #include statement that referenced a file that does not exist.

Resolves: https://github.com/asterisk/asterisk/issues/1139

manager.c: Check for restricted file in action_createconfig.

Author: George Joseph Date: 2025-03-03

The CreateConfig manager action now ensures that a config file can only be created in the AST_CONFIG_DIR unless live_dangerously is set.

Resolves: #1122

swagger_model.py: Fix invalid escape sequence in get_list_parameter_type().

Author: George Joseph Date: 2025-03-04

Recent python versions complain when backslashes in strings create invalid escape sequences. This causes issues for strings used as regex patterns like '^List\[(.*)\]$' where you want the regex parser to treat [ and ] as literals. Double-backslashing is one way to fix it but simply converting the string to a raw string re.match(r'^List\[(.*)\]$', text) is easier and less error prone.

Revert "res_rtp_asterisk.c: Set Mark on rtp when timestamp skew is too big"

Author: Maximilian Fridrich Date: 2025-02-28

This reverts commit f30ad96b3f467739c38ff415e80bffc4afff1da7.

The original change was not RFC compliant and caused issues because it set the RTP marker bit in cases when it shouldn't be set. See the linked issue #1135 for a detailed explanation.

Fixes: #1135.

res_rtp_asterisk.c: Use correct timeout value for T.140 RED timer.

Author: Sean Bright Date: 2025-02-24

Found while reviewing #1128

docs: Fix typos in cdr/ Found via codespell

Author: Luz Paz Date: 2025-02-12

docs: Fix various typos in channels/ Found via `codespell -q 3 -S "./CREDITS,*..

Author: Luz Paz Date: 2025-02-04

docs: Fix various typos in main/ Found via `codespell -q 3 -S "./CREDITS" -L a..

Author: Luz Paz Date: 2025-02-04

bridging: Fix multiple bridging issues causing SEGVs and FRACKs.

Author: George Joseph Date: 2025-01-22

Issues:

Changes:

Resolves: #211

bridge_channel: don't set cause code on channel during bridge delete if alread..

Author: Mike Bradeen Date: 2025-02-18

Due to a potential race condition via ARI when hanging up a channel hangup with cause while also deleting a bridge containing that channel, the bridge delete can over-write the hangup cause code resulting in Normal Call Clearing instead of the set value.

With this change, bridge deletion will only set the hangup code if it hasn't been previously set.

Resolves: #1124

res_config_pgsql: Fix regression that removed dbname config.

Author: George Joseph Date: 2025-02-11

A recent commit accidentally removed the code that sets dbname. This commit adds it back in.

Resolves: #1119

res_stir_shaken: Allow missing or anonymous CID to continue to the dialplan.

Author: George Joseph Date: 2025-02-05

The verification check for missing or anonymous callerid was happening before the endpoint's profile was retrieved which meant that the failure_action parameter wasn't available. Therefore, if verification was enabled and there was no callerid or it was "anonymous", the call was immediately terminated instead of giving the dialplan the ability to decide what to do with the call.

Resolves: #1112

resource_channels.c: Fix memory leak in ast_ari_channels_external_media.

Author: George Joseph Date: 2025-02-04

Between ast_ari_channels_external_media(), external_media_rtp_udp(), and external_media_audiosocket_tcp(), the variables structure being passed around wasn't being cleaned up properly when there was a failure.

Resolves: #1109

ari/pjsip: Make it possible to control transfers through ARI

Author: Holger Hans Peter Freyther Date: 2024-06-15

Introduce a ChannelTransfer event and the ability to notify progress to ARI. Implement emitting this event from the PJSIP channel instead of handling the transfer in Asterisk when configured.

Introduce a dialplan function to the PJSIP channel to switch between the "core" and "ari-only" behavior.

UserNote: Call transfers on the PJSIP channel can now be controlled by ARI. This can be enabled by using the PJSIP_TRANSFER_HANDLING(ari-only) dialplan function.

channel.c: Remove dead AST_GENERATOR_FD code.

Author: Sean Bright Date: 2025-02-06

Nothing ever sets the AST_GENERATOR_FD, so this block of code will never execute. It also is the only place where the generate callback is called with the channel lock held which made it difficult to reason about the thread safety of ast_generators.

In passing, also note that AST_AGENT_FD isn't used either.

func_strings.c: Prevent SEGV in HASH single-argument mode.

Author: George Joseph Date: 2025-01-30

When in single-argument mode (very rarely used), a malformation of a column name (also very rare) could cause a NULL to be returned when retrieving the channel variable for that column. Passing that to strncat causes a SEGV. We now check for the NULL and print a warning message.

Resolves: #1101

docs: Add version information to AGI command XML elements.

Author: George Joseph Date: 2025-01-24

This process was a bit different than the others because everything is in the same file, there's an array that contains the command names and their handler functions, and the last command was created over 15 years ago.

docs: Fix minor typo in MixMonitor AMI action

Author: Jeremy Lainé Date: 2025-01-28

The Options argument was erroneously documented as lowercase options.

utils: Disable old style definition warnings for libdb.

Author: Naveen Albert Date: 2025-01-23

Newer versions of gcc now warn about old style definitions, such as those in libdb, which causes compilation failure with DEVMODE enabled. Ignore these warnings for libdb.

Resolves: #1085

rtp.conf.sample: Correct stunaddr example.

Author: fabriziopicconi Date: 2024-09-25

docs: Add version information to ARI resources and methods.

Author: George Joseph Date: 2025-01-27

docs: Indent tags.

Author: Sean Bright Date: 2025-01-23

Also updates the 'since' of applications/functions that existed before XML documentation was introduced (1.6.2.0).