                                Release Summary

                                asterisk-18.3.0

                                Date: 2021-03-25

                           <asteriskteam@digium.com>

     ----------------------------------------------------------------------

                               Table of Contents

    1. Summary
    2. Contributors
    3. Closed Issues
    4. Other Changes
    5. Diffstat

     ----------------------------------------------------------------------

                                    Summary

                                 [Back to Top]

   This release is a point release of an existing major version. The changes
   included were made to address problems that have been identified in this
   release series, or are minor, backwards compatible new features or
   improvements. Users should be able to safely upgrade to this version if
   this release series is already in use. Users considering upgrading from a
   previous version are strongly encouraged to review the UPGRADE.txt
   document as well as the CHANGES document for information about upgrading
   to this release series.

   The data in this summary reflects changes that have been made since the
   previous release, asterisk-18.2.0.

     ----------------------------------------------------------------------

                                  Contributors

                                 [Back to Top]

   This table lists the people who have submitted code, those that have
   tested patches, as well as those that reported issues on the issue tracker
   that were resolved in this release. For coders, the number is how many of
   their patches (of any size) were committed into this release. For testers,
   the number is the number of times their name was listed as assisting with
   testing a patch. Finally, for reporters, the number is the number of
   issues that they reported that were affected by commits that went into
   this release.

   Coders                       Testers         Reporters                     
   11 Alexander Traud           1 Mark Petersen 6 Alexander Traud             
   9 Joshua C. Colp                             3 Boris P. Korzun             
   8 Sean Bright                                3 Joshua C. Colp              
   6 Jaco Kroon                                 2 Matthias Hensler            
   5 George Joseph                              2 Stefan Ruf                  
   4 Ben Ford                                   2 Sebastian Damm              
   3 Kevin Harwell                              2 Gregory Massel              
   3 Asterisk Development Team                  1 Rusty Newton                
   3 Ivan Poddubnyi                             1 Alexei Gradinari            
   3 Boris P. Korzun                            1 Ivan Poddubny               
   1 Salah Ahmed                                1 Jacek Konieczny             
   1 Dan Cropp                                  1 Jaco Kroon                  
   1 Holger Hans Peter Freyther                 1 Edvin Vidmar                
   1 Nico Kooijman                              1 Sébastien Duthil            
   1 Alexei Gradinari                           1 Jean Aunis - Prescom        
   1 Torrey Searle                              1 sungtae kim                 
   1 Nick French                                1 Benjamin Keith Ford         
   1 Robert Cripps                              1 Boolah                      
   1 Sebastien Duthil                           1 Nick French                 
   1 Mark Petersen                              1 Salah Ahmed                 
                                                1 Mauri de Souza Meneguzzo    
                                                (3CPlus)                      
                                                1 N A                         
                                                1 N A                         
                                                1 Jacek Konieczny             
                                                1 IAMJames_                   
                                                1 Mark Petersen               
                                                1 Dan Cropp                   
                                                1 Ivan Poddubny               
                                                1 Vitezslav Novy              
                                                1 Mark Petersen               
                                                1 Michael Maier               
                                                1 George Joseph               
                                                1 Alexander Traud             
                                                1 Brian Paboojian             
                                                1 Dan Cropp                   
                                                1 Robert Cripps               

     ----------------------------------------------------------------------

                                 Closed Issues

                                 [Back to Top]

   This is a list of all issues from the issue tracker that were closed by
   changes that went into this release.

  Security

    Category: Resources/res_pjsip_t38

   ASTERISK-29305: ASTERISK-29203 / AST-2021-002 -- Another scenario is
   causing a crash
   Reported by: Gregory Massel
     * [77328142b4] Ben Ford -- AST-2021-006 - res_pjsip_t38.c: Check for
       session_media on reinvite.

    Category: Resources/res_srtp

   ASTERISK-29260: sRTP Replay Protection ignored; even tears down long calls
   Reported by: Alexander Traud
     * [703158b903] Alexander Traud -- rtp: Enable srtp replay protection

    Category: pjproject/pjsip

   ASTERISK-29227: res_pjsip_diversion: sending multiple 181 responses causes
   memory corruption and crash
   Reported by: Ivan Poddubny
     * [2770cc5872] Ivan Poddubnyi -- res_pjsip_diversion: Fix adding more
       than one histinfo to Supported

  Bug

    Category: Applications/General

   ASTERISK-29287: app.h: C++ compatibility broken
   Reported by: Jean Aunis - Prescom
     * [916d5d5e45] Jaco Kroon -- app.h: Restore C++ compatibility for macro
       AST_DECLARE_APP_ARGS

    Category: Applications/app_confbridge

   ASTERISK-29071: app_confbridge: Memory rises when jitterbuffer enabled and
   muting over AMI occurs
   Reported by: Stefan Ruf
     * [f7bda066bb] Joshua C. Colp -- channel: Fix crash in suppress API.
     * [b43b81d953] Joshua C. Colp -- channel: Fix memory leak in suppress
       API.

    Category: Applications/app_dial

   ASTERISK-29329: app_dial: DTMF to 'D' option gets duplicated if there are
   multiple progress events
   Reported by: N A
     * [94debe5085] Sean Bright -- app_dial.c: Only send DTMF on first
       progress event.

    Category: Applications/app_page

   ASTERISK-16799: Callee declined when 'beep' audio file does not exist
   Reported by: IAMJames_
     * [6673c1b177] Sean Bright -- app_page.c: Don't fail to Page if beep
       sound file is missing

    Category: Applications/app_queue

   ASTERISK-28369: app_queue: Member device state "invalid" when second call
   is ringing and hint is used
   Reported by: Boolah
     * [985d3e4940] Ivan Poddubnyi -- app_queue: Fix conversion of complex
       extension states into device states

    Category: Channels/chan_local

   ASTERISK-29035: chan_local: Multistream support breaks T.38 faxing
   Reported by: Matthias Hensler
     * [47e9ce96ea] Joshua C. Colp -- core_unreal: Fix deadlock with T.38
       control frames.
     * [62e2dd484d] Ben Ford -- core_unreal: Fix T.38 faxing when using local
       channels.

    Category: Channels/chan_sip/CodecHandling

   ASTERISK-29280: chan_sip: Allow peers without audio (text+video).
   Reported by: Alexander Traud
     * [45e48e387c] Alexander Traud -- chan_sip: Allow [peer] without audio
       (text+video).
   ASTERISK-29265: chan_sip: Allow text+video media streams, again.
   Reported by: Alexander Traud
     * [87ad1138ff] Alexander Traud -- chan_sip: Set up calls without audio
       (text+video), again.
   ASTERISK-29258: chan_sip: Audio stream rejected, Other stream present:
   Invalid SDP.
   Reported by: Alexander Traud
     * [4c154f3431] Alexander Traud -- chan_sip: SDP: Reject audio streams
       correctly.

    Category: Core/Bridging

   ASTERISK-29071: app_confbridge: Memory rises when jitterbuffer enabled and
   muting over AMI occurs
   Reported by: Stefan Ruf
     * [f7bda066bb] Joshua C. Colp -- channel: Fix crash in suppress API.
     * [b43b81d953] Joshua C. Colp -- channel: Fix memory leak in suppress
       API.

    Category: Core/Channels

   ASTERISK-29259: channel: Allow text+video media streams, again.
   Reported by: Alexander Traud
     * [f64ddf3db3] Alexander Traud -- channel: Set up calls without audio
       (text+video), again.

    Category: Core/General

   ASTERISK-29306: strings: Incorrect use of __attribute__((pure)) in
   ast_str_to_lower definition
   Reported by: Vitezslav Novy
     * [e4cd7a7d0b] Sean Bright -- strings.h: ast_str_to_upper() and
       _to_lower() are not pure.

    Category: Core/Internationalization

   ASTERISK-29297: say: Y2021 problem – Asterisk cannot say year 2021 in
   Dutch
   Reported by: Jacek Konieczny
     * [7b052ec965] Nico Kooijman -- main: With Dutch language year after
       2020 is not spoken in say.c

    Category: Documentation

   ASTERISK-24434: Fix differing usage of assignment operators in
   modules.conf
   Reported by: Rusty Newton
     * [3084084648] Sean Bright -- modules.conf: Fix differing usage of
       assignment operators.

    Category: Resources/res_config_pgsql

   ASTERISK-29293: res_config_pgsql: Limit realtime_pgsql() to return one (no
   more) record
   Reported by: Boris P. Korzun
     * [beb579bc99] Boris P. Korzun -- res_config_pgsql: Limit
       realtime_pgsql() to return one (no more) record.

    Category: Resources/res_fax

   ASTERISK-29312: res_fax: asterisk fails to publish the Stasis and
   ReceiveFax status messages if the remote Station ID contains invalid UTF-8
   characters
   Reported by: Alexei Gradinari
     * [d5e73d2121] Alexei Gradinari -- res_fax: validate the remote/local
       Station ID for UTF-8 format

    Category: Resources/res_odbc

   ASTERISK-29311: res_odbc_transaction sets forcecommit default value based
   on isolation level instead of forcecommit
   Reported by: Jaco Kroon
     * [7ab53fce7a] Jaco Kroon -- res_odbc_transaction: correctly initialise
       forcecommit value from DSN.

    Category: Resources/res_pjsip

   ASTERISK-29196: res_pjsip: Segmentation fault
   Reported by: Mauri de Souza Meneguzzo (3CPlus)
     * [acb7ce4fe7] Joshua C. Colp -- pjsip: Make modify_local_offer2
       tolerate previous failed SDP.
   ASTERISK-29261: res_pjsip: user=phone validation fail for isup numbers
   containing *#
   Reported by: Mark Petersen
     * [176274caa4] Mark Petersen -- res/res_pjsip.c: allow user=phone when
       number contain *#

    Category: Resources/res_pjsip_nat

   ASTERISK-29235: res_pjsip_nat: Contact is rewritten on REGISTER responses
   with external_signaling_address
   Reported by: Brian Paboojian
     * [976b1a1d7a] Joshua C. Colp -- res_pjsip_nat: Don't rewrite Contact on
       REGISTER responses.

    Category: Resources/res_pjsip_outbound_registration

   ASTERISK-29315: res_pjsip: re-registration gets stuck if setting initial
   auth credentials fails
   Reported by: Nick French
     * [dedfb334bd] Nick French -- res_pjsip: dont return early from
       registration if init auth fails

    Category: Resources/res_pjsip_refer

   ASTERISK-29313: res_pjsip_refer: Segfault in progress notify
   Reported by: George Joseph
     * [15afabdf8e] George Joseph -- res_pjsip_refer: Refactor progress
       locking and serialization

    Category: Resources/res_pjsip_registrar

   ASTERISK-29235: res_pjsip_nat: Contact is rewritten on REGISTER responses
   with external_signaling_address
   Reported by: Brian Paboojian
     * [976b1a1d7a] Joshua C. Colp -- res_pjsip_nat: Don't rewrite Contact on
       REGISTER responses.

    Category: Resources/res_pjsip_sdp_rtp

   ASTERISK-29105: chan_pjsip: 180 Ringing with SDP not changed into progress
   Reported by: Sebastian Damm
     * [3286c04856] Holger Hans Peter Freyther -- pjsip: Generate progress
       (once) when receiving a 180 with a SDP
   ASTERISK-28452: pjsip: of SDP is not incremented though SDP may be changed
   on reinvite without SDP offer
   Reported by: Michael Maier
     * [1af2a84c8b] Joshua C. Colp -- res_pjsip_session: Always produce offer
       on re-INVITE without SDP.

    Category: Resources/res_pjsip_session

   ASTERISK-29215: res_pjsip_session: NULL active_media_state topology caused
   asterisk crash
   Reported by: sungtae kim
     * [bffff6e2d0] George Joseph -- res_pjsip_session: Make
       reschedule_reinvite check for NULL topologies
   ASTERISK-29303: pjsip: Re-invite occurs when it shouldn't
   Reported by: Benjamin Keith Ford
     * [83b0f5963f] Ben Ford -- res_pjsip_session.c: Check topology on
       re-invite.
   ASTERISK-29203: res_pjsip_t38: Crash when changing state
   Reported by: Gregory Massel
     * [fad0cf12e6] Kevin Harwell -- AST-2021-002: Remote crash possible when
       negotiating T.38
   ASTERISK-29220: After T38 reinvite response of 488 a subsequent G711
   reinvite is not processed correctly. Instead the previous T38 session
   media is used
   Reported by: Robert Cripps
     * [017e09b40a] Robert Cripps -- res/res_pjsip_session.c: Check that
       media type matches in
   ASTERISK-29248: res_pjsip_session: res sometimes uninitialized reported by
   compiler Clang.
   Reported by: Alexander Traud
     * [3f119192bb] Alexander Traud -- res_pjsip_session: Avoid
       sometimes-uninitialized warning with Clang.

    Category: Resources/res_pjsip_t38

   ASTERISK-29203: res_pjsip_t38: Crash when changing state
   Reported by: Gregory Massel
     * [fad0cf12e6] Kevin Harwell -- AST-2021-002: Remote crash possible when
       negotiating T.38

    Category: Resources/res_rtp_asterisk

   ASTERISK-29300: res_rtp_asterisk: When native local bridging the remote
   SSRC becomes permanent
   Reported by: Sebastian Damm
     * [90ef6a14a7] Torrey Searle -- res/res_rtp_asterisk: generate new SSRC
       on native bridge end
   ASTERISK-29266: ICE Role conflict with an unauthorized session
   Reported by: Salah Ahmed
     * [df8d335ad1] Salah Ahmed -- res_rtp_asterisk: Check remote ICE reset
       and reset local ice attrb
   ASTERISK-29205: res_rtp_asterisk: Asterisk crashes when making hold/unhold
   from webrtc client
   Reported by: Edvin Vidmar
     * [5a6f2f913b] Sean Bright -- res_rtp_asterisk.c: Fix signed mismatch
       that leads to overflow

    Category: pjproject/pjsip

   ASTERISK-28452: pjsip: of SDP is not incremented though SDP may be changed
   on reinvite without SDP offer
   Reported by: Michael Maier
     * [1af2a84c8b] Joshua C. Colp -- res_pjsip_session: Always produce offer
       on re-INVITE without SDP.

  Improvement

    Category: Applications/app_mixmonitor

   ASTERISK-29244: Add MixMonitorStart / Stop / Mute AMI events
   Reported by: Sébastien Duthil
     * [092628c982] Sebastien Duthil -- app_mixmonitor: Add AMI events
       MixMonitorStart, -Stop and -Mute.

    Category: Applications/app_transfer

   ASTERISK-29252: TRANSFERSTATUSPROTOCOL variable to report Transfer (REFER)
   failure SIP code
   Reported by: Dan Cropp
     * [088816284a] Dan Cropp -- chan_pjsip, app_transfer: Add
       TRANSFERSTATUSPROTOCOL variable

    Category: Channels/chan_pjsip

   ASTERISK-29252: TRANSFERSTATUSPROTOCOL variable to report Transfer (REFER)
   failure SIP code
   Reported by: Dan Cropp
     * [088816284a] Dan Cropp -- chan_pjsip, app_transfer: Add
       TRANSFERSTATUSPROTOCOL variable

    Category: Core/General

   ASTERISK-29326: asterisk: Update copyright/company
   Reported by: Joshua C. Colp
     * [682f7d9437] Joshua C. Colp -- asterisk: Update copyright.

    Category: Core/Sorcery

   ASTERISK-29321: sorcery: Add support for more intelligent reloading.
   Reported by: Joshua C. Colp
     * [a9acbd19f3] Joshua C. Colp -- sorcery: Add support for more
       intelligent reloading.

    Category: Formats/format_wav

   ASTERISK-29275: Support of MIME-type for wav16
   Reported by: Boris P. Korzun
     * [57d130d3aa] Boris P. Korzun -- format_wav: Support of MIME-type for
       wav16

    Category: Resources/res_musiconhold

   ASTERISK-29262: Support of various URL-schemes by MoH
   Reported by: Boris P. Korzun
     * [f1c88a497b] Boris P. Korzun -- res_musiconhold: Add support of
       various URL-schemes by MoH.

    Category: Resources/res_pjsip_registrar

   ASTERISK-29325: res_pjsip_registrar: Include source IP address and port in
   log messages
   Reported by: Joshua C. Colp
     * [5f1c21e4ca] Joshua C. Colp -- res_pjsip_registrar: Include source IP
       and port in log messages.

     ----------------------------------------------------------------------

                      Commits Not Associated with an Issue

                                 [Back to Top]

   This is a list of all changes that went into this release that did not
   reference a JIRA issue.

   +------------------------------------------------------------------------+
   | Revision   | Author           | Summary                                |
   |------------+------------------+----------------------------------------|
   | 2c0e6bac06 | Asterisk         | Update for 18.3.0-rc2                  |
   |            | Development Team |                                        |
   |------------+------------------+----------------------------------------|
   | ae4a3da557 | Asterisk         | Update for 18.3.0-rc1                  |
   |            | Development Team |                                        |
   |------------+------------------+----------------------------------------|
   | 263f906af4 | Kevin Harwell    | manager: Increase the non breaking AMI |
   |            |                  | version number                         |
   |------------+------------------+----------------------------------------|
   | 0afd37e3b5 | Asterisk         | Update CHANGES and UPGRADE.txt for     |
   |            | Development Team | 18.3.0                                 |
   |------------+------------------+----------------------------------------|
   |            |                  | func_callerid+res_agi: Fix compile     |
   | 23e41313a8 | Jaco Kroon       | errors related to                      |
   |            |                  | -Werror=zero-length-bounds             |
   |------------+------------------+----------------------------------------|
   | 52707fba7f | Jaco Kroon       | app.h: Fix -Werror=zero-length-bounds  |
   |            |                  | compile errors in dev mode.            |
   |------------+------------------+----------------------------------------|
   | 262473c6d9 | Alexander Traud  | res_format_attr_*: Parameter Names are |
   |            |                  | Case-Insensitive.                      |
   |------------+------------------+----------------------------------------|
   | 4fc0e16838 | Alexander Traud  | chan_iax2: System Header strings is    |
   |            |                  | included via asterisk.h/compat.h.      |
   |------------+------------------+----------------------------------------|
   | 16e4d1f36f | Sean Bright      | res_musiconhold.c: Plug ref leak       |
   |            |                  | caused by ao2_replace() misuse.        |
   |------------+------------------+----------------------------------------|
   | 269bb08ea2 | George Joseph    | res_pjsip_refer: Move the progress dlg |
   |            |                  | release to a serializer                |
   |------------+------------------+----------------------------------------|
   | 0323293142 | Alexander Traud  | res_format_attr_h263: Generate valid   |
   |            |                  | SDP fmtp for H.263+.                   |
   |------------+------------------+----------------------------------------|
   | be0a61bc3d | Kevin Harwell    | res_rtp_asterisk: Add packet subtype   |
   |            |                  | during RTCP debug when relevant        |
   |------------+------------------+----------------------------------------|
   | 1adf9368ee | Alexander Traud  | chan_sip: Filter pass-through          |
   |            |                  | audio/video formats away, again.       |
   |------------+------------------+----------------------------------------|
   | bee35fe04a | Jaco Kroon       | func_odbc: Introduce minargs config    |
   |            |                  | and expose ARGC in addition to ARGn.   |
   |------------+------------------+----------------------------------------|
   | dbd8908f8d | George Joseph    | res_pjsip_refer: Always serialize      |
   |            |                  | calls to refer_progress_notify         |
   |------------+------------------+----------------------------------------|
   | 28f187d6c5 | George Joseph    | chan_iax2.c: Require secret and auth   |
   |            |                  | method if encryption is enabled        |
   |------------+------------------+----------------------------------------|
   | 24d6adfe99 | Sean Bright      | app_read: Release tone zone reference  |
   |            |                  | on early return.                       |
   |------------+------------------+----------------------------------------|
   | 7c0fbaf010 | Ivan Poddubnyi   | main/frame: Add missing control frame  |
   |            |                  | names to ast_frame_subclass2str        |
   |------------+------------------+----------------------------------------|
   | fb42b60326 | Sean Bright      | res_pjsip_pubsub: Fix truncation of    |
   |            |                  | persisted SUBSCRIBE packet             |
   |------------+------------------+----------------------------------------|
   | 9c56870929 | Jaco Kroon       | AC_HEADER_STDC causes a compile        |
   |            |                  | failure with autoconf 2.70             |
   |------------+------------------+----------------------------------------|
   |            |                  | pjsip_scheduler: Fix pjsip show        |
   | a25bcf70ed | Alexander Traud  | scheduled_tasks like for compiler      |
   |            |                  | Clang.                                 |
   |------------+------------------+----------------------------------------|
   | 87a35f8e94 | Ben Ford         | chan_pjsip.c: Add parameters to frame  |
   |            |                  | in indicate.                           |
   +------------------------------------------------------------------------+

     ----------------------------------------------------------------------

                                Diffstat Results

                                 [Back to Top]

   This is a summary of the changes to the source code that went into this
   release that was generated using the diffstat utility.

 asterisk-18.2.0-summary.html             |  169 -----
 asterisk-18.2.0-summary.txt              |  508 -----------------
 b/.version                               |    2
 b/CHANGES                                |   53 +
 b/ChangeLog                              |  923 ++++++++++++++++++++++++++++++-
 b/README.md                              |    8
 b/UPGRADE.txt                            |   14
 b/apps/app_dial.c                        |   14
 b/apps/app_mixmonitor.c                  |   75 ++
 b/apps/app_page.c                        |   13
 b/apps/app_queue.c                       |    6
 b/apps/app_read.c                        |    3
 b/apps/app_transfer.c                    |   24
 b/asterisk-18.3.0-rc2-summary.html       |   14
 b/asterisk-18.3.0-rc2-summary.txt        |  102 +++
 b/channels/chan_iax2.c                   |   40 +
 b/channels/chan_pjsip.c                  |   41 +
 b/channels/chan_sip.c                    |   60 --
 b/configs/samples/func_odbc.conf.sample  |   11
 b/configs/samples/iax.conf.sample        |    9
 b/configs/samples/modules.conf.sample    |   16
 b/configs/samples/rtp.conf.sample        |   12
 b/configs/samples/stasis.conf.sample     |    2
 b/configure                              |  116 ---
 b/configure.ac                           |    5
 b/formats/format_wav.c                   |    3
 b/funcs/func_callerid.c                  |  146 ++--
 b/funcs/func_odbc.c                      |   31 -
 b/include/asterisk/app.h                 |    7
 b/include/asterisk/channel.h             |   12
 b/include/asterisk/core_unreal.h         |    2
 b/include/asterisk/manager.h             |    2
 b/include/asterisk/sorcery.h             |   22
 b/include/asterisk/stasis_channels.h     |   26
 b/include/asterisk/strings.h             |    4
 b/main/asterisk.c                        |    8
 b/main/channel.c                         |   45 +
 b/main/core_unreal.c                     |   92 +++
 b/main/frame.c                           |    9
 b/main/manager_channels.c                |   56 +
 b/main/say.c                             |    4
 b/main/sorcery.c                         |   17
 b/main/stasis.c                          |    3
 b/main/stasis_channels.c                 |    9
 b/main/translate.c                       |   24
 b/res/res_agi.c                          |    6
 b/res/res_config_pgsql.c                 |   32 -
 b/res/res_fax.c                          |   12
 b/res/res_format_attr_celt.c             |   14
 b/res/res_format_attr_h263.c             |  141 ++++
 b/res/res_format_attr_ilbc.c             |   12
 b/res/res_format_attr_opus.c             |   31 -
 b/res/res_format_attr_silk.c             |   17
 b/res/res_format_attr_siren14.c          |   13
 b/res/res_format_attr_siren7.c           |   13
 b/res/res_format_attr_vp8.c              |   12
 b/res/res_musiconhold.c                  |   10
 b/res/res_odbc_transaction.c             |    5
 b/res/res_pjsip.c                        |    2
 b/res/res_pjsip/pjsip_scheduler.c        |    2
 b/res/res_pjsip_diversion.c              |   14
 b/res/res_pjsip_endpoint_identifier_ip.c |    3
 b/res/res_pjsip_nat.c                    |   24
 b/res/res_pjsip_outbound_registration.c  |   13
 b/res/res_pjsip_path.c                   |   12
 b/res/res_pjsip_pubsub.c                 |    2
 b/res/res_pjsip_refer.c                  |  163 +++--
 b/res/res_pjsip_registrar.c              |   21
 b/res/res_pjsip_sdp_rtp.c                |   42 +
 b/res/res_pjsip_session.c                |  197 +++---
 b/res/res_pjsip_t38.c                    |    9
 b/res/res_rtp_asterisk.c                 |   75 ++
 b/res/res_sorcery_config.c               |    6
 73 files changed, 2450 insertions(+), 1215 deletions(-)
