Asterisk Release 20.4.0
The Asterisk Development Team would like to announce
the release of Asterisk 20.4.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.4.0
and https://downloads.asterisk.org/pub/telephony/asterisk
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release 20.4.0
========================================
Links:
—————————————-
– [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.4.0.md)
– [GitHub Diff](https://github.com/asterisk/asterisk/compare/20.3.1…20.4.0)
– [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.4.0.tar.gz)
– [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
Summary:
—————————————-
– 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.
User Notes:
—————————————-
– ### 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.
Upgrade Notes:
—————————————-
– ### 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.
Closed Issues:
—————————————-
– #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.
—