Asterisk Version 21.1.0 Now Available

The Asterisk Development Team would like to announce
the release of asterisk-21.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.1.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 asterisk-21.1.0

Links:

Summary:

  • logger: Fix linking regression.
  • Revert “core & res_pjsip: Improve topology change handling.”
  • menuselect: Use more specific error message.
  • res_pjsip_nat: Fix potential use of uninitialized transport details
  • app_if: Fix faulty EndIf branching.
  • manager.c: Fix regression due to using wrong free function.
  • doc: Remove obsolete CHANGES-staging and UPGRADE-staging directories
  • config_options.c: Fix truncation of option descriptions.
  • manager.c: Improve clarity of “manager show connected”.
  • make_xml_documentation: Really collect LOCAL_MOD_SUBDIRS documentation.
  • general: Fix broken links.
  • MergeApproved.yml: Remove unneeded concurrency
  • app_dial: Add option “j” to preserve initial stream topology of caller
  • pbx_config.c: Don’t crash when unloading module.
  • ast_coredumper: Increase reliability
  • logger.c: Move LOG_GROUP documentation to dedicated XML file.
  • res_odbc.c: Allow concurrent access to request odbc connections
  • res_pjsip_header_funcs.c: Check URI parameter length before copying.
  • config.c: Log #exec include failures.
  • make_xml_documentation: Properly handle absolute LOCAL_MOD_SUBDIRS.
  • app_voicemail.c: Completely resequence mailbox folders.
  • sig_analog: Fix channel leak when mwimonitor is enabled.
  • res_rtp_asterisk.c: Update for OpenSSL 3+.
  • alembic: Update list of TLS methods available on ps_transports.
  • func_channel: Expose previously unsettable options.
  • app.c: Allow ampersands in playback lists to be escaped.
  • uri.c: Simplify ast_uri_make_host_with_port()
  • func_curl.c: Remove CURLOPT() plaintext documentation.
  • res_http_websocket.c: Set hostname on client for certificate validation.
  • live_ast: Add astcachedir to generated asterisk.conf.
  • SECURITY.md: Update with correct documentation URL
  • func_lock: Add missing see-also refs to documentation.
  • app_followme.c: Grab reference on nativeformats before using it
  • configs: Improve documentation for bandwidth in iax.conf.
  • logger: Add channel-based filtering.
  • chan_iax2.c: Don’t send unsanitized data to the logger.
  • codec_ilbc: Disable system ilbc if version >= 3.0.0
  • resource_channels.c: Explicit codec request when creating UnicastRTP.
  • doc: Update IP Quality of Service links.
  • chan_pjsip: Add PJSIPHangup dialplan app and manager action
  • chan_iax2.c: Ensure all IEs are displayed when dumping frame contents.
  • chan_dahdi: Warn if nonexistent cadence is requested.
  • stasis: Update the snapshot after setting the redirect
  • ari: Provide the caller ID RDNIS for the channels
  • main/utils: Implement ast_get_tid() for OpenBSD
  • res_rtp_asterisk.c: Fix runtime issue with LibreSSL
  • app_directory: Add ADSI support to Directory.
  • core_local: Fix local channel parsing with slashes.
  • Remove files that are no longer updated
  • app_voicemail: Add AMI event for mailbox PIN changes.
  • app_queue.c: Emit unpause reason with PauseQueueMember event.
  • bridge_simple: Suppress unchanged topology change requests
  • res_pjsip: Include cipher limit in config error message.
  • res_speech: allow speech to translate input channel
  • res_rtp_asterisk.c: Fix memory leak in ephemeral certificate creation.
  • res_pjsip_dtmf_info.c: Add ‘INFO’ to Allow header.
  • api.wiki.mustache: Fix indentation in generated markdown
  • pjsip_configuration.c: Disable DTLS renegotiation if WebRTC is enabled.
  • configs: Fix typo in pjsip.conf.sample.
  • res_pjsip_exten_state,res_pjsip_mwi: Allow unload on shutdown
  • res_pjsip: Expanding PJSIP endpoint ID and relevant resource length to 255 characters
  • .github: PRSubmitActions: Fix adding reviewers to PR
  • .github: New PR Submit workflows
  • .github: New PR Submit workflows
  • res_stasis: signal when new command is queued
  • ari/stasis: Indicate progress before playback on a bridge
  • func_curl.c: Ensure channel is locked when manipulating datastores.
  • .github: Fix job prereqs in PROpenedUpdated
  • .github: Block PR tests until approved
  • .github: Use generic releaser
  • logger.h: Add ability to change the prefix on SCOPE_TRACE output
  • Add libjwt to third-party
  • res_pjsip: update qualify_timeout documentation with DNS note
  • chan_dahdi: Clarify scope of callgroup/pickupgroup.
  • func_json: Fix crashes for some types
  • res_speech_aeap: add aeap error handling
  • app_voicemail: Disable ADSI if unavailable.
  • codec_builtin: Use multiples of 20 for maximum_ms
  • lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS
  • asterisk.c: Use the euid’s home directory to read/write cli history
  • res_pjsip_transport_websocket: Prevent transport from being destroyed before message finishes.
  • cel: add publish user event helper
  • chan_console: Fix deadlock caused by unclean thread exit.
  • file.c: Add ability to search custom dir for sounds
  • chan_iax2: Improve authentication debugging.
  • res_rtp_asterisk: fix wrong counter management in ioqueue objects
  • res_pjsip_pubsub: Add body_type to test_handler for unit tests
  • make_buildopts_h, et. al. Allow adding all cflags to buildopts.h
  • func_periodic_hook: Add hangup step to avoid timeout
  • res_stasis_recording.c: Save recording state when unmuted.
  • res_speech_aeap: check for null format on response
  • func_periodic_hook: Don’t truncate channel name
  • safe_asterisk: Change directory permissions to 755
  • chan_rtp: Implement RTP glue for UnicastRTP channels
  • app_queue: periodic announcement configurable start time.
  • variables: Add additional variable dialplan functions.
  • Restore CHANGES and UPGRADE.txt to allow cherry-picks to work

What can we help you find?