Asterisk 18.0.0-rc1 Now Available

The Asterisk Development Team would like to announce the first release candidate of Asterisk 18.0.0.
This release candidate is available for immediate download at
https://downloads.asterisk.org/pub/telephony/asterisk

The release of Asterisk 18.0.0-rc1 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 candidate:

Security bugs fixed in this release:
———————————–

chan_sip: Depending on configuration an INVITE can alter Addr of a peer
(Reported by Andrey V. T.)
Bypass SYSTEM write permission in manager action allows system commands execution
(Reported by Eliel Sardañons)
res_pjsip_t38: 200 OK with SDP answer with declined stream causes crash
(Reported by Alexei Gradinari)

New Features made in this release:
———————————–

allow Asterisk to set high ToS bits as non-root on Linux
(Reported by Matt Addison)
CURLOPT() needs a “followlocation” parameter / “maxredirs” doesn’t do anything
(Reported by candrews)
res_pjsip_endpoint_identifier_ip: Add ability to match on source port
(Reported by Sean Bright)
app_senddtmf: Allow “receiving” DTMF with PlayDTMF instead of only “sending”
(Reported by lvl)
func_curl: CURLOPT cannot set Content-Type header
(Reported by Martin Tomec)
func_jitterbuffer: Add support for video synchronization
(Reported by Joshua C. Colp)
Unregister a realtime moh class
(Reported by Byron Clark)
Channel variable SIPFROMDOMAIN for chan_pjsip to setup From header URI domain
(Reported by Stas Kobzar)

Bugs fixed in this release:
———————————–

Duplicate logging in queue log for EXITEMPTY events
(Reported by Ove Aursand)
app_queue: Leave empty sometimes not recorded as abandoned
(Reported by Kfir Itzhak)
res_parking: Parker UUID is no longer copied
(Reported by Misha Vodsedalek)
chan_pjsip: PJSIP_MEDIA_OFFER Broken asterisk 16
(Reported by Joseph Ades)
pbx: Deadlock when doing a reload, while simultaneously doing an ExtensionState on a pattern match hint that ends up adding an extension
(Reported by Ramarajan)
res_speech: Assertion on format
(Reported by Nickolay V. Shmyrev)
chan_pjsip does not process or forward 181 responses
(Reported by Torrey Searle)
Lastpause of realtime members is reseting
(Reported by Evandro César Arruda)
app_voicemail: When a voicemail is marked as “Urgent”, it is not sent by email/processed by the mailcmd command
(Reported by Leandro Dardini)
res_pjsip_session: Aggressively terminates session on failed re-INVITE
(Reported by Joshua C. Colp)
res_rtp_asterisk: T.140 messages have appended RTP string to each message block.
(Reported by Thomas Johnson)
chan_sip: ToHost property not cleared on reload
(Reported by Dennis)
Fix VERSION(ASTERISK_VERSION_NUM) on certified versions
(Reported by cmaj)
Asterisk crash in music on hold
(Reported by David Cunningham)
Malformed IP address in SDP of 2nd SIP timer triggered INVITE when NAT is active (UDP transport with external_media_address)
(Reported by Michael Neuhauser)
res_pjsip_registrar: Expires on statically configured contacts is not correct
(Reported by tootai)
BridgeCreated ARI event shows wrong video_mode info
(Reported by sungtae kim)
acl: named_acl rule misconfiguration results in segfault on reading rule from realtime
(Reported by Andrew Yager)
res_http_websocket: Text payload data doesn’t necessary include trailing zero
(Reported by Nickolay V. Shmyrev)
Inconsistent behaviour queues.conf when there is (not) a [general] section
(Reported by Walter Doekes)
res_pjsip: Apply outbound proxy to static contacts on AOR
(Reported by Joshua C. Colp)
./configure –without-ssl build failure
(Reported by Jaco Kroon)
chan_sip: chan_sip does not process 400 response to an INVITE.
(Reported by Frederic LE FOLL)
chan_pjsip: PJSIP_SC_NULL does not exist in pjproject 2.7.2
(Reported by Jared Smith)
res_corosync: causes asterisk crash in huge distributed environment.
(Reported by Università di Bologna – CESIA VoIP)
StreamEcho() only returns 1 active stream
(Reported by Bill Kervaski)
“setvar” doesn’t work properly in dahdi-channels.conf
(Reported by Marin Odrljin)
res_pjsip_session: Preserve stream label
(Reported by Joshua C. Colp)
res_sorcery_memory_cache: Individual object expiration behaves unexpectedly with full backend caching
(Reported by Joshua C. Colp)
Stale code in app_queue to check untouched channel
(Reported by Walter Doekes)
Stale comment in app_queue about ring_entry exception
(Reported by Walter Doekes)
Queue wrapuptime sometimes not respected (based on stale lastcall time)
(Reported by Walter Doekes)
core_unreal / core_local: Add support for multistream and re-negotiation
(Reported by Joshua C. Colp)
ARI channel create doesn’t referencing the channel_id parameter
(Reported by sungtae kim)
res_rtp_asterisk: Don’t have send/receive buffers on non-WebRTC
(Reported by Joshua C. Colp)
bridge_softmix: Transitioning a stream from inactive -> sendrecv/sendonly doesn’t re-negotiation
(Reported by Joshua C. Colp)
T.38 Segfaults in chan_pjsip_queryoption
(Reported by Yury Kirsanov)
/channels/create doesn’t get any parameters from the body
(Reported by sungtae kim)
res_pjsip: crash when dialing non-sip uri
(Reported by Walter Doekes)
res_fax: Double frame free when gateway in use with off-nominal format usage
(Reported by Gregory Massel)
pjproject_bundled: Honor –without-pjproject.
(Reported by Alexander Traud)
res_pjsip_logger writing too big packets
(Reported by nappsoft)
bridge show all causes crash
(Reported by sungtae kim)
Wrong return value check for fwrite when writing to pcap file
(Reported by nappsoft)
res_pjsip: Crash when escaping during URI printing
(Reported by nappsoft)
x-ast-orig-host not filtered out from request URI and To header
(Reported by nappsoft)
res_pjsip_session: Unnecessary re-Invite on call answer
(Reported by Alexei Gradinari)
res_srtp: Answered Crypto Suite might be wrong in SDP/SDES.
(Reported by Alexander Traud)
bridge_softmix: Conference bridge not passing silent rtp packets
(Reported by Jonathan Hunter)
res_musiconhold: Module res_musiconhold throws false warning
(Reported by Nicholas John Koch)
RTP ICE leaks the memory
(Reported by sungtae kim)
res_pjsip: PJSIP Registration Fails when transport=transport-udp6
(Reported by Peter Sokolov)
SIGSEGV when pjsip show history encounters IPV6 address
(Reported by Roger James)
tcptls: Fix notice when TLS is enabled but not configured.
(Reported by Alexander Traud)
app_osplookup.c: Avoid a format truncation.
(Reported by Alexander Traud)
Non async-signal-safe syscalls used after fork before exec
(Reported by nappsoft)
streams: One memory leak and one issue cloning streams
(Reported by George Joseph)
app_queue: leaking stasis subscription when Redirecting call
(Reported by lvl)
app_queue: Ghost channels in “core show channels” output
(Reported by Etienne Lessard)
pjsip: Increase maximum candidate count
(Reported by Joshua C. Colp)
Crash while Forwarding from TLS extension with CHANNEL args secure_bridge_media and secure_bridge_signaling
(Reported by Shlomi Gutman)
Unprotected access to nochecksums variable, causes build failures
(Reported by Guido Falsi)
app_fax: Compile.
(Reported by Alexander Traud)
stream: Enforce formats immutability
(Reported by Joshua C. Colp)
ARI channels cuts the endpoint string over 80 characters
(Reported by sungtae kim)
Crash occurs when fax session switches from T.38 to audio
(Reported by Alexey Vasilyev)
Sporadic crashes with Segmentation fault
(Reported by Joeran Vinzens)
IPv6 addresses in SDP incorrectly formatted
(Reported by Daniel Heckl)
Asterisk REPLY Wrong Contact header port (TCP)
(Reported by Anton Satskiy)
Document that Asterisk will use the default SIP ports (5060 for TCP, 5061 for TLS) if the extern option variants aren’t used
(Reported by sstream)
AST_MODULE_INFO requires, MODULEINFO does not mention
(Reported by Alexander Traud)
app_confbridge: Add support for disabling text messaging for a user
(Reported by Joshua C. Colp)
pjproject_bundled: Honor –without-pjproject.
(Reported by Alexander Traud)
res_rtp_asterisk: Loop when receive buffer is flushed by a received packet that is also in receive buffer with NACK
(Reported by nappsoft)
chan_sip: only sets ToS bits on UDP socket, ignoring TCP and TLS sockets
(Reported by Joshua Roys)
res_rtp_asterisk: Duplicate seqnos being added to send buffer with NACK
(Reported by nappsoft)
First DTMF is not get
(Reported by Bernard Merindol)
pjsip startup errors when using “with-ssl” configure option
(Reported by Patrick Wakano)
BuildSystem: Search for Python/C API when possibly needed only.
(Reported by Alexander Traud)
BuildSystem: In NetBSD, the Python Programming Language is python-2.7.
(Reported by Alexander Traud)
chan_pjsip: constant DTMF tone if RTP is not setup yet
(Reported by Kevin Harwell)
bridge_softmix_binaural: Show state in menuselect.
(Reported by Alexander Traud)
BuildSystem: Remove doc/tex and doc/pdf leftovers.
(Reported by Alexander Traud)
BuildSystem: Allow space in path.
(Reported by Alexander Traud)
res_rtp_asterisk: Avoid absolute value on unsigned subtraction.
(Reported by Alexander Traud)
func_channel: cannot read fields exten, context, userfield, channame from dialplan
(Reported by Sébastien Duthil)
chan_unistim: Avoid tautological warnings with clang.
(Reported by Alexander Traud)
test_stasis: Avoid always true warning with clang.
(Reported by Alexander Traud)
res_pjsip: Incorrect endpoint status after endpoint synchronization for a specific AOR
(Reported by Jason Hord)
channel: write to a stream on multi-frame writes
(Reported by Kevin Harwell)
test_utils: incorrectly printing error ‘declined to load’
(Reported by Alexander Traud)
func_aes: incorrectly printing error ‘declined to load’
(Reported by Alexander Traud)
Crash during conference call using confbridge and video
(Reported by Pascal Cadotte Michaud)
DAHDIRAS fails to properly initiate pppd unless asterisk is running as root
(Reported by Jaco Kroon)
dundi_read_result crash due to negative number
(Reported by Jaco Kroon)
res_pjsip_sdp_rtp: Only do hold/unhold on first audio stream
(Reported by Joshua C. Colp)
Asterisk is crashing if the 200 OK with SDP
(Reported by sungtae kim)
res_pjsip_session: Allow default non-audio streams to have reflected state
(Reported by Joshua C. Colp)
chan_pjsip’s rtptimeout is erroneously triggered during direct-media (native_rtp) bridge
(Reported by Michael Neuhauser)
Comments in configs/func_odbc.conf.sample are not consistent with examples. Missing examples.
(Reported by Olivier Krief)
app_mixmonitor: Memory leak due to race condition between AMI MixMonitor and hangup
(Reported by Joshua C. Colp)
Incorrect Sender SSRC in RTCP when p2p rtp bridge is active
(Reported by Torrey Searle)
DTLS Handshake Fails to Occur if ice_support is enabled but not used
(Reported by Torrey Searle)
A non negotiated rtp frame causes call disconnection when there is a SSRC change
(Reported by Paulo Vicentini)
func_enum: ENUM code wrong case
(Reported by Vitold)
Fix the FSF address in the headers of lots of pjproject files
(Reported by Jared Smith)
Function TXTCIDNAME never actually makes DNS calls and always returns an empty string
(Reported by George Joseph)
PJSIP blind transfer not completed after using Proceeding()
(Reported by lvl)
res_rtp_asterisk: Improve NACK support and seqno handling
(Reported by Joshua C. Colp)
SIP/Stasis: SIP headers not transmitted in the “variables” field
(Reported by Jean Aunis – Prescom)
check_expr2: linking (when hardening) and cross-compiling troubles
(Reported by Sebastian Kemper)
ASTERISK-28738 Causes Audio Issue After Hold
(Reported by Ross Beer)
res_pjsip: Named ACL does not update on reload if changed
(Reported by Timothy Vanderaerden)
res_pjsip_outbound_registration keeps retrying the first entry in a SRV record set
(Reported by George Joseph)
ICE: pjnath shouldn’t wait for ICE to complete before allowing sending
(Reported by Benjamin Keith Ford)
Incorrect state machine used when MOH_PASSTHRU is used
(Reported by Torrey Searle)
res_rtp_asterisk: static for audio due to incomplete dtls/srtp setup
(Reported by Kevin Harwell)
Realtime MoH Unknown format ” — defaulting to SLIN
(Reported by Ross Beer)
res_pjsip_session: Fix out of order session refreshes
(Reported by Joshua C. Colp)
pjsip: SIP Packets with Via “received=” Containing IPv6 Address Delimited by “[]” Rejected
(Reported by Peter Sokolov)
chan_sip: Returns 403 if RTP ports are depleted, should return 503
(Reported by Walter Doekes)
res_stasis_playback: Error building JSON
(Reported by Sébastien Duthil)
REGRESSION: Feature subscription_persistence_recreate (ASTERISK-27759) Causes Segfaults
(Reported by Ross Beer)
res_pjsip_messaging: MessageSend Content-Type can’t be changed
(Reported by Alex)
ARI causes STASIS Deadlock
(Reported by Ross Beer)
stasis application is destroyed after its creation
(Reported by Francois Blackburn)
PJSIP. MESSAGE_SEND_STATUS set to SUCCESS in spite of the error when sending
(Reported by Dmitriy Serov)
chan_sip strictrtp=yes fails when media source is changed: no audio
(Reported by Walter Doekes)
RTP Stream Incorrect Payload Type Causes Asterisk To Drop Calls
(Reported by Paul Brooks)
CDR billsec is always 0 for transferred calls
(Reported by Maciej Michno)
chan_dahdi: holding a channel via flash to dialtone times out after 0:16:40
(Reported by Andrew Siplas)
Update documentation for statsd module – usage requirements unclear
(Reported by Dan Jenkins)
silk 24hHz doesn’t show up in ‘core show translation’ output
(Reported by Sean Bright)
core: minmemfree watermark uses free RAM, not available RAM
(Reported by Kevin Flyn)
chan_sip: SIP MESSAGE beginning with a whitespace appears empty in the dialplan
(Reported by Frank Matano)
Segfault forwarding voicemail with ODBC storage enabled and realtime voicemail_data is used
(Reported by Stas Kobzar)
empty voicemail.conf required for ARA (realtime) voicemail to leave message
(Reported by Jim Van Meggelen)
CLI command ‘realtime update2’ syntax failure when using according to usage help
(Reported by Cedric BASSAGET)
Pause reason not reported in QueueMember AMI event
(Reported by Niksa Baldun)
res_pjsip_endpoint_identifier_ip: Document support for hostnames
(Reported by Joshua C. Colp)
res_pjsip_notify: Multiple Event headers can be present instead of just one
(Reported by AvayaXAsterisk)
app_record: Lack of `beep` audio file causes application to return error and hangup
(Reported by Corey Farrell)
Wiki docs missing for MessageWaiting
(Reported by David M. Lee)
res_pjsip_pubsub: Subscription persistence does not preserve XML version number
(Reported by Bryan Nelson)
chan_dahdi: Deadlock in Hangup Scenarios with concurrent command pri show span X
(Reported by Dirk Wendland)
stasis bridge topic leak
(Reported by Joeran Vinzens)
pjsip reload not reloading wizard endpoint/pickup_group endpoint/call_group
(Reported by Jean-Denis Girard)
SIP WSS message not processed until next frame arrives
(Reported by Robert Sutton)
Asterisk ignores parsing of config files if a Byte order mark is present
(Reported by Robin Leffmann)
Playback of local files impacted by large media cache
(Reported by Kevin Reeves)
contrib: valgrind.supp doesn’t suppress what it’s supposed to due to invalid syntax
(Reported by Richard Kenner)
“trustrpid” is misspelled in sip_to_pjsip.py
(Reported by Pascal Cadotte Michaud)
app_chanisavail+cdr: ChanIsAvail sometimes fails to deactivate CDR.
(Reported by Frederic LE FOLL)
app_meetme, chan_ooh323 and cdr_mysql don’t build on 17.0.0
(Reported by George Joseph)
res_pjsip_sdp_rtp: Bundle includes non-existent media stream if codecs create additional streams and offer does not have them
(Reported by nappsoft)
res_fax: wrap Asterisk initiated negotiation with config option
(Reported by Kevin Harwell)
Missing arguments in PJSIP_CONTACT function documentation
(Reported by Pascal Cadotte Michaud)
Memory Leak in res_rtp_asterisk.c
(Reported by Ted G)
chan_sip logs errors on tx to non-existent TCP connections
(Reported by Jaco Kroon)
chan_pjsip incorrectly re-writes REGISTER 200 Response Contact
(Reported by Ross Beer)
res_pjsip Segfaults when realtime configuration to an AOR points to a not existent AOR
(Reported by Ross Beer)
chan_sip: RTP frames not transmitted after emitting a COLP
(Reported by Jean Aunis – Prescom)
chan_sip+native_bridge_rtp: directmedia compatibility check failure when negociated ptime is not default ptime.
(Reported by Frederic LE FOLL)
res_pjsip_session: ast_json_vpack: Invalid UTF-8 string on hangup when TEST_FRAMEWORK enabled
(Reported by Bernhard Schmidt)
res_parking: Doesn’t park when parkee and parker are the same
(Reported by Ross Beer)
Enforce T.38 error correction mode at 200 ok received
(Reported by Salah Ahmed)
res_pjsip_outbound_registration: add SRV failover
(Reported by Kevin Harwell)
app_amd: Use time calculation to calculate timeout
(Reported by Michael Cargile)
chan_dahdi: PRI span status may stay “Down, Active” after a short alarm
(Reported by Frederic LE FOLL)
res_rtp_asterisk: ICE Completion Crash when sent packet length doesn’t match
(Reported by Joshua Elson)
FILE function grabs garbage along with read data when target line has no newline
(Reported by Jonathan Harris)
bridge_softmix: hold not cleared when joining a softmix bridge
(Reported by Kevin Harwell)
parking: Deadlock when multi call parking
(Reported by Joshua C. Colp)
Memory leaks in res_calendar_exchange and res_calendar_icalendar
(Reported by Yoooooo Ha)
ari/resource_events: Crash in event session cleanup
(Reported by Kevin Harwell)
utils.c throws repeated warnings; “pthread_attr_setstacksize: Invalid argument”
(Reported by Speed Dial Dave)
race condition on pjsip channelstats command
(Reported by Salah Ahmed)
cdr_pgsql: accesses obsolete (and finally removed) column
(Reported by Christoph Moench-Tegeder)
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)
Asterisk Deadlocks
(Reported by Aheliotech)
chan_pjsip: Crash when initiating PlayDTMF over AMI
(Reported by Jeremiah Gadd)
res_pjsip_mwi: Frack during unload on unsolicited_mwi container
(Reported by Kevin Harwell)
CDR backend unload problem during active call(s)
(Reported by Marian Piater)
stasis.c: Crash during unload
(Reported by Kevin Harwell)
Wrong contact representation in ipv6 mode
(Reported by Jørgen H)
Segmentation fault when there is no priority for an extension
(Reported by Timothy Vanderaerden)
res_pjsip_path: Crash when invalid contact is configured
(Reported by Juan Martin)
pjsip: Memory Leak
(Reported by Mark)
Asterisk 16.5.0 Memory leak
(Reported by Cyril Ramière)
Asterisk release candidates fail to build on FreeBSD
(Reported by Guido Falsi)
chan_pjsip: Deadlock on fax detection
(Reported by Joshua C. Colp)
func_odbc: truncating Unicode string on readsql
(Reported by Boris P. Korzun)
setvar directive when used in template and a child of said template, results in duplicate variable names
(Reported by Michael Goryainov)
ChanIsAvail() creates a CDR if unanswered=yes is set in cdr.conf
(Reported by Frederic LE FOLL)
chan_dahdi: set CHANNEL(hangupsource) when a PRI channel hangs up
(Reported by Frederic LE FOLL)
codec_resample: Bad sound quality when up sampling from SLIN16 to SLIN32
(Reported by Ruddy G)
translate: Crash when frame does not have a “src” field set
(Reported by Gregory Massel)
chan_unistim: Clang Warning: variable sized type not at end of a struct
(Reported by Alexander Traud)
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)

Improvements made in this release:
———————————–

res_pjsip: Added option for disable rport parameter set
(Reported by sungtae kim)
Continue reading string when ping received by websocket
(Reported by Nickolay V. Shmyrev)
AMI SendText – add Content-Type parameter
(Reported by Kevin Harwell)
res_http_websocket: Add masking to websocket client
(Reported by Moises Silva)
Upgrade Asterisk to bundled pjproject 2.10
(Reported by Kevin Harwell)
res_pjsip_logger: Add tons’o’functionality
(Reported by Joshua C. Colp)
ari: Add support for specifying variables on channel create
(Reported by Joshua C. Colp)
pjproject has race conditions in it’s build system
(Reported by Guido Falsi)
third-party/pjproject/configure.m4 contains bashisms
(Reported by Guido Falsi)
Missing include on FreeBSD
(Reported by Guido Falsi)
chan_mobile creates PCMA streams that make some VoIP clients crash or not render received audio
(Reported by Peter Turczak)
func_volume: Allow decimal numbers as parameter to improve granularity
(Reported by Jean Aunis – Prescom)
Codec Negotiation: add outgoing_call_offer_prefs option
(Reported by Kevin Harwell)
dial (API): Storage of dialed target uses AST_MAX_EXTENSION when it shouldn’t
(Reported by Joshua Elson)
Add support for Content-Disposition header in multi-part INVITES
(Reported by Torrey Searle)
res_pjsip_session: Decide more intelligently when to add video
(Reported by Joshua C. Colp)
Codec Negotiation: add incoming_call_offer_pref option
(Reported by Kevin Harwell)
TLS/SSL Key too small error
(Reported by Martin Zeh)
stream: Add support for adding/removing streams during SFU/calls
(Reported by Joshua C. Colp)
Documentation – Clarify That Format Is Set By File Name Extension In MixMonitor
(Reported by xrobau)
install_prereq script uses the interactive mode when installing aptitude
(Reported by Sylvain Afchain)
Should be able to disable the /httpstatus URI in the built-in HTTP server
(Reported by Sean Bright)
Add AudioSocket support
(Reported by Seán C. McCord)
Simplify dialplan for Dial, Page, and ChanIsAvail
(Reported by cmaj)
GET FULL VARIABLE documentation clarification
(Reported by Jonathan Harris)
Add an “inhibitCOLP” flag to the bridges REST API
(Reported by Jean Aunis – Prescom)
app_confbridge: Add support for setting maximum sample rate
(Reported by Joshua C. Colp)
res_pjsip_outbound_registration: Maximum retries reached
(Reported by Daniel)
Typo in README-SERIOUSLY.bestpractices.md
(Reported by Sam Banks)
Allow voicemail forwards with ODBC backend when format differs from attachfmt column
(Reported by cmaj)
Problem with ASTERISK-20207: Asterisk should clear out any .lock files in the voice mail directory on startup.
(Reported by Michael)
add the ability for asterisk to generate on-hold re-invites
(Reported by Torrey Searle)
Add pass-through support for H.265 (HEVC) codec
(Reported by Florian Floimair)

For a full list of changes in this release candidate, please see the ChangeLog:
https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-18.0.0-rc1

Thank you for your continued support of Asterisk!

What can we help you find?