Asterisk 17.0.0 Now Available!

Asterisk 17.0.0 Now Available!

The Asterisk Development Team would like to announce the release of Asterisk 17.0.0.

This release is available for immediate download at
https://downloads.asterisk.org/pub/telephony/asterisk

The release of Asterisk 17.0.0 resolves several issues reported by the community and would have not been possible without your participation.

Thank you!

The following issues are resolved in this release:

Security bugs fixed in this release:

———————————–

res_pjsip_t38: 200 OK with SDP answer with declined stream causes crash
(Reported by Alexei Gradinari)
res_pjsip_messaging: In-dialog MESSAGE with no body causes crash
(Reported by Gil Richard)
Broken SDP can cause a segfault in a T.38 reINVITE
(Reported by Francesco Castellano)
Asterisk segfault when rtp negotiation is wrong or fails
(Reported by Sotiris Ganouris)
Buffer overflow for DNS SRV/NAPTR records
(Reported by Jan Hoffmann)
res_http_websocket: Crash when reading HTTP Upgrade requests
(Reported by Sean Bright)

New Features made in this release:

———————————–

Add native Prometheus support to Asterisk
(Reported by Matt Jordan)
res_pjsip: New configuration setting to allow disabling norefersub
(Reported by Dan Cropp)
Added ARI resource /ari/channels/{channelid}/rtp_statistics
(Reported by sungtae kim)
res_stasis: Add ability to switch applications
(Reported by Benjamin Keith Ford)
add flag to allow CALLERID(num) to be placed in Contact header in chan_pjsip
(Reported by Torrey Searle)
res_pjsip: Implement additional SIP RFCs for Google Voice trunk compatability
(Reported by Nick French)

Bugs fixed in this release:

———————————–

Asterisk Deadlocks
(Reported by Aheliotech)
MWI Send Notify Crash on 16.6
(Reported by Joshua Elson)
pjproject fails to build on 16.6.0, works on 16.5
(Reported by Niklas Larsson)
pjsip: Memory Leak
(Reported by Mark)
Asterisk 16.5.0 Memory leak
(Reported by Cyril Ramière)
chan_pjsip: Deadlock on fax detection
(Reported by Joshua C. Colp)
Asterisk release candidates fail to build on FreeBSD
(Reported by Guido Falsi)
translate: Crash when frame does not have a “src” field set
(Reported by Gregory Massel)
pjsip mwi: n+1 sip notify’s sent on re-register
(Reported by Chris Savinovich)
PJSIP cnonce generated on Linux contains 36 characters, NEC only supports up to 32 characters
(Reported by Dan Cropp)
app_voicemail/IMAP: segfault in leave_voicemail because not checking mailstream
(Reported by Alexei Gradinari)
compile menuselect on gentoo
(Reported by Kilburn)
Asterisk occasionally passes a NULL as srtp->session to srtp_protect/unprotect causing SEGV
(Reported by Jonas Swiatek)
cel / cdr: Event times may be incorrect
(Reported by Joshua C. Colp)
json integer overflow in ssrc and timestamp
(Reported by Salah Ahmed)
res_pjsip: pjsip show contacts prints double entries
(Reported by Ian Jones)
packet lost on UDPTL wrap around
(Reported by Torrey Searle)
Crash when not specifying “dbfile” in res_config_sqlite3.conf
(Reported by Dennis)
Crash performing “core reload” with modified res_config_sqlite3.conf
(Reported by Dennis)
AST_SCHED_REPLACE_UNREF causes wait-on-self deadlocks (in chan_sip)
(Reported by Walter Doekes)
res_pjsip_mwi: Memory leak on reload
(Reported by Sergej Kasumovic)
Fix crash in chan_dahdi on 32-bit systems caused by ASTERISK-28317
(Reported by abelbeck)
res_pjsip_sdp_rtp: Remove unused variable
(Reported by Michael Maier)
Show offending IP for TLS setup failures in logs
(Reported by Oleksandr Natalenko)
chan_pjsip: Peer IP for SSL handshake errors not logged
(Reported by Bernhard Schmidt)
chan_pjsip: Transfer() does not result in TRANSFERSTATUS reflecting SIP response to transfer
(Reported by Dan Cropp)
app_amd: Does not work with silence suppression
(Reported by Nasir Iqbal)
IP Fragmentation happening instead of DTLS fragmentation on handshake server hello certificate
(Reported by vijay kumar)
Crash in hangup at chan_pjsip.c:1749 when Asterisk attempts to generate hangup event
(Reported by Abhay Gupta)
cdr_pgsql: Unix socket doesn’t work
(Reported by Dmitry Svyatogorov)
res_fax: Fax session leak with fax gatewaying
(Reported by pasandev)
new mwi.h include missing from some dahdi source files, causes build failure
(Reported by Guido Falsi)
Wrong type used for timestamp in res_rtp_asterisk
(Reported by Morten Tryfoss)
PJSIP: Early media ringback not indicated after Progress()
(Reported by Gregory Massel)
GCC 9 catches more string formatting issues
(Reported by George Joseph)
pjsip: show channelstats incorrect information output
(Reported by Vyrva Igor)
channel.c: Exceptionally long queue length queuing
(Reported by Abhay Gupta)
The no-partial-inlining flag isn’t passed to the bundled pjproject or jansson builds
(Reported by George Joseph)
res_pjsip_registrar: SEGV in registrar_find_contact
(Reported by Ross Beer)
bridge: Failure to impart a channel results in bad data causing crash
(Reported by Abhay Gupta)
ARI: Bridge destroying doesn’t work as expected
(Reported by Marin Odrljin)
app_amd: Infinite loop on silent calls
(Reported by Abhay Gupta)
stasis: Crash at shutdown when statistics enabled
(Reported by Joshua C. Colp)
latest asterisk unconditionally launch gcc –version, even if the compiler is different
(Reported by Guido Falsi)
res_indications: Crash requesting autocomplete on indications cli command
(Reported by Lucas Mendes)
app_voicemail: emailbody per user can’t contain commas
(Reported by Sébastien Duthil)
1.8.3.2 extenpatternmatchnew=yes cannot find extensions with ‘-‘ in them
(Reported by test011)
AEL reload causes loss of control in a macro
(Reported by Kirill Katsnelson)
AEL for loops use Macro app and pipe delimiter
(Reported by Luke-Jr)
AEL parsers does not find existing label
(Reported by klaus3000)
Parsing a label beginning with a numeric character in all Goto/GotoIf/GotoIfTime application causes unexpected behavior
(Reported by Janu)
Failed to initialize OOH323 endpoint-OOH323 Disabled
(Reported by Dmitry Shubin)
chan_pjsip: DTMF Mode auto_info fallback lead to both inband and info
(Reported by Salah Ahmed)
musl: Crash on startup when loading modules
(Reported by Sebastian Kemper)
strtok_r() makes gcc compile warning
(Reported by sungtae kim)
res_rtp_asterisk: REMB RTCP packet sending may be incorrect
(Reported by Joshua C. Colp)
app_queue: Queue paused reason was (big number) secs ago when reason is set
(Reported by César Benjamín García Martínez)
QUEUE_MEMBER ‘s description is inaccurate
(Reported by Olivier Krief)
manager: Stasis backed up due to locking
(Reported by Joshua C. Colp)
chan_sip: qualifygap bounds checking
(Reported by Paul Sandys)
res_config_odbc eliminates empty custom (“@” prefix) variables
(Reported by Alexei Gradinari)
StasisEnd event makes wrong timestamp value
(Reported by sungtae kim)
res_pjsip_mwi: MWI NOTIFY occasionally takes minutes to be sent
(Reported by Jared Hull)
Variable ALTCONF ignored when service is used in Debian
(Reported by Cirillo Ferreira)
app_queue: ring_entry accesses nativeformats without channel lock or reference
(Reported by Francisco Seratti)
stasis: Make topic and maybe subscription names unique and more useful
(Reported by Joshua C. Colp)
res_rtp_asterisk: Fixing possible divide by zero for rtcp stat calculation
(Reported by sungtae kim)
chan_pjsip: Add option to allow ignoring of 183 without SDP
(Reported by Torrey Searle)
MeetMe global non-admin mute is muting admins that subsequently join
(Reported by Philip Mott)
app_queue: Adding a blank entry into sql queue_members crashes asterisk.
(Reported by Michael)
pjsip: sip.conf to pjsip.conf conversion script fails
(Reported by Guido Weckwerth)
The basic-pbx config samples don’t produce a running asterisk
(Reported by George Joseph)
res_pjsip_diversion: Corrupted SIP Diversion field after handling a 302 redirect
(Reported by Alex Odrov)
File menuselect/menuselect_gtk.c has no license header
(Reported by Jeremy Lainé)
app_voicemail: Asterisk unresponsive after changing voicemail password with ODBC
(Reported by Michael)
res_pjsip: Wrong Contact and Via fields with multiple UDP interfaces
(Reported by Nikolay shakin)
PJSIP: Adding `sends_registrations = yes` to pjsip_wizard.conf causes crash
(Reported by Jonathan Harris)
res_pjsip: Threads pile up needlessly when AOR is blocked
(Reported by Ross Beer)
Allow voicemail boxes to be subscribed to with a presence event package
(Reported by George Joseph)
res_rtp_asterisk: Interaction between smoother and DTMF can cause out of order timestamps
(Reported by Torrey Searle)
ARI: “Error destroying mutex” when listing all ARI applications
(Reported by Stefan Repke)
AST_PBX_MAX_STACK is too low for some applications
(Reported by George Joseph)
Astricon Feedback: Unable to filter ARI events when GETting causes overload of events
(Reported by George Joseph)
switching between native_bridge and simple_bridge can cause one way audio
(Reported by Torrey Searle)
CI: Fix CI so it reverifies commit message changes
(Reported by George Joseph)
database: Add some basic logging
(Reported by Joshua C. Colp)
ari: Originating overwrites channel start time
(Reported by sungtae kim)
Deadlock in chan_sip handling subscribe request during res_parking reload
(Reported by Giuseppe Sucameli)
AstriCon Feedback: Automatically create a 1 line dialplan context for stasis apps
(Reported by George Joseph)
Opensuse Leap 15 –with-jannson-bundled will not compile
(Reported by David Wilcox)
PJSIP realtime. getcontext not working with DUNDI
(Reported by Ray)
codec_opus: errors setting max_playback_rate and bitrate to “sdp”
(Reported by Gianluca Merlo)
res_http_websocket: PING / PONG opcodes break data reception
(Reported by Jeremy Lainé)
build: Cross-compilation fails for target arm-linux-gnueabihf
(Reported by Jean Aunis – Prescom)
HangupHandler manager events are never thrown
(Reported by Gerald Schnabel)
res_http_websocket: Not responding to Connection Close Frame (opcode 8)
(Reported by Jeremy Lainé)
res_monitor: Segfault with Monitor(wav,file,i)
(Reported by Valentin Vidić)
stasis: Filter messages at publishing to AMI/ARI
(Reported by Joshua C. Colp)
stasis: ast_endpoint struct holds the channel_ids of channels past destruction in certain cases
(Reported by Mohit Dhiman)
res_rtp_asterisk: abs-send-time extension added with Asterisk 15.5.0 breaks GXV3140 video telephony
(Reported by David Kuehling)
core: RAII using clang use-after-scope issue
(Reported by Diederik de Groot)
need to reset DTMF last sequence number and timestamp on RTP renegotiation
(Reported by Alexei Gradinari)
app_voicemail: Channel variable VM_MESSAGEFILE not updated correctly if message marked “urgent”
(Reported by boatright)
app_queue: Asterisk crashes when using Queue with a pre-dial handler (option b)
(Reported by Mark)
stasis: Statistics broke ABI under developer mode
(Reported by Joshua C. Colp)
Regression: MWI polling no longer works
(Reported by abelbeck)
Bug in ast_coredumper
(Reported by Andrew Nagy)
app_voicemail: Leaving voicemail sometimes doesn’t trigger NOTIFYs
(Reported by George Joseph)
Asterisk 15.4.1 h264 fmtp negotiation problem
(Reported by David Kuehling)
confbridge: no announce to the marked users when they join an empty conference
(Reported by Alexei Gradinari)
stasis: Add statistics for usage when in developer mode
(Reported by Joshua C. Colp)
stasis: Filter messages at publishing based on to_* presence
(Reported by Joshua C. Colp)
chan_sip: Leak using contact ACL
(Reported by Giuseppe Sucameli)
Asterisk crashes when the res_pjsip_* modules unload
(Reported by sungtae kim)
app_queue: Revert broken queue channel reference patch
(Reported by lvl)
chan_pjsip: When connected_line_method is set to invite, we’re not trying UPDATE
(Reported by George Joseph)
chan_pjsip: When connected_line_method is set to invite, asterisk is not trying UPDATE
(Reported by nappsoft)
app_voicemail: MWI fails with mailboxes=##@device instead of mailboxes=##@default
(Reported by Ronald Raikes)
stasis: Segment channel snapshot to reduce creation cost
(Reported by Joshua C. Colp)
stasis: Use implementation specific cache for channel snapshots
(Reported by Joshua C. Colp)
SIGABRT caused by stack corruption in hashkeys_read when no matching keys present
(Reported by Michael Walton)
repeated segmentation faults
(Reported by Eyal Hasson)
stasis: Filter messages at publishing to reduce work done
(Reported by Joshua C. Colp)
ARI /channels/create handler causes core dump
(Reported by sungtae kim)
Incorrect Behavior for rewrite_contact when Re-Invite omits routset
(Reported by Torrey Searle)
Some conditions prevent running of el_end, break the terminal.
(Reported by Corey Farrell)
rtp: Incorrect Packetization
(Reported by Robert Cripps)
pbx_config: Only the first [globals] section is processed.
(Reported by Corey Farrell)
Formatting error in documentation
(Reported by Scott Griepentrog)
chan_sip: Asterisk 12+ chan_sip doesn’t report AST_CEL_PICKUP in handle_invite_replaces
(Reported by Luit van Drongelen)
res_pjsip_notify: improve realtime performance on CLI completion on the endpoint
(Reported by Alexei Gradinari)
Caller ID cannot be changed on Attended Transfer before dialing out
(Reported by Alexei Gradinari)
app_confbridge: Participant info labels aren’t being added to the SDPs
(Reported by George Joseph)
function ast_sendtext() create RTP realtime packets with a trailing null byte in the payload
(Reported by Emmanuel BUU)
bridging: Asterisk crashes when receiving an empty realtime text frame
(Reported by Emmanuel BUU)
app_queue: QueueMemberStatus Event flooding AMI
(Reported by Andrej)
res_pjsip: improve realtime performance on CLI ‘pjsip show contacts’
(Reported by Alexei Gradinari)
app_queue: Queue member considered inuse after immediately hanging up during dialing.
(Reported by Cao Minh Hiep)
stasis: Playing MOH to bridge with ARI does not work
(Reported by Cameron)
res_odbc: missing SQL error diagnostic
(Reported by Alexei Gradinari)
chan_sip: SipNotify via AMI behaves differently to CLI
(Reported by Peter Katzmann)
configure script does not enforce libunbound2 version
(Reported by Samuel Galarneau)
testsuite: Sniffer assumes pjmedia will use ports below 10000
(Reported by Joshua C. Colp)
rtp: Crash in off-nominal case where RTP instance can’t be set up
(Reported by Lei Fu)
chan_sip unstable with TLS after asterisk start or reloads
(Reported by David Hajek)
PJSIP: Update bundled PJPROJECT to version 2.8
(Reported by Joshua C. Colp)
chan_pjsip: Declined video stream is added when no video codecs configured and session refresh with removed video stream occurs
(Reported by Will)
AMI event “NewExten” is set to the wrong class
(Reported by lvl)
res_pjproject build failure
(Reported by Jaco Kroon)
res_musiconhold : music on hold will not start if previous hold just reached end of file
(Reported by Frederic LE FOLL)
channel.c: ARI ring only once
(Reported by Hajek Michal)
Realtime queuemembers are not updated during retry phase
(Reported by lvl)
alembic: PJSIP “mwi_subscribe_replaces_unsolicited” field is integer not boolean
(Reported by Joshua C. Colp)
res_pjsip_transport_websocket: Properly set ‘received’ for IPv6
(Reported by Sean Bright)
When T.140 realtime text is negociated, a lot of debug traces are generated
(Reported by Emmanuel BUU)
PBX calls via chan_sip TCP trunk now get authentification error
(Reported by Ian Gilmour)
res_pjsip realtime: uri column in ps_contacts table can be too short
(Reported by Florian Floimair)
res_pjsip_t38: Crash receiving 1xx responses other than 100 before 200 for T.38 reINVITE
(Reported by Joshua Elson)
rtcp-mux is put in SDP answer regardless of offer
(Reported by Torrey Searle)
No joint capabilities with video and audio-only streams
(Reported by Benjamin Keith Ford)
app_queue: QUEUESTATUS = CONTINUE instead LEAVEEMPTY
(Reported by Valentin Safonov)
pjproject_bundled: Fix for Solaris builds. Do not undef s_addr.
(Reported by Alexander Traud)
Wrong SRTP use status report
(Reported by Salah Ahmed)
res_pjsip_registrar: Improve performance of inbound handling
(Reported by Joshua C. Colp)
pjsip: Race condition in 183 re transmission can result in a deadlock
(Reported by Torrey Searle)
make menuselect fails due to undefined symbols (initscr32, w32addch) in menuselect_curses.o
(Reported by Majdi Bsoul)
[regression] menuselect compilation failure on Solaris 10
(Reported by Samuel Owens)
menuselect compilation failure on Solaris 10 / gcc 3.4.3
(Reported by rleasure)
menuselect compilation failure on Solaris 10/gcc-4.1.1
(Reported by Bob Atkins)
BuildSystem: Enable Jansson in Solaris 11.
(Reported by Alexander Traud)
res_pjsip_endpoint_identifier_ip only matches against “generic string” headers
(Reported by George Joseph)
res_rtp_asterisk: Requires OpenSSL in Developer Mode.
(Reported by Alexander Traud)
Frack errors in stasis.c and memory leakage
(Reported by Siruja Maharjan)
res_pjsip: Change default transport keepalive to preserve behavior
(Reported by Joshua C. Colp)
systemd: asterisk.service
(Reported by seanchann.zhou)

Improvements made in this release:

———————————–

app_voicemail: remove dependency on stasis cache
(Reported by Kevin Harwell)
stasis_state: Create a stasis module to cache last known state
(Reported by Kevin Harwell)
res_ari_channels: Added detail hangup code settings
(Reported by sungtae kim)
pbx_dundi: Add IPv4/IPv6 dual bind support for DUNDi
(Reported by Kirsty Tyerman)
app_confbridge: Add *_all remb behavior variants
(Reported by Joshua C. Colp)
res_rtp_asterisk / res_pjsip_sdp_rtp: Add support for transport-cc
(Reported by Joshua C. Colp)
Millisecond-resolution call stats including PDD in channel variables
(Reported by Antoni Goldstein)
Added detail subscriber/subscription info for stasis show app cli
(Reported by sungtae kim)
Asterisk should clear out any .lock files in the voice mail directory on startup.
(Reported by Steven Wheeler)
build: CHANGES/UPGRADE are irritating to work with.
(Reported by Corey Farrell)
Added topic_all container
(Reported by sungtae kim)
Added app_name, app_data to channel type
(Reported by sungtae kim)
ari: Added timestamp for some ari events.
(Reported by sungtae kim)
Add logical group at DAHDIChannel event and create “dahdi_group” at CHANNEL function
(Reported by Cirillo Ferreira)
Added creation timestamp for bridge
(Reported by sungtae kim)
Allow wrapuptime to be set for each queue member
(Reported by Rodrigo Ramirez Norambuena)
app_queue: Per-member wrapup time missing from AddQueueMember application
(Reported by Niksa Baldun)
Changed to show all channel stats including wrong media
(Reported by sungtae kim)
res_pjsip_session: Adding rtcp stats result into the session
(Reported by sungtae kim)
Support skipping on the g726 format
(Reported by Eyal Hasson)
bridge_softmix: Does not support WebRTC source with multi video tracks.
(Reported by Xiemin Chen)
res_ari: Add new hangup causes for ARI Channel DELETE command
(Reported by Sebastian Damm)
New function PJSIP_PARSE_URI to parse an URI and return a specified part of the URI
(Reported by Alexei Gradinari)
Allow the sip_to_pjsip script to be used in a pipe
(Reported by Pascal Cadotte Michaud)
Remove stale nonoptreq references
(Reported by Walter Doekes)
Add IPv6 Support for DUNDi
(Reported by Adam Secombe)
PJSIP: Missing “party=calling”/”party=called” in Remote-Party-ID
(Reported by Eric Dantie)
pjproject_bundled: Find shared libraries in root –with-ssl=PATH.
(Reported by Alexander Traud)
pjsip_wizard example gives wrong info about unsupported SRV records
(Reported by Jonathan Harris)
res_rtp_asterisk: T.140 packets containing backspace or end of line are merged with regular text and it causes some UA to break
(Reported by Emmanuel BUU)

For a full list of changes in this release, please see the ChangeLog:

https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-17.0.0

Thank you for your continued support of Asterisk!

What can we help you find?