Asterisk 21.0.0 Now Available

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

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

Links:

Summary:

  • Update master branch for Asterisk 21
  • translate.c: Prefer better codecs upon translate ties.
  • chan_skinny: Remove deprecated module.
  • app_osplookup: Remove deprecated module.
  • chan_mgcp: Remove deprecated module.
  • chan_alsa: Remove deprecated module.
  • pbx_builtins: Remove deprecated and defunct functionality.
  • chan_sip: Remove deprecated module.
  • app_cdr: Remove deprecated application and option.
  • app_macro: Remove deprecated module.
  • res_monitor: Remove deprecated module.
  • http.c: Minor simplification to HTTP status output.
  • app_osplookup: Remove obsolete sample config.
  • say.c: Fix French time playback. (#42)
  • core: Cleanup gerrit and JIRA references. (#58)
  • utils.h: Deprecate ast_gethostbyname(). (#79)
  • res_pjsip_pubsub: Add new pubsub module capabilities. (#82)
  • app_sla: Migrate SLA applications out of app_meetme.
  • rest-api: Ran make ari stubs to fix resource_endpoints inconsistency
  • .github: Update AsteriskReleaser for security releases
  • users.conf: Deprecate users.conf configuration.
  • Update version for Asterisk 21
  • Remove unneeded CHANGES and UPGRADE files
  • res_pjsip_pubsub: Add body_type to test_handler for unit tests
  • ari-stubs: Fix more local anchor references
  • ari-stubs: Fix more local anchor references
  • ari-stubs: Fix broken documentation anchors
  • res_pjsip_session: Send Session Interval too small response
  • .github: Update workflow-application-token-action to v2
  • app_dial: Fix infinite loop when sending digits.
  • app_voicemail: Fix for loop declarations
  • alembic: Fix quoting of the 100rel column
  • pbx.c: Fix gcc 12 compiler warning.
  • app_audiosocket: Fixed timeout with -1 to avoid busy loop.
  • download_externals: Fix a few version related issues
  • main/refer.c: Fix double free in refer_data_destructor + potential leak
  • sig_analog: Add Called Subscriber Held capability.
  • Revert “app_stack: Print proper exit location for PBXless channels.”
  • install_prereq: Fix dependency install on aarch64.
  • res_pjsip.c: Set contact_user on incoming call local Contact header
  • extconfig: Allow explicit DB result set ordering to be disabled.
  • rest-api: Run make ari-stubs
  • res_pjsip_header_funcs: Make prefix argument optional.
  • pjproject_bundled: Increase PJSIP_MAX_MODULE to 38
  • manager: Tolerate stasis messages with no channel snapshot.
  • Remove unneeded CHANGES and UPGRADE files

User Notes:

  • sig_analog: Add Called Subscriber Held capability.

    Called Subscriber Held is now supported for analog
    FXS channels, using the calledsubscriberheld option. This allows
    a station user to go on hook when receiving an incoming call
    and resume from another phone on the same line by going on hook,
    without disconnecting the call.

  • res_pjsip_header_funcs: Make prefix argument optional.

    The prefix argument to PJSIP_HEADERS is now
    optional. If not specified, all header names will be
    returned.

  • http.c: Minor simplification to HTTP status output.

    For bound addresses, the HTTP status page now combines the bound
    address and bound port in a single line. Additionally, the SSL bind
    address has been renamed to TLS.

Upgrade Notes:

  • utils.h: Deprecate ast_gethostbyname(). (#79)

    ast_gethostbyname() has been deprecated and will be removed
    in Asterisk 23. New code should use ast_sockaddr_resolve() and
    ast_sockaddr_resolve_first_af().

  • app_sla: Migrate SLA applications out of app_meetme.

    The SLAStation and SLATrunk applications have been moved
    from app_meetme to app_sla. If you are using these applications and have
    autoload=no, you will need to explicitly load this module in modules.conf.

  • users.conf: Deprecate users.conf configuration.

    The users.conf config is now deprecated
    and will be removed in a future version of Asterisk.

  • res_monitor: Remove deprecated module.

    This module was deprecated in Asterisk 16
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.
    This also removes the ‘w’ and ‘W’ options
    for app_queue.
    MixMonitor should be default and only option
    for all settings that previously used either
    Monitor or MixMonitor.

  • app_osplookup: Remove deprecated module.

    This module was deprecated in Asterisk 19
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.

  • app_cdr: Remove deprecated application and option.

    The previously deprecated NoCDR application has been removed.
    Additionally, the previously deprecated ‘e’ option to the ResetCDR
    application has been removed.

  • app_macro: Remove deprecated module.

    This module was deprecated in Asterisk 16
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.
    For most modules that interacted with app_macro,
    this change is limited to no longer looking for
    the current context from the macrocontext when set.
    The following modules have additional impacts:
    app_dial – no longer supports M^ connected/redirecting macro
    app_minivm – samples written using macro will no longer work.
    The sample needs to be re-written
    app_queue – can no longer call a macro on the called party’s
    channel. Use gosub which is currently supported
    ccss – no callback macro, gosub only
    app_voicemail – no macro support
    channel – remove macrocontext and priority, no connected
    line or redirection macro options
    options – stdexten is deprecated to gosub as the default
    and only options
    pbx – removed macrolock
    pbx_dundi – no longer look for macro
    snmp – removed macro context, exten, and priority

  • translate.c: Prefer better codecs upon translate ties.

    When setting up translation between two codecs the quality was not taken into account,
    resulting in suboptimal translation. The quality is now taken into account,
    which can reduce the number of translation steps required, and improve the resulting quality.

  • chan_sip: Remove deprecated module.

    This module was deprecated in Asterisk 17
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.

  • chan_alsa: Remove deprecated module.

    This module was deprecated in Asterisk 19
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.

  • pbx_builtins: Remove deprecated and defunct functionality.

    The previously deprecated ImportVar and SetAMAFlags
    applications have now been removed.

  • chan_mgcp: Remove deprecated module.

    This module was deprecated in Asterisk 19
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.

  • chan_skinny: Remove deprecated module.

    This module was deprecated in Asterisk 19
    and is now being removed in accordance with
    the Asterisk Module Deprecation policy.

Closed Issues:

  • #37: [Bug]: contrib/scripts/install_prereq tries to install armhf packages on aarch64 Debian platforms
  • #39: [Bug]: Remove .gitreview from repository.
  • #41: [Bug]: say.c Time announcement does not say o’clock for the French language
  • #50: [improvement]: app_sla: Migrate SLA applications from app_meetme
  • #78: [improvement]: Deprecate ast_gethostbyname()
  • #81: [improvement]: Enhance and add additional PJSIP pubsub callbacks
  • #179: [bug]: Queue strategy “Linear” with Asterisk 20 on Realtime
  • #183: [deprecation]: Deprecate users.conf
  • #226: [improvement]: Apply contact_user to incoming calls
  • #230: [bug]: PJSIP_RESPONSE_HEADERS function documentation is misleading
  • #240: [new-feature]: sig_analog: Add Called Subscriber Held capability
  • #253: app_gosub patch appear to have broken predial handlers that utilize macros that call gosubs
  • #255: [bug]: pjsip_endpt_register_module: Assertion “Too many modules registered”
  • #263: [bug]: download_externals doesn’t always handle versions correctly
  • #267: [bug]: ari: refer with display_name key in request body leads to crash
  • #274: [bug]: Syntax Error in SQL Code
  • #275: [bug]:Asterisk make now requires ASTCFLAGS=’-std=gnu99 -Wdeclaration-after-statement’
  • #277: [bug]: pbx.c: Compiler error with gcc 12.2
  • #281: [bug]: app_dial: Infinite loop if called channel hangs up while receiving digits
  • #335: [bug]: res_pjsip_pubsub: The bad_event unit test causes a SEGV in build_resource_tree

What can we help you find?