The Asterisk Development Team would like to announce
the release of Asterisk 20.4.0.
The release artifacts are available for immediate download at
This release resolves issues reported by the community
and would have not been possible without your participation.
Change Log for Release 20.4.0
- app.h: Move declaration of ast_getdata_result before its first use
- doc: Remove obsolete CHANGES-staging and UPGRADE-staging
- .github: Updates for AsteriskReleaser
- app_voicemail: fix imap compilation errors
- res_musiconhold: avoid moh state access on unlocked chan
- utils: add lock timestamps for DEBUG_THREADS
- .github: Back out triggering PROpenedOrUpdated by label
- .github: Move publish docs to new file CreateDocs.yml
- rest-api: Updates for new documentation site
- .github: Remove result check from PROpenUpdateGateTests
- .github: Fix use of ‘contains’
- .github: Add recheck label test to additional jobs
- .github: Fix recheck label typos
- .github: Fix recheck label manipulation
- .github: Allow PR submit checks to be re-run by label
- app_voicemail_imap: Fix message count when IMAP server is unavailable
- res_pjsip_rfc3326: Prefer Q.850 cause code over SIP.
- res_pjsip_session: Added new function calls to avoid ABI issues.
- app_queue: Add force_longest_waiting_caller option.
- pjsip_transport_events.c: Use %zu printf specifier for size_t.
- res_crypto.c: Gracefully handle potential key filename truncation.
- configure: Remove obsolete and deprecated constructs.
- res_fax_spandsp.c: Clean up a spaces/tabs issue
- ast-db-manage: Synchronize revisions between comments and code.
- test_statis_endpoints: Fix channel_messages test again
- res_crypto.c: Avoid using the non-portable ALLPERMS macro.
- tcptls: when disabling a server port, we should set the accept_fd to -1.
- AMI: Add parking position parameter to Park action
- test_stasis_endpoints.c: Make channel_messages more stable
- build: Fix a few gcc 13 issues
- .github: Rework for merge approval
- ast-db-manage: Fix alembic branching error caused by #122.
- app_followme: fix issue with enable_callee_prompt=no (#88)
- sounds: Update download URL to use HTTPS.
- configure: Makefile downloader enable follow redirects.
- res_musiconhold: Add option to loop last file.
- chan_dahdi: Fix Caller ID presentation for FXO ports.
- AMI: Add CoreShowChannelMap action.
- sig_analog: Add fuller Caller ID support.
- res_stasis.c: Add new type ‘sdp_label’ for bridge creation.
- app_queue: Preserve reason for realtime queues
- .github: Fix issues with cherry-pick-reminder
- indications: logging changes
- .github Ignore error when adding reviewrs to PR
- .github: Update field descriptions for AsteriskReleaser
- callerid: Allow specifying timezone for date/time.
- logrotate: Fix duplicate log entries.
- chan_pjsip: Allow topology/session refreshes in early media state
- chan_dahdi: Fix broken hidecallerid setting.
- .github: Change title of AsteriskReleaser job
- asterisk.c: Fix option warning for remote console.
- .github: Don’t add cherry-pick reminder if it’s already present
- .github: Fix quoting in PROpenedOrUpdated
- .github: Add cherry-pick reminder to new PRs
- configure: fix test code to match gethostbyname_r prototype.
- res_pjsip_pubsub.c: Use pjsip version for pending NOTIFY check. (#77)
- res_sorcery_memory_cache.c: Fix memory leak
- xml.c: Process XML Inclusions recursively.
- .github: Tweak improvement issue type language.
- .github: Tweak new feature language, and move feature requests elsewhere.
- .github: Fix staleness check to only run on certain labels.
AMI: Add parking position parameter to Park action
New ParkingSpace parameter has been added to AMI action Park.
res_musiconhold: Add option to loop last file.
The loop_last option in musiconhold.conf now
allows the last file in the directory to be looped once reached.
AMI: Add CoreShowChannelMap action.
New AMI action CoreShowChannelMap has been added.
sig_analog: Add fuller Caller ID support.
Additional Caller ID properties are now supported on
incoming calls to FXS stations, namely the
redirecting reason and call qualifier.
res_stasis.c: Add new type ‘sdp_label’ for bridge creation.
When creating a bridge using the ARI the ‘type’ argument now
accepts a new value ‘sdp_label’ which will configure the bridge to add
labels for each stream in the SDP with the corresponding channel id.
app_queue: Preserve reason for realtime queues
Make paused reason in realtime queues persist an
Asterisk restart. This was fixed for non-realtime
queues in ASTERISK_25732.
app_queue: Preserve reason for realtime queues
Add a new column to the queue_member table:
reason_paused VARCHAR(80) so the reason can be preserved.
- #45: [bug]: Non-bundled PJSIP check for evsub pending NOTIFY check is insufficient/ineffective
- #55: [bug]: res_sorcery_memory_cache: Memory leak when calling sorcery_memory_cache_open
- #64: [bug]: app_voicemail_imap wrong behavior when losing IMAP connection
- #65: [bug]: heap overflow by default at startup
- #66: [improvement]: Fix preserve reason of pause when Asterisk is restared for realtime queues
- #73: [new-feature]: pjsip: Allow topology/session refreshes in early media state
- #87: [bug]: app_followme: Setting enable_callee_prompt=no breaks timeout
- #89: [improvement]: indications: logging changes
- #91: [improvement]: Add parameter on ARI bridge create to allow it to send SDP labels
- #94: [new-feature]: sig_analog: Add full Caller ID support for incoming calls
- #96: [bug]: make install-logrotate causes logrotate to fail on service restart
- #98: [new-feature]: callerid: Allow timezone to be specified at runtime
- #100: [bug]: sig_analog: hidecallerid setting is broken
- #102: [bug]: Strange warning – ‘T’ option is not compatible with remote console mode and has no effect.
- #104: [improvement]: Add AMI action to get a list of connected channels
- #108: [new-feature]: fair handling of calls in multi-queue scenarios
- #110: [improvement]: utils – add lock timing information with DEBUG_THREADS
- #116: [bug]: SIP Reason: “Call completed elsewhere” no longer propagating
- #120: [bug]: chan_dahdi: Fix broken presentation for FXO caller ID
- #122: [new-feature]: res_musiconhold: Add looplast option
- #133: [bug]: unlock channel after moh state access
- #136: [bug]: Makefile downloader does not follow redirects.
- #145: [bug]: ABI issue with pjproject and pjsip_inv_session
- #155: [bug]: GCC 13 is catching a few new trivial issues
- #158: [bug]: test_stasis_endpoints.c: Unit test channel_messages is unstable
- #174: [bug]: app_voicemail imap compile errors
- #200: [bug]: Regression: In app.h an enum is used before its declaration.