Asterisk release 20.8.0

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

The release artifacts are available for immediate download at


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

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.8.0



  • Commits: 44
  • Commit Authors: 15
  • Issues Resolved: 26
  • Security Advisories Resolved: 0

User Notes:

  • res_pjsip_logger: Preserve logging state on reloads.

    Issuing “pjsip reload” will no longer disable
    logging if it was previously enabled from the CLI.

  • loader.c: Allow dependent modules to be unloaded recursively.

    In certain circumstances, modules with dependency relations
    can have their dependents automatically recursively unloaded and loaded
    again using the “module refresh” CLI command or the ModuleLoad AMI command.

  • tcptls/iostream: Add support for setting SNI on client TLS connections

    Secure websocket client connections now send SNI in
    the TLS client hello.

  • res_pjsip_endpoint_identifier_ip: Add endpoint identifier transport address.

    set identify_by=transport for the pjsip endpoint. Then
    use the existing ‘match’ option and the new ‘transport’ option of
    the identify.
    Fixes: #672

  • res_pjsip_endpoint_identifier_ip: Endpoint identifier request URI

    this new feature let users match endpoints based on the
    indound SIP requests’ URI. To do so, add ‘request_uri’ to the
    endpoint’s ‘identify_by’ option. The ‘match_request_uri’ option of
    the identify can be an exact match for the entire request uri, or a
    regular expression (between slashes). It’s quite similar to the
    header identifer.
    Fixes: #599

  • res_pjsip_refer.c: Allow GET_TRANSFERRER_DATA

    the GET_TRANSFERRER_DATA dialplan variable can now be used also in pjsip.

  • manager.c: Add new parameter ‘PreDialGoSub’ to Originate AMI action

    When using the Originate AMI Action, we now can pass the PreDialGoSub parameter, instructing the asterisk to perform an subrouting at channel before call start. With this parameter an call initiated by AMI can request the channel to start the call automaticaly, adding a SIP header to using GoSUB, instructing to autoanswer the channel, and proceeding the outbuound extension executing. Exemple of an context to perform the previus indication:
    exten => _s,1,Set(PJSIP_HEADER(add,Call-Info)=answer-after=0)
    exten => _s,n,Set(PJSIP_HEADER(add,Alert-Info)=answer-after=0)
    exten => _s,n,Return()

  • manager.c: Add CLI command to kick AMI sessions.

    The “manager kick session” CLI command now
    allows kicking a specified AMI session.

  • chan_dahdi: Allow specifying waitfordialtone per call.

    “waitfordialtone” may now be specified for DAHDI
    trunk channels on a per-call basis using the CHANNEL function.

  • Upgrade bundled pjproject to 2.14.1

    Bundled pjproject has been upgraded to 2.14.1. For more
    information visit pjproject Github page: Release PJSIP version 2.14.1 · pjsip/pjproject · GitHub

Upgrade Notes:

  • pbx_variables.c: Prevent SEGV due to stack overflow.

    The maximum amount of dialplan recursion
    using variable substitution (such as by using EVAL_EXTEN)
    is capped at 15.

Commit Authors:

  • Fabrice Fontaine: (1)
  • George Joseph: (8)
  • Henrik Liljedahl: (1)
  • Holger Hans Peter Freyther: (1)
  • Ivan Poddubny: (2)
  • Jonatascalebe: (1)
  • Joshua Elson: (1)
  • Martin Nystroem: (1)
  • Martin Tomec: (1)
  • Maximilian Fridrich: (1)
  • Naveen Albert: (14)
  • Sean Bright: (8)
  • Sperl Viktor: (2)
  • Spiridonov Dmitry: (1)
  • Stanislav Abramenkov: (1)