Asterisk Release Candidate 20.16.0-rc1

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-20.16.0.

The release artifacts are available for immediate download at

and

Repository: GitHub - asterisk/asterisk: The official Asterisk Project repository.
Tag: 20.16.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.16.0-rc1

Links:

Summary:

  • Commits: 51
  • Commit Authors: 22
  • Issues Resolved: 37
  • Security Advisories Resolved: 0

User Notes:

  • app_queue.c: Add new global ‘log_unpause_on_reason_change’

    Add new global option ‘log_unpause_on_reason_change’ that
    is default disabled. When enabled cause addition of UNPAUSE event on
    every re-PAUSE with reason changed.

  • pbx_builtins: Allow custom tone for WaitExten.

    The tone used while waiting for digits in WaitExten
    can now be overridden by specifying an argument for the ‘d’
    option.

  • res_tonedetect: Add option for TONE_DETECT detection to auto stop.

    The ‘e’ option for TONE_DETECT now allows detection to
    be disabled automatically once the desired number of matches have
    been fulfilled, which can help prevent race conditions in the
    dialplan, since TONE_DETECT does not need to be disabled after
    a hit.

  • sorcery: Prevent duplicate objects and ensure missing objects are created on u..

    Users relying on Sorcery multiple writable backends configurations
    (e.g., astdb + realtime) may now enable update_or_create_on_update_miss = yes
    in sorcery.conf to ensure missing objects are recreated after temporary backend
    failures. Default behavior remains unchanged unless explicitly enabled.

  • chan_websocket: Allow additional URI parameters to be added to the outgoing URI.

    A new WebSocket channel driver option v has been added to the
    Dial application that allows you to specify additional URI parameters on
    outgoing connections. Run core show application Dial from the Asterisk CLI
    to see how to use it.

  • app_chanspy: Add option to not automatically answer channel.

    ChanSpy and ExtenSpy can now be configured to not
    automatically answer the channel by using the ‘N’ option.

  • cel: Add STREAM_BEGIN, STREAM_END and DTMF event types.

    Enabling the tracking of the
    STREAM_BEGIN and the STREAM_END event
    types in cel.conf will log media files and
    music on hold played to each channel.
    The STREAM_BEGIN event’s extra field will
    contain a JSON with the file details (path,
    format and language), or the class name, in
    case of music on hold is played. The DTMF
    event’s extra field will contain a JSON with
    the digit and the duration in milliseconds.

  • res_srtp: Add menuselect options to enable AES_192, AES_256 and AES_GCM

    Options are now available in the menuselect “Resource Modules”
    category that allow you to enable the AES_192, AES_256 and AES_GCM
    cipher suites in res_srtp. Of course, libsrtp and OpenSSL must support
    them but modern versions do. Previously, the only way to enable them was
    to set the CFLAGS environment variable when running ./configure.
    The default setting is to disable them preserving existing behavior.

  • cdr: add CANCEL dispostion in CDR

    A new CDR option “canceldispositionenabled” has been added
    that when set to true, the NO ANSWER disposition will be split into
    two dispositions: CANCEL and NO ANSWER. The default value is ‘no’

  • func_curl: Allow auth methods to be set.

    The httpauth field in CURLOPT now allows the authentication
    methods to be set.

  • Media over Websocket Channel Driver

    A new channel driver “chan_websocket” is now available. It can
    exchange media over both inbound and outbound websockets and will both frame
    and re-time the media it receives.
    See http://s.asterisk.net/mow for more information.
    The ARI channels/externalMedia API now includes support for the

Upgrade Notes:

Developer Notes:

  • ARI: Add command to indicate progress to a channel

    A new ARI endpoint is available at /channels/{channelId}/progress to indicate progress to a channel.

  • options: Change ast_options from ast_flags to ast_flags64.

    The 32-bit ast_options has no room left to accomodate new
    options and so has been converted to an ast_flags64 structure. All internal
    references to ast_options have been updated to use the 64-bit flag
    manipulation macros. External module references to the 32-bit ast_options
    should continue to work on little-endian systems because the
    least-significant bytes of a 64 bit integer will be in the same location as a
    32-bit integer. Because that’s not the case on big-endian systems, we’ve
    swapped the bytes in the flags manupulation macros on big-endian systems
    so external modules should still work however you are encouraged to test.

Commit Authors:

  • Alexei Gradinari: (2)
  • Alexey Khabulyak: (2)
  • Allan Nathanson: (1)
  • Artem Umerov: (1)
  • Ben Ford: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (2)
  • Jaco Kroon: (1)
  • Joe Garlick: (1)
  • Jose Lopes: (1)
  • Kodokaii: (1)
  • Martin Tomec: (1)
  • Mike Bradeen: (1)
  • Mkmer: (1)
  • Naveen Albert: (15)
  • Sean Bright: (2)
  • Sperl Viktor: (2)
  • Stanislav Abramenkov: (1)
  • Stuart Henderson: (1)
  • Sven Kube: (2)
  • Tinet-Mucw: (2)
  • Zhou_jiajian: (1)