                                Release Summary

                                asterisk-16.6.0

                                Date: 2019-10-08

                           <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-16.5.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          
   13 George Joseph                  1 tests/test_utils.c. 2 Alexei Gradinari 
   8 Sean Bright                                           2 Joshua C. Colp   
   5 Kevin Harwell                                         2 Dan Cropp        
   5 Tzafrir Cohen                                         2 Frederic LE FOLL 
   4 Joshua Colp                                           2 Dan Cropp        
   3 Alexei Gradinari (license 5691)                       2 Ruddy G          
   3 Asterisk Development Team                             1 Walter Doekes    
   3 Igor Goncharovsky                                     1 Byron Clark      
   2 Frederic LE FOLL                                      1 Jonas Swiatek    
   2 Dan Cropp                                             1 Salah Ahmed      
   1 Rodrigo RamÃrez Norambuena                            1 Guido Falsi      
   1 Walter Doekes                                         1 Cyril RamiÃ¨re   
   1 Leonid Fainshtein                                     1 Stas Kobzar      
   1 Torrey Searle                                         1 Kilburn          
   1 Chris-Savinovich                                      1 Ian Jones        
   1 Guido Falsi                                           1 Alexander Traud  
   1 sungtae kim                                           1 Dennis           
   1 Stas Kobzar                                           1 Mark             
                                                           1 Chris Savinovich 
                                                           1 Alexander Traud  
                                                           1 Gregory Massel   
                                                           1 Torrey Searle    
                                                           1 dennis           

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

                                 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-28495: res_pjsip_t38: 200 OK with SDP answer with declined stream
   causes crash
   Reported by: Alexei Gradinari
     * [965df3c228] Alexei Gradinari -- AST-2019-004 - res_pjsip_t38.c: Add
       NULL checks before using session media

  Bug

    Category: .Release/Targets

   ASTERISK-28488: pjsip mwi: n+1 sip notify's sent on re-register
   Reported by: Chris Savinovich
     * [7db5f5df6a] Kevin Harwell -- res_pjsip_mwi: add better handling of
       solicited vs unsolicited subscriptions

    Category: Applications/app_chanisavail

   ASTERISK-28527: ChanIsAvail() creates a CDR if unanswered=yes is set in
   cdr.conf
   Reported by: Frederic LE FOLL
     * [c8cf3ad389] Frederic LE FOLL -- ChanIsAvail() generates a CDR when
       unanswered=yes in cdr.conf.

    Category: Applications/app_transfer

   ASTERISK-26968: chan_pjsip: Transfer() does not result in TRANSFERSTATUS
   reflecting SIP response to transfer
   Reported by: Dan Cropp
     * [f4896703b9] Dan Cropp -- chan_pjsip: Transmit REFER waits for the
       REFER result setting TRANSFERSTATUS

    Category: Applications/app_voicemail/IMAP

   ASTERISK-28505: app_voicemail/IMAP: segfault in leave_voicemail because
   not checking mailstream
   Reported by: Alexei Gradinari
     * [ff180a5bfc] Alexei Gradinari -- app_voicemail/IMAP: check mailstream
       not NULL in leave_voicemail

    Category: Channels/chan_dahdi

   ASTERISK-28536: Asterisk release candidates fail to build on FreeBSD
   Reported by: Guido Falsi
     * [8931669b37] Guido Falsi -- chan_dahdi: Fix build with clang/llvm
   ASTERISK-28525: chan_dahdi: set CHANNEL(hangupsource) when a PRI channel
   hangs up
   Reported by: Frederic LE FOLL
     * [c6b17b5212] Frederic LE FOLL -- chan_dahdi: set CHANNEL(hangupsource)
       when a PRI channel hangs up

    Category: Channels/chan_pjsip

   ASTERISK-28538: chan_pjsip: Deadlock on fax detection
   Reported by: Joshua C. Colp
     * [deb45228c8] Joshua Colp -- chan_pjsip: Relock correct channel during
       "fax" redirect.
   ASTERISK-26968: chan_pjsip: Transfer() does not result in TRANSFERSTATUS
   reflecting SIP response to transfer
   Reported by: Dan Cropp
     * [f4896703b9] Dan Cropp -- chan_pjsip: Transmit REFER waits for the
       REFER result setting TRANSFERSTATUS

    Category: Channels/chan_sip/General

   ASTERISK-28282: AST_SCHED_REPLACE_UNREF causes wait-on-self deadlocks (in
   chan_sip)
   Reported by: Walter Doekes
     * [64d25d36fb] Walter Doekes -- sched: Don't allow ast_sched_del to
       deadlock ast_sched_runq from same thread

    Category: Channels/chan_unistim

   ASTERISK-25592: chan_unistim: Clang Warning: variable sized type not at
   end of a struct
   Reported by: Alexander Traud
     * [92261d60c8] Igor Goncharovsky -- chan_unistim: Fix clang warning:
       variable sized type not at end of a struct

    Category: Codecs/codec_resample

   ASTERISK-28511: codec_resample: Bad sound quality when up sampling from
   SLIN16 to SLIN32
   Reported by: Ruddy G
     * [bf527810ef] Sean Bright -- codec_resample: Ensure OUTSIDE_SPEEX is
       defined when necessary
     * [cdbb9800e3] Sean Bright -- codec_resample: Upgrade speex_resample to
       fix up-sampling bug

    Category: Core/BuildSystem

   ASTERISK-28487: compile menuselect on gentoo
   Reported by: Kilburn
     * [8399211eaf] Sean Bright -- menuselect: Fix curses build on Gentoo
       Linux

    Category: Core/Channels

   ASTERISK-28499: translate: Crash when frame does not have a "src" field
   set
   Reported by: Gregory Massel
     * [2691ee7e10] Joshua Colp -- AST-2019-005 - translate: Don't assume all
       frames will have a src.

    Category: Core/General

   ASTERISK-28498: cel / cdr: Event times may be incorrect
   Reported by: Joshua C. Colp
     * [6350f4e278] Joshua Colp -- cdr / cel: Use event time at event
       creation instead of processing.

    Category: Core/RTP

   ASTERISK-28480: json integer overflow in ssrc and timestamp
   Reported by: Salah Ahmed
     * [6bb14150c4] Kevin Harwell -- various modules: json integer overflow

    Category: Core/UDPTL

   ASTERISK-28483: packet lost on UDPTL wrap around
   Reported by: Torrey Searle
     * [83390327b2] Torrey Searle -- main/udptl.c: correctly handle udptl
       sequence wrap around

    Category: General

   ASTERISK-28523: Asterisk 16.5.0 Memory leak
   Reported by: Cyril RamiÃ¨re
     * [6b072ab08c] Kevin Harwell -- res_sorcery_memory_cache: stale item
       update leak
   ASTERISK-28472: Asterisk occasionally passes a NULL as srtp->session to
   srtp_protect/unprotect causing SEGV
   Reported by: Jonas Swiatek
     * [d4766a82a2] Kevin Harwell -- srtp: Fix possible race condition, and
       add NULL checks

    Category: Resources/res_config_sqlite3

   ASTERISK-28477: Crash when not specifying "dbfile" in
   res_config_sqlite3.conf
   Reported by: Dennis
     * [28654308ef] Sean Bright -- res_config_sqlite3: Only join threads that
       we started
   ASTERISK-28478: Crash performing "core reload" with modified
   res_config_sqlite3.conf
   Reported by: Dennis
     * [28654308ef] Sean Bright -- res_config_sqlite3: Only join threads that
       we started

    Category: Resources/res_pjsip

   ASTERISK-28521: pjsip: Memory Leak
   Reported by: Mark
     * [2b75c4fc51] George Joseph -- pjproject_bundled: Revert pjproject 2.9
       commits causing leaks
   ASTERISK-28228: res_pjsip: pjsip show contacts prints double entries
   Reported by: Ian Jones
     * [c2b135729c] Joshua Colp -- res_pjsip: Fix multiple of the same
       contact in "pjsip show contacts".

    Category: Resources/res_pjsip_outbound_registration

   ASTERISK-28521: pjsip: Memory Leak
   Reported by: Mark
     * [2b75c4fc51] George Joseph -- pjproject_bundled: Revert pjproject 2.9
       commits causing leaks

    Category: pjproject/pjsip

   ASTERISK-28509: PJSIP cnonce generated on Linux contains 36 characters,
   NEC only supports up to 32 characters
   Reported by: Dan Cropp
     * [c8cc530726] Dan Cropp -- pjproject: Configurable setting for cnonce
       to include hyphens or not

  New Feature

    Category: Resources/res_musiconhold

   ASTERISK-17808: [patch] Unregister a realtime moh class
   Reported by: Byron Clark
     * [b478f46d59] sungtae kim -- res_musiconhold: Added unregister realtime
       moh class

    Category: pjproject/pjsip

   ASTERISK-28489: Channel variable SIPFROMDOMAIN for chan_pjsip to setup
   From header URI domain
   Reported by: Stas Kobzar
     * [fb984eda40] Stas Kobzar -- res_pjsip: Channel variable SIPFROMDOMAIN

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

                      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                            |
   |------------+----------------------+------------------------------------|
   | e70a65eb55 | Asterisk Development | Update for 16.6.0-rc2              |
   |            | Team                 |                                    |
   |------------+----------------------+------------------------------------|
   | 951d914aab | Asterisk Development | Update for 16.6.0-rc1              |
   |            | Team                 |                                    |
   |------------+----------------------+------------------------------------|
   | 688908fe7a | Asterisk Development | Update CHANGES and UPGRADE.txt for |
   |            | Team                 | 16.6.0                             |
   |------------+----------------------+------------------------------------|
   | d566314e38 | George Joseph        | ARI: External Media                |
   |------------+----------------------+------------------------------------|
   |            |                      | test_utils.c: Skip test            |
   | a321225fa4 | Chris-Savinovich     | adsi_loaded_test if module not     |
   |            |                      | loaded.                            |
   |------------+----------------------+------------------------------------|
   |            |                      | chan_unistim: Fix code, causing    |
   | 78d00c277c | Igor Goncharovsky    | all incoming DTMF sent back to     |
   |            |                      | asterisk                           |
   |------------+----------------------+------------------------------------|
   | 821b7561f8 | Igor Goncharovsky    | chan_unistim: Fix RTP port byte    |
   |            |                      | order for big-endian arch          |
   |------------+----------------------+------------------------------------|
   | aaaa1695ca | Alexei Gradinari     | Fix misname 'res_external_mwi' to  |
   |            |                      | 'res_mwi_external' in comments.    |
   |------------+----------------------+------------------------------------|
   | c00a010fe8 | George Joseph        | chan_rtp: Accept hostname as well  |
   |            |                      | as ip address as destination       |
   |------------+----------------------+------------------------------------|
   | 6407ccd2d9 | George Joseph        | dns_core: Create new API           |
   |            |                      | ast_dns_resolve_ipv6_and_ipv4      |
   |------------+----------------------+------------------------------------|
   | f82d0b74fd | George Joseph        | res_ari.c: Prefer exact handler    |
   |            |                      | match over wildcard                |
   |------------+----------------------+------------------------------------|
   | 51fd43206b | Sean Bright          | audiohook.c: Substitute silence    |
   |            |                      | for unavailable audio frames       |
   |------------+----------------------+------------------------------------|
   | 92066b8746 | George Joseph        | CI: Escape backslashes in          |
   |            |                      | printenv/sort/tr                   |
   |------------+----------------------+------------------------------------|
   | db9684ad1e | George Joseph        | CI: Add "throttle" label and       |
   |            |                      | "skip_gate" capability             |
   |------------+----------------------+------------------------------------|
   | 2641081caa | George Joseph        | CI: Make node labels job-specific  |
   |------------+----------------------+------------------------------------|
   | 9718376902 | Sean Bright          | res_musiconhold: Use a vector      |
   |            |                      | instead of custom array allocation |
   |------------+----------------------+------------------------------------|
   | 0ebfc4a19d | Sean Bright          | manager: Send fewer packets        |
   |------------+----------------------+------------------------------------|
   | d6af1acb8c | Sean Bright          | res_musiconhold: Use               |
   |            |                      | ast_pipe_nonblock() wrapper        |
   |------------+----------------------+------------------------------------|
   | 05cf9c9912 | George Joseph        | loader.c: Fix possible SEGV when a |
   |            |                      | module fails to register           |
   |------------+----------------------+------------------------------------|
   | 06780d2bc4 | George Joseph        | CI: Don't enable non-core modules  |
   |            |                      | in Certified branches              |
   |------------+----------------------+------------------------------------|
   | 3814faf848 | Leonid Fainshtein    | openr2(6/6): Set hangup cause      |
   |------------+----------------------+------------------------------------|
   | 06515707df | Tzafrir Cohen        | openr2(5/6): added cli command --  |
   |            |                      | mfcr2 destroy link <index>         |
   |------------+----------------------+------------------------------------|
   | 93a093f6c4 | Tzafrir Cohen        | openr2(4/6): added new cli command |
   |            |                      | -- mfcr2 show links                |
   |------------+----------------------+------------------------------------|
   | a45cfefb77 | Tzafrir Cohen        | openr2(3/6): Convert r2links to    |
   |            |                      | standard Asterisk AST_LIST*        |
   |------------+----------------------+------------------------------------|
   |            |                      | openr2(2/6): Stop polling channels |
   | ec6e88592a | Tzafrir Cohen        | when DAHDI returns -ENODEV (e.g:   |
   |            |                      | plug-out)                          |
   |------------+----------------------+------------------------------------|
   | 7b6df814a6 | Tzafrir Cohen        | openr2(1/6): bugfix in             |
   |            |                      | configuration saving               |
   |------------+----------------------+------------------------------------|
   | 356f4256cc | George Joseph        | CI: Add cleanWs to cleanup steps   |
   |            |                      | in jenkinsfiles                    |
   |------------+----------------------+------------------------------------|
   | 9d69469203 | Rodrigo RamÃrez      | README.md: Update year             |
   |            | Norambuena           |                                    |
   |------------+----------------------+------------------------------------|
   | c86c0973ff | George Joseph        | CI: Add install-headers to the     |
   |            |                      | install make targets               |
   |------------+----------------------+------------------------------------|
   | f62d9013c1 | George Joseph        | Build: Add separate header         |
   |            |                      | install/uninstall targets          |
   |------------+----------------------+------------------------------------|
   | 88ea395c33 | Kevin Harwell        | manager: Log AMI actions           |
   +------------------------------------------------------------------------+

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

                                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-16.5.0-summary.html                                                                    |  105 -
 asterisk-16.5.0-summary.txt                                                                     |  302 --
 b/.version                                                                                      |    2
 b/CHANGES                                                                                       |   49
 b/ChangeLog                                                                                     |  810 +++++++
 b/Makefile                                                                                      |   30
 b/README.md                                                                                     |    2
 b/UPGRADE.txt                                                                                   |   14
 b/apps/app_agent_pool.c                                                                         |    4
 b/apps/app_chanisavail.c                                                                        |    3
 b/apps/app_mixmonitor.c                                                                         |   13
 b/apps/app_queue.c                                                                              |   12
 b/apps/app_voicemail.c                                                                          |    2
 b/asterisk-16.6.0-rc2-summary.html                                                              |   26
 b/asterisk-16.6.0-rc2-summary.txt                                                               |  118 +
 b/channels/chan_dahdi.c                                                                         |  427 +++-
 b/channels/chan_iax2.c                                                                          |    8
 b/channels/chan_pjsip.c                                                                         |  179 +
 b/channels/chan_rtp.c                                                                           |   19
 b/channels/chan_unistim.c                                                                       |  174 -
 b/channels/sig_pri.c                                                                            |   17
 b/codecs/Makefile                                                                               |    3
 b/codecs/speex/arch.h                                                                           |   13
 b/codecs/speex/fixed_generic.h                                                                  |    4
 b/codecs/speex/resample.c                                                                       |  332 +--
 b/codecs/speex/speex_resampler.h                                                                |    4
 b/funcs/func_talkdetect.c                                                                       |    2
 b/include/asterisk/audiohook.h                                                                  |    2
 b/include/asterisk/cel.h                                                                        |   22
 b/include/asterisk/dns_core.h                                                                   |   22
 b/include/asterisk/sched.h                                                                      |   16
 b/main/aoc.c                                                                                    |    8
 b/main/audiohook.c                                                                              |   11
 b/main/ccss.c                                                                                   |    4
 b/main/cdr.c                                                                                    |   52
 b/main/cel.c                                                                                    |   82
 b/main/channel.c                                                                                |    4
 b/main/core_local.c                                                                             |    6
 b/main/dns_core.c                                                                               |   72
 b/main/loader.c                                                                                 |    2
 b/main/manager.c                                                                                |  105 -
 b/main/rtp_engine.c                                                                             |   27
 b/main/sched.c                                                                                  |   30
 b/main/stasis_channels.c                                                                        |    4
 b/main/translate.c                                                                              |    2
 b/main/udptl.c                                                                                  |   18
 b/menuselect/Makefile                                                                           |    8
 b/menuselect/autoconfig.h.in                                                                    |    3
 b/menuselect/configure                                                                          |  334 +++
 b/menuselect/configure.ac                                                                       |   12
 b/menuselect/makeopts.in                                                                        |    3
 b/res/ari/ari_model_validators.c                                                                |   56
 b/res/ari/ari_model_validators.h                                                                |   22
 b/res/ari/resource_channels.c                                                                   |  192 +
 b/res/ari/resource_channels.h                                                                   |   42
 b/res/res_ari.c                                                                                 |   23
 b/res/res_ari_channels.c                                                                        |  135 +
 b/res/res_config_sqlite3.c                                                                      |    6
 b/res/res_musiconhold.c                                                                         |  238 +-
 b/res/res_pjsip.c                                                                               |    4
 b/res/res_pjsip/location.c                                                                      |    6
 b/res/res_pjsip_mwi.c                                                                           |  289 ++
 b/res/res_pjsip_sdp_rtp.c                                                                       |    2
 b/res/res_pjsip_session.c                                                                       |   12
 b/res/res_pjsip_t38.c                                                                           |   72
 b/res/res_sorcery_memory_cache.c                                                                |    1
 b/res/res_srtp.c                                                                                |   33
 b/rest-api/api-docs/channels.json                                                               |  146 +
 b/tests/CI/buildAsterisk.sh                                                                     |   10
 b/tests/CI/gates.jenkinsfile                                                                    |   30
 b/tests/CI/installAsterisk.sh                                                                   |    2
 b/tests/CI/periodics-daily.jenkinsfile                                                          |    9
 b/tests/CI/ref_debug.jenkinsfile                                                                |   15
 b/tests/CI/unittests.jenkinsfile                                                                |    9
 b/tests/test_utils.c                                                                            |    5
 b/third-party/pjproject/patches/0020-patch_cnonce_only_digits_option.patch                      |   53
 b/third-party/pjproject/patches/0030-Revert-Misc-re-2147-Fixed-warnings-in-SSL-socket-red.patch |   60
 b/third-party/pjproject/patches/0031-Revert-Fixed-2204-Add-OpenSSL-remote-certificate-cha.patch |   84
 b/third-party/pjproject/patches/0032-Revert-Re-2147-misc-Fix-failed-pjsip-test-transport_.patch |   64
 b/third-party/pjproject/patches/0033-Revert-Close-1019-Support-for-multiple-listeners.patch     | 1044 ++++++++++
 80 files changed, 5101 insertions(+), 1086 deletions(-)
