Compare commits

...

6 Commits

Author SHA1 Message Date
Kevin Harwell
4d985c171d Update for 13.16.0 2017-05-30 12:44:16 -05:00
Kevin Harwell
79ceeea8f8 Update for 13.16.0-rc2 2017-05-24 11:55:58 -05:00
Jenkins2
f291130cb6 Merge "chan_sip: Better ICE handling for RTCP-MUX" into 13.16 2017-05-24 10:36:22 -05:00
Sean Bright
f0e5b5815c chan_sip: Better ICE handling for RTCP-MUX
If we are offered or are offering RTCP-MUX, don't consider RTCP ICE
candidates. This confuses certain browsers (current Firefox for
example) and causes intial audio setup delays.

ASTERISK-26982 #close

Change-Id: Ifeaf47e83972fe8dbe58b7fb3d6d1823400cfb91
2017-05-23 18:08:02 -05:00
Kevin Harwell
a26431a198 res_rtp_asterisk: rtcp mux using the wrong srtp unprotecting algorithm
When using rtcp mux if an rtcp payload came in it would still use the srtp
unprotect algorithm instead of the srtp unprotect rtcp method. Since rtcp
data was being passed to the rtp unprotect method this would result in an
error.

This patch ensures that the correct unprotect method is chosen by making
sure the passed in rtcp flag is appropriately set when rtcp mux is enabled
and an rtcp payload is received.

ASTERISK-26979 #close

Change-Id: Ic5409f9d1a267f1d4785fc5aed867daaecca6241
2017-05-23 18:03:56 -05:00
Kevin Harwell
b634297c8c Update for 13.16.0-rc1 2017-05-22 15:20:11 -05:00
19 changed files with 58394 additions and 42 deletions

1
.lastclean Normal file
View File

@@ -0,0 +1 @@
40

1
.version Normal file
View File

@@ -0,0 +1 @@
13.16.0

51038
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,405 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><title>Release Summary - asterisk-13.16.0</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-13.16.0</h3><h3 align="center">Date: 2017-05-30</h3><h3 align="center">&lt;asteriskteam@digium.com&gt;</h3><hr><h2 align="center">Table of Contents</h2><ol>
<li><a href="#summary">Summary</a></li>
<li><a href="#contributors">Contributors</a></li>
<li><a href="#closed_issues">Closed Issues</a></li>
<li><a href="#open_issues">Open Issues</a></li>
<li><a href="#commits">Other Changes</a></li>
<li><a href="#diffstat">Diffstat</a></li>
</ol><hr><a name="summary"><h2 align="center">Summary</h2></a><center><a href="#top">[Back to Top]</a></center><p>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.</p><p>The data in this summary reflects changes that have been made since the previous release, asterisk-13.15.0.</p><hr><a name="contributors"><h2 align="center">Contributors</h2></a><center><a href="#top">[Back to Top]</a></center><p>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.</p><table width="100%" border="0">
<tr><th width="33%">Coders</th><th width="33%">Testers</th><th width="33%">Reporters</th></tr>
<tr valign="top"><td width="33%">25 Sean Bright <sean.bright@gmail.com><br/>18 Richard Mudgett <rmudgett@digium.com><br/>12 George Joseph <gjoseph@digium.com><br/>9 Joshua Colp <jcolp@digium.com><br/>7 Kevin Harwell <kharwell@digium.com><br/>3 Walter Doekes <walter+github@wjd.nu><br/>3 Corey Farrell <git@cfware.com><br/>3 Alexander Traud <pabstraud@compuserve.com><br/>2 Torrey Searle <torrey@voxbone.com><br/>2 Mark Michelson <mmichelson@digium.com><br/>1 Josh Roberson <josh@asteriasgi.com><br/>1 Sebastian Gutierrez <sgutierrez@integraccs.com><br/>1 Joshua Elson <joshelson@gmail.com><br/>1 Roman S.<br/>1 Daniel Journo <dan@keshercommunications.com><br/>1 Aaron An <anjb@ti-net.com.cn><br/>1 Vitezslav Novy <a1@vnovy.net><br/>1 Ivan Poddubny <ivan.poddubny@gmail.com><br/>1 Rodrigo Ramírez Norambuena <a@rodrigoramirez.com><br/>1 Thierry Magnien <thierry.magnien@gmail.com><br/>1 Jean Aunis <jean.aunis@prescom.fr><br/></td><td width="33%">1 Aaron An<br/></td><td width="33%">3 Sandro Gauci <sandro@enablesecurity.com><br/>3 George Joseph <gjoseph@digium.com><br/>3 Richard Mudgett <rmudgett@digium.com><br/>2 Walter Doekes <walter+asterisk@wjd.nu><br/>2 Richard Begg <asterisk@meric.id.au><br/>2 scgm11 <scgm11@gmail.com><br/>2 twisted <josh@asteriasgi.com><br/>2 Joshua Colp <jcolp@digium.com><br/>2 Alexander Traud <pabstraud@compuserve.com><br/>2 Jeremy Kister <asterisk.org@jeremykister.com><br/>2 Matthias Urlichs <smurf@smurf.noris.de><br/>2 Ross Beer <ross.beer@voicehost.co.uk><br/>2 Matthias Urlichs<br/>2 Jeremy Kister<br/>1 gkloepfer <asterisk@kloepfer.org><br/>1 Etienne Lessard<br/>1 Aaron An<br/>1 Jean Aunis - Prescom <jean.aunis@prescom.fr><br/>1 Frederic LE FOLL<br/>1 Bob Ham <rah-asterisk@settrans.net><br/>1 Roman S.<br/>1 Javier Riveros <goseeped@gmail.com><br/>1 Andreas Krüger <ak@patientsky.com><br/>1 Anthony Critelli <aac3771@rit.edu><br/>1 Jens Bürger <jbuerger@arcor.de><br/>1 Yaacov Akiba Slama <yaslama@gmail.com><br/>1 Vitaly K<br/>1 Ksenia<br/>1 Walter Doekes<br/>1 Ivan Myalkin <thereisnomorefreelogins@gmail.com><br/>1 Ove Aursand<br/>1 Anthony Critelli<br/>1 Ksenia <ksyblast@gmail.com><br/>1 abelbeck <lonnie@abelbeck.com><br/>1 Vitaly K <bg111@ngs.ru><br/>1 Joerg Sonnenberger <joerg@bec.de><br/>1 Jens Bürger<br/>1 Sandro Gauci<br/>1 Marcello Ceschia <marcello.ceschia@gmx.net><br/>1 Sébastien Couture <scouture@ubity.com><br/>1 Corey Farrell <git@cfware.com><br/>1 Henning Holtschneider<br/>1 Ivan Myalkin<br/>1 Joel Vandal <joel@scopserv.com><br/>1 Badalian Vyacheslav <slavon.net@gmail.com><br/>1 Sean Darcy<br/>1 Ross Beer<br/>1 Alex Villacís Lasso <a_villacis@palosanto.com><br/>1 Olle Johansson <oej@edvina.net><br/>1 Stefan Engström <stefanen@kth.se><br/>1 Richard Kenner <kenner@gnat.com><br/>1 Richard Mudgett<br/>1 Etienne Lessard <elessard97@gmail.com><br/>1 Sean Darcy <seandarcy@hotmail.com><br/>1 Joshua Elson <joshelson@gmail.com><br/>1 Nir Simionovich (GreenfieldTech - Israel) <info-nospam@greenfieldtech.net><br/>1 Evers Lab <everslab@gmail.com><br/>1 Henning Holtschneider <henning@loca.net><br/>1 Ove Aursand <oveaurs@gmail.com><br/>1 Frederic LE FOLL <frederic.lefoll@c-s.fr><br/>1 Marcello Ceschia<br/>1 Aaron An <anjb@ti-net.com.cn><br/>1 Gergely Dömsödi <doome@uhusystems.com><br/>1 Niklas Larsson <niklas@tese.se><br/>1 Torrey Searle <tsearle@gmail.com><br/>1 Adagio <dan@studio-adagio.com><br/>1 Roman S. <roman.sokolovskiy@gmail.com><br/></td></tr>
</table><hr><a name="closed_issues"><h2 align="center">Closed Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p><h3>Bug</h3><h4>Category: Applications/app_confbridge</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25506">ASTERISK-25506</a>: [patch]CONFBRIDGE failure after an app_confbrige.so module reload results in segfault or error/warning messages.<br/>Reported by: Frederic LE FOLL<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bed6c0d04b71ce404adc9a75835a5a20cbc143bd">[bed6c0d04b]</a> George Joseph -- app_confbridge: Fix reference to cfg in menu_template_handler</li>
</ul><br><h4>Category: Applications/app_mixmonitor</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26169">ASTERISK-26169</a>: format_ogg_vorbis: Memory leak using OGG in MixMonitor<br/>Reported by: Ivan Myalkin<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=90c630aaa1e33a6518b35a9b8361ff015e5ef3f5">[90c630aaa1]</a> Sean Bright -- format_ogg_vorbis: Clear ogg/vorbis data structures on close</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26875">ASTERISK-26875</a>: app_mixmonitor: Recording out of sync when 183 but no RTP<br/>Reported by: Aaron An<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d5b480afcae343a7222b1b2b1279f8877c42925d">[d5b480afca]</a> Aaron An -- audiohook.c: Lost RTP packets lead to out-of-sync MixMonitor.</li>
</ul><br><h4>Category: Applications/app_queue</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25665">ASTERISK-25665</a>: Duplicate logging in queue log for EXITEMPTY events<br/>Reported by: Ove Aursand<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cfeae52c0f805bd2061011899189c2bfa1f5f34c">[cfeae52c0f]</a> Ivan Poddubny -- app_queue: Fix duplicate queue_log entries for EXITEMPTY and ABANDON</li>
</ul><br><h4>Category: CDR/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26818">ASTERISK-26818</a>: cdr: Problem setting variables in h exten<br/>Reported by: scgm11<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e196190f118d12212311e79b27177484e8c0a472">[e196190f11]</a> Sebastian Gutierrez -- cdr: Allow setting of user field from 'h' extension</li>
</ul><br><h4>Category: CDR/cdr_adaptive_odbc</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26818">ASTERISK-26818</a>: cdr: Problem setting variables in h exten<br/>Reported by: scgm11<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e196190f118d12212311e79b27177484e8c0a472">[e196190f11]</a> Sebastian Gutierrez -- cdr: Allow setting of user field from 'h' extension</li>
</ul><br><h4>Category: CEL/cel_odbc</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25032">ASTERISK-25032</a>: [patch]cel_odbc sometimes inserts CEL with wrong eventtime<br/>Reported by: Etienne Lessard<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d6325373ace3f658f35157dfcfbd13419de7cb0b">[d6325373ac]</a> George Joseph -- cel_odbc: Fix timestamp processing for microseconds</li>
</ul><br><h4>Category: CEL/cel_pgsql</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26896">ASTERISK-26896</a>: Overflow of buffer to PQEscapeStringConn with large app_args causes ABRT<br/>Reported by: twisted<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=754e99d51799e94057ffb182f8870d5df5dc8c8e">[754e99d517]</a> Sean Bright -- cdr_pgsql: Fix buffer overflow calling libpq</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bb68f57a03c0639663aa20d95fcdc16a4c1ff094">[bb68f57a03]</a> Josh Roberson -- cel_pgsql.c: Fix buffer overflow calling libpq</li>
</ul><br><h4>Category: Channels/chan_sip/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26982">ASTERISK-26982</a>: chan_sip: rtcp_mux setting may cause ice completion failure/delay if client offers rtcp-mux as negotiable<br/>Reported by: Stefan Engström<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f0e5b5815c14d0e532ae00026ac5e440752d46f5">[f0e5b5815c]</a> Sean Bright -- chan_sip: Better ICE handling for RTCP-MUX</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26922">ASTERISK-26922</a>: chan_sip: tcpbind uses wrong source address<br/>Reported by: Ksenia<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=23db04ed93d6d8332881dc539b55a7c46d33b17c">[23db04ed93]</a> Thierry Magnien -- channels/chan_sip.c: use binding IP address for outgoing TCP SIP connections</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26951">ASTERISK-26951</a>: chan_sip: ACK with SDP does not update a direct media bridge<br/>Reported by: Jean Aunis - Prescom<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=566ad7c35d0f305e4345b23e66f69058fda690c8">[566ad7c35d]</a> Jean Aunis -- chan_sip: Trigger reinvite if the SDP answer is included in the SIP ACK</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26692">ASTERISK-26692</a>: res_rtp_asterisk: Crash in dtls_srtp_handle_timeout at res_rtp_asterisk (using chan_sip)<br/>Reported by: scgm11<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=55f452884ff82109cdfb037f30162090eacdb658">[55f452884f]</a> Richard Mudgett -- res_rtp_asterisk.c: Fix crash in RTCP DTLS operation.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26897">ASTERISK-26897</a>: chan_sip: Security vulnerability with client code header<br/>Reported by: Alex Villacís Lasso<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=68bde0f07de7e9e60de1c8d0f027d3863c971269">[68bde0f07d]</a> Corey Farrell -- CDR: Protect from data overflow in ast_cdr_setuserfield.</li>
</ul><br><h4>Category: Channels/chan_sip/Interoperability</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21721">ASTERISK-21721</a>: SIP Failed to parse multiple Supported: headers<br/>Reported by: Olle Johansson<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=94bd529f9e398c8df9e7855fabd69fa4ec6d2ef6">[94bd529f9e]</a> Alexander Traud -- chan_sip: Session Timers required but refused wrongly.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26915">ASTERISK-26915</a>: chan_sip: Session Timers required but refused wrongly.<br/>Reported by: Alexander Traud<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=94bd529f9e398c8df9e7855fabd69fa4ec6d2ef6">[94bd529f9e]</a> Alexander Traud -- chan_sip: Session Timers required but refused wrongly.</li>
</ul><br><h4>Category: Channels/chan_sip/SRTP</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25490">ASTERISK-25490</a>: [patch]SDP crypto tag is validated incorrectly<br/>Reported by: Joerg Sonnenberger<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ef19db92615f8f29604e0df2ec78036bd003cdfa">[ef19db9261]</a> Alexander Traud -- srtp: Allow zero as tag value for a sRTP Crypto Suite.</li>
</ul><br><h4>Category: Channels/chan_skinny</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26940">ASTERISK-26940</a>: Asterisk Skinny memory exhaustion vulnerability leads to DoS<br/>Reported by: Sandro Gauci<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1cc18d40252834a967b74d87323bca4d59d6c693">[1cc18d4025]</a> George Joseph -- AST-2017-004: chan_skinny: Add EOF check in skinny_session</li>
</ul><br><h4>Category: Core/Bridging</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-24529">ASTERISK-24529</a>: Using AMI Action Bridge to on an already bridged channel causes the incorrect return priority to be used<br/>Reported by: Corey Farrell<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7ffd80cc044130ef334f7a356f5c57d699082e95">[7ffd80cc04]</a> Joshua Colp -- bridge: Fix returning to dialplan when executing Bridge() from AMI.</li>
</ul><br><h4>Category: Core/BuildSystem</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26705">ASTERISK-26705</a>: libasteriskssl.so not found when asterisk is installed for the 1st time<br/>Reported by: George Joseph<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7954b39a505b1ff0bf4a1326125b701d30c25919">[7954b39a50]</a> Walter Doekes -- build: Fix deb build issues with fakeroot</li>
</ul><br><h4>Category: Core/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26606">ASTERISK-26606</a>: tcptls: Incorrect OpenSSL function call leads to misleading error report<br/>Reported by: Bob Ham<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=6fba0a41f06c257032e572f1876b51c19ef54b6a">[6fba0a41f0]</a> Joshua Colp -- tcptls: Improve error messages for TLS connections.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26903">ASTERISK-26903</a>: Listening TCP/TLS sockets stop when temporarily out of open files<br/>Reported by: Walter Doekes<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bb8cd2add7ad612bb7e665db90eb8de4f4ba6294">[bb8cd2add7]</a> Richard Mudgett -- tcptls.c: Cleanup TCP/TLS listener thread on abnormal exit.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26528">ASTERISK-26528</a>: [UBSAN] strings.h:signed integer overflow in ast_str_case_hash<br/>Reported by: Badalian Vyacheslav<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d8967ff2c0f429e54525d0a0b0dff35c0785b079">[d8967ff2c0]</a> Torrey Searle -- strings.h: Avoid overflows in the string hash functions</li>
</ul><br><h4>Category: Documentation</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26086">ASTERISK-26086</a>: res_musiconhold: format option is not documented adequately<br/>Reported by: Jens Bürger<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2c28f7a92253555afeeeb7c75f5ba3cbf5212c10">[2c28f7a922]</a> Sean Bright -- res_musiconhold: Document the 'format' option</li>
</ul><br><h4>Category: Formats/format_ogg_vorbis</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26169">ASTERISK-26169</a>: format_ogg_vorbis: Memory leak using OGG in MixMonitor<br/>Reported by: Ivan Myalkin<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=90c630aaa1e33a6518b35a9b8361ff015e5ef3f5">[90c630aaa1]</a> Sean Bright -- format_ogg_vorbis: Clear ogg/vorbis data structures on close</li>
</ul><br><h4>Category: Formats/format_pcm</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-20984">ASTERISK-20984</a>: Audible clicks when playing sox encoded au file with STREAM FILE AGI command<br/>Reported by: Roman S.<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ac15ebc3798e31fb6c89a5de514e75ad28005de6">[ac15ebc379]</a> Roman S. -- format_pcm: Track actual header size of .au files</li>
</ul><br><h4>Category: Formats/format_wav</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26613">ASTERISK-26613</a>: format_wav: wav16 format read file only by 320 - half of frame<br/>Reported by: Vitaly K<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9bbfa6fda14de514a9b064262e2be47186b20c0e">[9bbfa6fda1]</a> Sean Bright -- format_wav: Read 16khz wav samples properly</li>
</ul><br><h4>Category: Functions/func_cdr</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26173">ASTERISK-26173</a>: func_cdr: CDR function does not permit empty values to be assigned<br/>Reported by: gkloepfer<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c3ed63cb2cc89e89bec15d29f1d332aa7ece5bc0">[c3ed63cb2c]</a> Joshua Colp -- func_cdr: Allow empty value for CDR dialplan function.</li>
</ul><br><h4>Category: Functions/func_speex</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26926">ASTERISK-26926</a>: func_speex: Crash caused by frame with no datalen<br/>Reported by: Richard Kenner<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ae696132a27238b432cfd532e14e5b7aa2c0f247">[ae696132a2]</a> Joshua Colp -- frame: Better handle interpolated frames.</li>
</ul><br><h4>Category: General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26983">ASTERISK-26983</a>: Crash in Manager Reload when TLS Config Changes<br/>Reported by: Joshua Elson<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8ec6e19c86d082228ca26a21a4e442fd6ae4ec86">[8ec6e19c86]</a> Joshua Elson -- Prevent Undefined Capath Crash</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26860">ASTERISK-26860</a>: Upon RTCP reception, netsock2.c:210 ast_sockaddr_split_hostport: Port missing in (null)<br/>Reported by: Evers Lab<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bbe90d6aed371502fff0a1fefa15a28e40d7b646">[bbe90d6aed]</a> Kevin Harwell -- res_rtp_asterisk: Clearing the remote RTCP address causes RTCP failures</li>
</ul><br><h4>Category: Resources/res_hep</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26953">ASTERISK-26953</a>: Asterisk crash if hep.conf have some missing parameters<br/>Reported by: Joel Vandal<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1b88a3a4cfed0fd29af36000dc6c02e164d74aee">[1b88a3a4cf]</a> Sean Bright -- res_hep: Add additional config initialization and validation</li>
</ul><br><h4>Category: Resources/res_musiconhold</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25974">ASTERISK-25974</a>: Unused realtime MOH classes not purged on 'moh reload'<br/>Reported by: Sébastien Couture<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=70e5a2655dda0fb8241d74d3ed57c86a4c056bf2">[70e5a2655d]</a> Daniel Journo -- Unused realtime MOH classes not purged on 'moh reload'</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26086">ASTERISK-26086</a>: res_musiconhold: format option is not documented adequately<br/>Reported by: Jens Bürger<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2c28f7a92253555afeeeb7c75f5ba3cbf5212c10">[2c28f7a922]</a> Sean Bright -- res_musiconhold: Document the 'format' option</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-23996">ASTERISK-23996</a>: No core dumps because of res_musiconhold chdir.<br/>Reported by: Walter Doekes<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=61fd70c25019488f1031ee185b3472d34293f9e7">[61fd70c250]</a> Sean Bright -- res_musiconhold: Don't chdir() when scanning MoH files</li>
</ul><br><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26908">ASTERISK-26908</a>: res_pjsip: The ChanIsAvail causes a res_pjsip session to be leaked.<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c5b9ed20fd36f0941954eae2d032bc762e032f6a">[c5b9ed20fd]</a> George Joseph -- res_pjsip_session: Add cleanup to ast_sip_session_terminate</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25823">ASTERISK-25823</a>: SIGSEGV, Segmentation fault. - ../sysdeps/x86_64/strlen.S: No such file or directory.<br/>Reported by: Andreas Krüger<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c853cfdc7c6ac9664b824cbcd24a95fd9107fdbd">[c853cfdc7c]</a> Kevin Harwell -- res_pjsip/res_pjsip_callerid: NULL check on caller id name string</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26928">ASTERISK-26928</a>: pjsip: Add database tables for PUBLISH support<br/>Reported by: Joshua Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b3f4a6365e32c2e98b50ba8e351553202a38650b">[b3f4a6365e]</a> Joshua Colp -- pjsip: Add Alembic for PUBLISH support.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26905">ASTERISK-26905</a>: pjproject_bundled: Merge 3 upstream deadlock patches into bundled<br/>Reported by: Ross Beer<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4e6e06949189d5fd0bb6486ac5279b1165be5f83">[4e6e069491]</a> George Joseph -- pjproject_bundled: Add 3 upstream patches</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26916">ASTERISK-26916</a>: res_pjsip: Excessive refcount reached on transport ao2 object<br/>Reported by: Ross Beer<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=27b556778dd3368d5531af64237ca29f42d84641">[27b556778d]</a> Richard Mudgett -- res_pjsip: Fix transport ref leak.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26363">ASTERISK-26363</a>: res_pjsip: Bye sent to sip trunk is not authenticated even after receiving a 407 error code<br/>Reported by: Yaacov Akiba Slama<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bca9685d397ce470a026b3714af35944a06dee59">[bca9685d39]</a> Joshua Colp -- res_pjsip_session: Allow BYE to be sent on disconnected session.</li>
</ul><br><h4>Category: Resources/res_pjsip/Bundling</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26927">ASTERISK-26927</a>: pjproject_bundled: Crash on pj_ssl_get_info() while ioqueue_on_read_complete().<br/>Reported by: Alexander Traud<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e0e5a337fdd3762272ab95bfad8274238f793823">[e0e5a337fd]</a> Alexander Traud -- pjproject_bundled: Crash on pj_ssl_get_info() while ioqueue_on_read_complete().</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26905">ASTERISK-26905</a>: pjproject_bundled: Merge 3 upstream deadlock patches into bundled<br/>Reported by: Ross Beer<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4e6e06949189d5fd0bb6486ac5279b1165be5f83">[4e6e069491]</a> George Joseph -- pjproject_bundled: Add 3 upstream patches</li>
</ul><br><h4>Category: Resources/res_pjsip_caller_id</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25823">ASTERISK-25823</a>: SIGSEGV, Segmentation fault. - ../sysdeps/x86_64/strlen.S: No such file or directory.<br/>Reported by: Andreas Krüger<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c853cfdc7c6ac9664b824cbcd24a95fd9107fdbd">[c853cfdc7c]</a> Kevin Harwell -- res_pjsip/res_pjsip_callerid: NULL check on caller id name string</li>
</ul><br><h4>Category: Resources/res_pjsip_pubsub</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26929">ASTERISK-26929</a>: pjsip: Add database tables for RLS<br/>Reported by: Joshua Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c09b9dba9029efe00bc7528a8cd7e15bb037efab">[c09b9dba90]</a> Joshua Colp -- alembic: Add table for 'resource_list' PJSIP RLS type.</li>
</ul><br><h4>Category: Resources/res_pjsip_sdp_rtp</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26890">ASTERISK-26890</a>: STUN server with non-default-route transport causes INVITE delay<br/>Reported by: George Joseph<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1213ac1ac5fd3707d43958ddcd23e02349bead69">[1213ac1ac5]</a> Richard Mudgett -- res_pjsip_session.c: Send 100 Trying out earlier to prevent retransmissions.</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cd80af508e89ec79d40a277448d61b8ecd610ceb">[cd80af508e]</a> Richard Mudgett -- res_rtp_asterisk.c: Add stun_blacklist option</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26851">ASTERISK-26851</a>: res_pjsip_sdp_rtp: RTP instance does not use same IP as explicit transport<br/>Reported by: Richard Begg<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=304f652cda0e500444ded4e4bc399cbda5835c4e">[304f652cda]</a> Richard Mudgett -- res_pjsip_sdp_rtp.c: Don't use deprecated transport struct member.</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=6906765381e221fea6426510665ab227e87e4486">[6906765381]</a> Richard Mudgett -- res_pjsip_sdp_rtp.c: Don't alter global addr variable.</li>
</ul><br><h4>Category: Resources/res_pjsip_session</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26998">ASTERISK-26998</a>: res_pjsip_session: INVITE retransmissions could still setup the same call again.<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b67363006f62af346248a9f5ce7e20d12ca72147">[b67363006f]</a> Richard Mudgett -- res_pjsip_session.c: Process initial INVITE sooner. (key exists)</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26908">ASTERISK-26908</a>: res_pjsip: The ChanIsAvail causes a res_pjsip session to be leaked.<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c5b9ed20fd36f0941954eae2d032bc762e032f6a">[c5b9ed20fd]</a> George Joseph -- res_pjsip_session: Add cleanup to ast_sip_session_terminate</li>
</ul><br><h4>Category: Resources/res_pjsip_t38</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26974">ASTERISK-26974</a>: res_pjsip: Deadlock in T.38 framehook<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9d5df489681009cfc38ab626cf6c9022ff7197aa">[9d5df48968]</a> Richard Mudgett -- res_pjsip_t38.c: Fix deadlock in T.38 framehook.</li>
</ul><br><h4>Category: Resources/res_rtp_asterisk</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26982">ASTERISK-26982</a>: chan_sip: rtcp_mux setting may cause ice completion failure/delay if client offers rtcp-mux as negotiable<br/>Reported by: Stefan Engström<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f0e5b5815c14d0e532ae00026ac5e440752d46f5">[f0e5b5815c]</a> Sean Bright -- chan_sip: Better ICE handling for RTCP-MUX</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26979">ASTERISK-26979</a>: res_rtp_asterisk: SRTP unprotect failed with authentication failure 10 or 110<br/>Reported by: Javier Riveros <ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a26431a198c58b8d7a7dcffa957705ee5f635848">[a26431a198]</a> Kevin Harwell -- res_rtp_asterisk: rtcp mux using the wrong srtp unprotecting algorithm</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26143">ASTERISK-26143</a>: res_rtp_asterisk: One way audio when transcoding<br/>Reported by: Henning Holtschneider<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1bcce442d05301f50715065dd76c6f5e10782d4a">[1bcce442d0]</a> Vitezslav Novy -- chan_sip: Change sip_get_codec() to return correct codec list</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26692">ASTERISK-26692</a>: res_rtp_asterisk: Crash in dtls_srtp_handle_timeout at res_rtp_asterisk (using chan_sip)<br/>Reported by: scgm11<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=55f452884ff82109cdfb037f30162090eacdb658">[55f452884f]</a> Richard Mudgett -- res_rtp_asterisk.c: Fix crash in RTCP DTLS operation.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26835">ASTERISK-26835</a>: res_rtp_asterisk: Crash when freeing RTCP address string<br/>Reported by: Niklas Larsson<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f856cfbb51cd8879b0412ffd228643aeaba12123">[f856cfbb51]</a> Richard Mudgett -- rtp_engine/res_rtp_asterisk: Fix RTP struct reentrancy crashes.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26853">ASTERISK-26853</a>: res_rtp_asterisk: Crash in pjnath when receiving packet<br/>Reported by: Adagio<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f856cfbb51cd8879b0412ffd228643aeaba12123">[f856cfbb51]</a> Richard Mudgett -- rtp_engine/res_rtp_asterisk: Fix RTP struct reentrancy crashes.</li>
</ul><br><h4>Category: Resources/res_srtp</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26979">ASTERISK-26979</a>: res_rtp_asterisk: SRTP unprotect failed with authentication failure 10 or 110<br/>Reported by: Javier Riveros <ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a26431a198c58b8d7a7dcffa957705ee5f635848">[a26431a198]</a> Kevin Harwell -- res_rtp_asterisk: rtcp mux using the wrong srtp unprotecting algorithm</li>
</ul><br><h4>Category: Resources/res_stun_monitor</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21856">ASTERISK-21856</a>: STUN never works when asterisk started without internet access<br/>Reported by: Jeremy Kister<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=357d1fbdccf8faf0bcd2e7deca71b6071b60022e">[357d1fbdcc]</a> Sean Bright -- res_stun_monitor: Don't fail to load if DNS resolution fails</li>
</ul><br><h4>Category: Resources/res_xmpp</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21009">ASTERISK-21009</a>: xmpp_pubsub_unsubscribe: Could not create IQ when creating pubsub unsubscription on client<br/>Reported by: Marcello Ceschia<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c9648f4690df2e8e23e60ffa70d4e9813246b62b">[c9648f4690]</a> Sean Bright -- astobj2: Prevent potential deadlocks with ao2_global_obj_release</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-24712">ASTERISK-24712</a>: xmpp: starttls problem causes connection spew<br/>Reported by: Matthias Urlichs<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=73bb08fd6a37b99aa61c5b6e75587c7a4512ee39">[73bb08fd6a]</a> Sean Bright -- res_xmpp: Use incremental backoff when a read error occurs</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=196626556250ae395026f9b235b3e7c0b98a508c">[1966265562]</a> Sean Bright -- res_xmpp: Try to provide useful errors messages from OpenSSL</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-23510">ASTERISK-23510</a>: JABBER_STATUS fails with improper code 7 for unavailable clients<br/>Reported by: Anthony Critelli<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=0939a19cff6dfd810831d838c77bca6b2b936fc4">[0939a19cff]</a> Sean Bright -- res_xmpp: Correct implementation of JABBER_STATUS & JabberStatus</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21855">ASTERISK-21855</a>: Asterisk crashes when XMPP message is sent (JabberSend) and no internet connection is available<br/>Reported by: Jeremy Kister<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a487f6fb9724f2a8611aabaab5d05da76179d316">[a487f6fb97]</a> Sean Bright -- res_xmpp: Don't crash when trying to send a message without a connection</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25622">ASTERISK-25622</a>: WARNING for "JABBER: socket read error" should be more specific<br/>Reported by: Sean Darcy<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=90fb1fca41776e4aca48f9ddcc04145ecc62e897">[90fb1fca41]</a> Sean Bright -- res_xmpp: Include client name in connection related error messages</li>
</ul><br><h4>Category: Third-Party/pjproject</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26905">ASTERISK-26905</a>: pjproject_bundled: Merge 3 upstream deadlock patches into bundled<br/>Reported by: Ross Beer<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4e6e06949189d5fd0bb6486ac5279b1165be5f83">[4e6e069491]</a> George Joseph -- pjproject_bundled: Add 3 upstream patches</li>
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26938">ASTERISK-26938</a>: Heap overflow in CSEQ header parsing affects Asterisk chan_pjsip and PJSIP<br/>Reported by: Sandro Gauci<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=919ccdb9acf12e8ce11ae690fa5e8cec6fa10149">[919ccdb9ac]</a> Mark Michelson -- AST-2017-002: Ensure transaction key buffer is large enough.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26939">ASTERISK-26939</a>: Out of bound memory access in PJSIP multipart parser crashes Asterisk<br/>Reported by: Sandro Gauci<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=49c032abef85f1674608d3e24370b11ad5447f9e">[49c032abef]</a> Mark Michelson -- AST-2017-003: Handle zero-length body parts correctly.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26930">ASTERISK-26930</a>: pjproject/Makefile.rules for pjsip 2.6 build fails for non-SSE2 instrunction Linux<br/>Reported by: abelbeck<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=001dc2ade690d505aa42610b48eeb421a5af1b49">[001dc2ade6]</a> George Joseph -- pjproject_bundled: Add --disable-libwebrtc to configure</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26814">ASTERISK-26814</a>: pjproject_bundled build fails to download pjproject source when using cURL<br/>Reported by: Gergely Dömsödi<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e6aeeabddf80f40746961d27a2b257db06e56b4c">[e6aeeabddf]</a> Kevin Harwell -- pjproject_bundled: raise timeout value used when downloading</li>
</ul><br><h3>Improvement</h3><h4>Category: Core/Sorcery</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26088">ASTERISK-26088</a>: Investigate heavy memory utilization by res_pjsip_pubsub<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b67363006f62af346248a9f5ce7e20d12ca72147">[b67363006f]</a> Richard Mudgett -- res_pjsip_session.c: Process initial INVITE sooner. (key exists)</li>
</ul><br><h4>Category: Core/Stasis</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26088">ASTERISK-26088</a>: Investigate heavy memory utilization by res_pjsip_pubsub<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b67363006f62af346248a9f5ce7e20d12ca72147">[b67363006f]</a> Richard Mudgett -- res_pjsip_session.c: Process initial INVITE sooner. (key exists)</li>
</ul><br><h4>Category: Resources/res_hep_rtcp</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26427">ASTERISK-26427</a>: res_hep_rtcp: Asterisk Master will report channel name with res_hep_rtcp when using chan_sip<br/>Reported by: Nir Simionovich (GreenfieldTech - Israel)<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=10a49ab3627b7e93c01b22376cdf71015422894c">[10a49ab362]</a> Joshua Colp -- res_hep_rtcp: Provide chan_sip Call-ID for RTCP messages.</li>
</ul><br><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26088">ASTERISK-26088</a>: Investigate heavy memory utilization by res_pjsip_pubsub<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b67363006f62af346248a9f5ce7e20d12ca72147">[b67363006f]</a> Richard Mudgett -- res_pjsip_session.c: Process initial INVITE sooner. (key exists)</li>
</ul><br><h4>Category: Resources/res_pjsip_pubsub</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26088">ASTERISK-26088</a>: Investigate heavy memory utilization by res_pjsip_pubsub<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b67363006f62af346248a9f5ce7e20d12ca72147">[b67363006f]</a> Richard Mudgett -- res_pjsip_session.c: Process initial INVITE sooner. (key exists)</li>
</ul><br><h4>Category: Resources/res_pjsip_registrar</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26088">ASTERISK-26088</a>: Investigate heavy memory utilization by res_pjsip_pubsub<br/>Reported by: Richard Mudgett<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b67363006f62af346248a9f5ce7e20d12ca72147">[b67363006f]</a> Richard Mudgett -- res_pjsip_session.c: Process initial INVITE sooner. (key exists)</li>
</ul><br><hr><a name="open_issues"><h2 align="center">Open Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all open issues from the issue tracker that were referenced by changes that went into this release.</p><h3>Bug</h3><h4>Category: Core/Bridging</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26923">ASTERISK-26923</a>: bridging: T.38 request is lost when channels are added to bridge<br/>Reported by: Torrey Searle<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=3e7c396a51b240088c475dd53e7bac9869376129">[3e7c396a51]</a> Torrey Searle -- bridging: Ensure successful T.38 negotation</li>
</ul><br><h4>Category: Core/Channels</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26923">ASTERISK-26923</a>: bridging: T.38 request is lost when channels are added to bridge<br/>Reported by: Torrey Searle<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=3e7c396a51b240088c475dd53e7bac9869376129">[3e7c396a51]</a> Torrey Searle -- bridging: Ensure successful T.38 negotation</li>
</ul><br><hr><a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all changes that went into this release that did not reference a JIRA issue.</p><table width="100%" border="1">
<tr><th>Revision</th><th>Author</th><th>Summary</th></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=79ceeea8f80bac8c8d5870490a013036bd83e510">79ceeea8f8</a></td><td>Kevin Harwell</td><td>Update for 13.16.0-rc2</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b634297c8c7a22a6e62fd7150dea185bebf2129e">b634297c8c</a></td><td>Kevin Harwell</td><td>Update for 13.16.0-rc1</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c107ab4c04f60e6c077daba15d998a765af7f9e6">c107ab4c04</a></td><td>Sean Bright</td><td>res_hep_rtcp: Add support level to module info</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5da91c65be09f41fdd722d953b77618c77c27682">5da91c65be</a></td><td>Rodrigo Ramírez Norambuena</td><td>Fix spelling queues.conf.sample file</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7d4a22bf2e98c1477d0e81306eb11844ed056c67">7d4a22bf2e</a></td><td>George Joseph</td><td>logger: Added logger_queue_limit to the configuration options.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=614eda785d6e6ed538bc2adfbbe2ad4d2800006e">614eda785d</a></td><td>Richard Mudgett</td><td>netsock2.c: Made get/set addr port avoid potential uninitialized memory.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=526a0081a0f247c6e4ac1908c0e36ef3787c67d0">526a0081a0</a></td><td>Sean Bright</td><td>cleanup: Change severity of fread short-read warning</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=02234e920ce7c5534683fbfd9273eff56595d677">02234e920c</a></td><td>Richard Mudgett</td><td>rtp_engine.c: Fix deadlock potential copying RTP payload maps.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=623832b94ee0df194fea357c0e7ffbbb083b1052">623832b94e</a></td><td>George Joseph</td><td>res_pjsip_outbound_authenticator_digest: Add context to log messages</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4d3b4fbf22053e72c9f8d22ecf6870ae5c5ff250">4d3b4fbf22</a></td><td>Kevin Harwell</td><td>vector: defaults and indexes</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1b50df78d069632e5607e2937461a33d7f568431">1b50df78d0</a></td><td>Sean Bright</td><td>cleanup: Fix fread() and fwrite() error handling</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cea3742c549a3c31621d2d29a1b78b42211e01d0">cea3742c54</a></td><td>Sean Bright</td><td>core: Use eventfd for alert pipes on Linux when possible</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=80fd7fd9086d1454e13624102961d9cd5c7d8651">80fd7fd908</a></td><td>Richard Mudgett</td><td>res_pjsip_session.c: Restructure ast_sip_session_alloc()</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=98e38daf8228ed012dc661b7321f963f33404af6">98e38daf82</a></td><td>Sean Bright</td><td>pbx: Use same thread if AST_OUTGOING_WAIT_COMPLETE specified</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=dafcd97a77fe040628dff165ff6bd2c5019708de">dafcd97a77</a></td><td>Sean Bright</td><td>build: Update config.guess and config.sub</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4ccaffe64401f8e7eced58d5800ad2ef0bbb24ff">4ccaffe644</a></td><td>George Joseph</td><td>make ari-stubs so doc periodic jobs can run</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9084c85cb17fb39732e6f264999d7e0402a4f606">9084c85cb1</a></td><td>Richard Mudgett</td><td>Revert "bridging: Ensure successful T.38 negotation"</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f882ca25722b6290dc6e8d786452b0b26adceed1">f882ca2572</a></td><td>George Joseph</td><td>modules: change module LOAD_FAILUREs to LOAD_DECLINES</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f8219a2e12579b0cf0119756dec699f5a8c5640a">f8219a2e12</a></td><td>Richard Mudgett</td><td>stun.c: Fix ast_stun_request() erratic timeout.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=19b82a864415f57c72fa939f0909622761d3b358">19b82a8644</a></td><td>Richard Mudgett</td><td>sorcery.c: Speed up ast_sorcery_retrieve_by_id()</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=aecf19e7d26c4198906d4e9a75ba955acb26e6b5">aecf19e7d2</a></td><td>Richard Mudgett</td><td>res_pjsip: Fix pointer use after unref.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bbbd262ec0f05c00f640c4594b5ed5e48b8f86ef">bbbd262ec0</a></td><td>Walter Doekes</td><td>samples: Undo removal of include from canonicalize-app-names commit.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d2a33cdedc4c96aab0f58ff36b2296aa8983da7b">d2a33cdedc</a></td><td>George Joseph</td><td>sample_config: Add samples for pubsub to pjsip.conf.sample</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ab9d2fc86db3a0c49e7bc63fe9a93eb5341b44fb">ab9d2fc86d</a></td><td>Walter Doekes</td><td>samples: Canonicalize app names in extensions.conf.sample.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c7015508038a55b3b9ff61a7ffa31a8d463e20df">c701550803</a></td><td>Corey Farrell</td><td>Forward declare 'struct ast_json' in asterisk.h</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1d1309b1ed0da8e862e55d2fb0f021043d722ecd">1d1309b1ed</a></td><td>Joshua Colp</td><td>Revert "Update for 13.15.0-rc1"</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=3c23ebdef4925c1391ad084cd3f06b837d7cad3b">3c23ebdef4</a></td><td>Corey Farrell</td><td>CEL: Remove header declarations of non-existant functions.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a827892ff77cd37912b528d9c45b446be091bbc0">a827892ff7</a></td><td>George Joseph</td><td>res_pjsip_config_wizard: Add 2 new parameters to help with proxy config</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=864dda07f37fcc752c2dd2147ee54fba617d5750">864dda07f3</a></td><td>Sean Bright</td><td>alembic: Turn off execute bit on non-executable python scripts</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a9529cbb210b7f1d280de42c74b9e3bb79e2af86">a9529cbb21</a></td><td>Richard Mudgett</td><td>Add DTLS sanity check.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=79a2c26c035bcd05250f2f09d6cc3cd65790535d">79a2c26c03</a></td><td>Sean Bright</td><td>core: Remove embedded module support</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=55693383e204d51eea08d6bb7f1a030c472ea0f9">55693383e2</a></td><td>Sean Bright</td><td>res_xmpp: Fix ref counting issue</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=03b99ae3d29aa9b49e6e1bd538feddb9813d6daf">03b99ae3d2</a></td><td>Sean Bright</td><td>res_xmpp: Correctly check return value of SSL_connect</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d9d2beba1c0d9aa93382dc4ec8b54627b2a301fa">d9d2beba1c</a></td><td>Sean Bright</td><td>res_pjsip_sdp_rtp: Set hangup cause for RTP timeouts</td></tr>
</table><hr><a name="diffstat"><h2 align="center">Diffstat Results</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p><pre>asterisk-13.15.0-summary.html | 376 --
asterisk-13.15.0-summary.txt | 971 ------
b/.version | 2
b/CHANGES | 40
b/ChangeLog | 1394 +++++++++-
b/Makefile | 39
b/Makefile.moddir_rules | 41
b/Makefile.rules | 12
b/UPGRADE.txt | 7
b/addons/Makefile | 7
b/addons/cdr_mysql.c | 43
b/addons/chan_mobile.c | 11
b/addons/format_mp3.c | 8
b/apps/Makefile | 2
b/apps/app_adsiprog.c | 2
b/apps/app_agent_pool.c | 5
b/apps/app_alarmreceiver.c | 2
b/apps/app_authenticate.c | 2
b/apps/app_cdr.c | 5
b/apps/app_confbridge.c | 6
b/apps/app_dahdiras.c | 2
b/apps/app_forkcdr.c | 6
b/apps/app_minivm.c | 14
b/apps/app_queue.c | 6
b/apps/app_voicemail.c | 16
b/apps/app_zapateller.c | 2
b/apps/confbridge/conf_config_parser.c | 4
b/asterisk-13.16.0-rc2-summary.html | 18
b/asterisk-13.16.0-rc2-summary.txt | 103
b/build_tools/cflags.xml | 4
b/cdr/cdr_custom.c | 4
b/cdr/cdr_pgsql.c | 57
b/cel/cel_custom.c | 7
b/cel/cel_odbc.c | 90
b/cel/cel_pgsql.c | 27
b/channels/Makefile | 12
b/channels/chan_alsa.c | 46
b/channels/chan_dahdi.c | 12
b/channels/chan_iax2.c | 33
b/channels/chan_mgcp.c | 10
b/channels/chan_motif.c | 2
b/channels/chan_nbs.c | 4
b/channels/chan_oss.c | 57
b/channels/chan_phone.c | 6
b/channels/chan_pjsip.c | 11
b/channels/chan_sip.c | 94
b/channels/chan_skinny.c | 128
b/channels/chan_unistim.c | 2
b/codecs/Makefile | 10
b/codecs/codec_a_mu.c | 2
b/codecs/codec_adpcm.c | 2
b/codecs/codec_alaw.c | 2
b/codecs/codec_g722.c | 2
b/codecs/codec_g726.c | 2
b/codecs/codec_gsm.c | 2
b/codecs/codec_ilbc.c | 2
b/codecs/codec_lpc10.c | 2
b/codecs/codec_resample.c | 4
b/codecs/codec_ulaw.c | 2
b/config.guess | 184 -
b/config.sub | 90
b/configs/samples/extconfig.conf.sample | 3
b/configs/samples/extensions.conf.sample | 44
b/configs/samples/hep.conf.sample | 6
b/configs/samples/logger.conf.sample | 8
b/configs/samples/musiconhold.conf.sample | 6
b/configs/samples/pjsip.conf.sample | 141 +
b/configs/samples/pjsip_wizard.conf.sample | 12
b/configs/samples/queues.conf.sample | 4
b/configs/samples/rtp.conf.sample | 19
b/configs/samples/sorcery.conf.sample | 9
b/configure | 242 +
b/configure.ac | 36
b/contrib/ast-db-manage/config/versions/1d0e332c32af_create_rls_table.py | 39
b/contrib/ast-db-manage/config/versions/2da192dbbc65_add_publish_tables.py | 73
b/contrib/realtime/mssql/mssql_config.sql | 86
b/contrib/realtime/mysql/mysql_config.sql | 62
b/contrib/realtime/oracle/oracle_config.sql | 86
b/contrib/realtime/postgresql/postgresql_config.sql | 62
b/formats/format_g719.c | 12
b/formats/format_g723.c | 15
b/formats/format_g726.c | 35
b/formats/format_g729.c | 14
b/formats/format_gsm.c | 18
b/formats/format_h263.c | 18
b/formats/format_h264.c | 18
b/formats/format_ilbc.c | 14
b/formats/format_jpeg.c | 2
b/formats/format_ogg_vorbis.c | 20
b/formats/format_pcm.c | 101
b/formats/format_siren14.c | 12
b/formats/format_siren7.c | 12
b/formats/format_sln.c | 43
b/formats/format_vox.c | 16
b/formats/format_wav.c | 65
b/formats/format_wav_gsm.c | 16
b/funcs/func_cdr.c | 7
b/funcs/func_holdintercept.c | 2
b/funcs/func_talkdetect.c | 2
b/include/asterisk.h | 1
b/include/asterisk/alertpipe.h | 159 +
b/include/asterisk/astobj2.h | 8
b/include/asterisk/autoconfig.h.in | 8
b/include/asterisk/cel.h | 23
b/include/asterisk/channel.h | 11
b/include/asterisk/logger.h | 23
b/include/asterisk/module.h | 66
b/include/asterisk/res_pjsip_session.h | 4
b/include/asterisk/stasis_app.h | 1
b/include/asterisk/stasis_channels.h | 1
b/include/asterisk/stasis_endpoints.h | 1
b/include/asterisk/stasis_system.h | 1
b/include/asterisk/strings.h | 44
b/include/asterisk/vector.h | 62
b/main/Makefile | 19
b/main/alertpipe.c | 166 +
b/main/asterisk.c | 6
b/main/astobj2.c | 24
b/main/audiohook.c | 11
b/main/bridge_channel.c | 87
b/main/cdr.c | 4
b/main/channel.c | 12
b/main/channel_internal_api.c | 121
b/main/config_options.c | 5
b/main/features.c | 8
b/main/http.c | 23
b/main/loader.c | 95
b/main/logger.c | 192 -
b/main/manager.c | 14
b/main/netsock2.c | 25
b/main/pbx.c | 76
b/main/rtp_engine.c | 513 +++
b/main/sdp_srtp.c | 4
b/main/sorcery.c | 10
b/main/stun.c | 11
b/main/tcptls.c | 94
b/main/translate.c | 6
b/main/utils.c | 3
b/makeopts.in | 5
b/pbx/Makefile | 2
b/res/Makefile | 12
b/res/res_ari.c | 51
b/res/res_ari_applications.c | 19
b/res/res_ari_asterisk.c | 19
b/res/res_ari_bridges.c | 19
b/res/res_ari_channels.c | 19
b/res/res_ari_device_states.c | 19
b/res/res_ari_endpoints.c | 19
b/res/res_ari_events.c | 27
b/res/res_ari_mailboxes.c | 19
b/res/res_ari_model.c | 2
b/res/res_ari_playbacks.c | 19
b/res/res_ari_recordings.c | 19
b/res/res_ari_sounds.c | 19
b/res/res_calendar.c | 6
b/res/res_chan_stats.c | 23
b/res/res_config_sqlite.c | 16
b/res/res_config_sqlite3.c | 6
b/res/res_endpoint_stats.c | 2
b/res/res_hep.c | 34
b/res/res_hep_rtcp.c | 21
b/res/res_http_websocket.c | 2
b/res/res_limit.c | 2
b/res/res_musiconhold.c | 39
b/res/res_pjsip.c | 12
b/res/res_pjsip/config_transport.c | 19
b/res/res_pjsip_caller_id.c | 9
b/res/res_pjsip_config_wizard.c | 38
b/res/res_pjsip_nat.c | 4
b/res/res_pjsip_one_touch_record_info.c | 2
b/res/res_pjsip_outbound_authenticator_digest.c | 80
b/res/res_pjsip_outbound_publish.c | 2
b/res/res_pjsip_outbound_registration.c | 8
b/res/res_pjsip_publish_asterisk.c | 2
b/res/res_pjsip_pubsub.c | 12
b/res/res_pjsip_sdp_rtp.c | 46
b/res/res_pjsip_send_to_voicemail.c | 2
b/res/res_pjsip_session.c | 254 -
b/res/res_pjsip_t38.c | 32
b/res/res_rtp_asterisk.c | 1054 +++++--
b/res/res_smdi.c | 4
b/res/res_stasis.c | 4
b/res/res_stasis_device_state.c | 5
b/res/res_stasis_playback.c | 5
b/res/res_stasis_recording.c | 5
b/res/res_stasis_test.c | 2
b/res/res_statsd.c | 3
b/res/res_stun_monitor.c | 12
b/res/res_xmpp.c | 158 -
b/rest-api-templates/res_ari_resource.c.mustache | 35
b/tests/test_bucket.c | 2
b/tests/test_channel_feature_hooks.c | 2
b/tests/test_logger.c | 67
b/tests/test_vector.c | 19
b/third-party/Makefile | 2
b/third-party/pjproject/Makefile | 4
b/third-party/pjproject/Makefile.rules | 1
b/third-party/pjproject/configure.m4 | 1
b/third-party/pjproject/patches/0035-r5572-svn-backport-dialog-transaction-deadlock.patch | 32
b/third-party/pjproject/patches/0036-r5573-svn-backport-ua-pjsua-transaction-deadlock.patch | 119
b/third-party/pjproject/patches/0037-r5576-svn-backport-session-timer-crash.patch | 72
b/third-party/pjproject/patches/0048-r5576-svn-backport-tls-crash.patch | 32
b/third-party/pjproject/patches/0058-Parse-zero-length-multipart-body-parts-correctly.patch | 41
build_tools/embed_modules.xml | 46
204 files changed, 6537 insertions(+), 3532 deletions(-)</pre><br></html>

View File

@@ -0,0 +1,952 @@
Release Summary
asterisk-13.16.0
Date: 2017-05-30
<asteriskteam@digium.com>
----------------------------------------------------------------------
Table of Contents
1. Summary
2. Contributors
3. Closed Issues
4. Open Issues
5. Other Changes
6. 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-13.15.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
25 Sean Bright 1 Aaron An 3 Sandro Gauci
18 Richard Mudgett 3 George Joseph
12 George Joseph 3 Richard Mudgett
9 Joshua Colp 2 Walter Doekes
7 Kevin Harwell 2 Richard Begg
3 Walter Doekes 2 scgm11
3 Corey Farrell 2 twisted
3 Alexander Traud 2 Joshua Colp
2 Torrey Searle 2 Alexander Traud
2 Mark Michelson 2 Jeremy Kister
1 Josh Roberson 2 Matthias Urlichs
1 Sebastian Gutierrez 2 Ross Beer
1 Joshua Elson 2 Matthias Urlichs
1 Roman S. 2 Jeremy Kister
1 Daniel Journo 1 gkloepfer
1 Aaron An 1 Etienne Lessard
1 Vitezslav Novy 1 Aaron An
1 Ivan Poddubny 1 Jean Aunis - Prescom
1 Rodrigo RamArez Norambuena 1 Frederic LE FOLL
1 Thierry Magnien 1 Bob Ham
1 Jean Aunis 1 Roman S.
1 Javier Riveros
1 Andreas KrA 1/4ger
1 Anthony Critelli
1 Jens BA 1/4rger
1 Yaacov Akiba Slama
1 Vitaly K
1 Ksenia
1 Walter Doekes
1 Ivan Myalkin
1 Ove Aursand
1 Anthony Critelli
1 Ksenia
1 abelbeck
1 Vitaly K
1 Joerg Sonnenberger
1 Jens BA 1/4rger
1 Sandro Gauci
1 Marcello Ceschia
1 SA(c)bastien Couture
1 Corey Farrell
1 Henning Holtschneider
1 Ivan Myalkin
1 Joel Vandal
1 Badalian Vyacheslav
1 Sean Darcy
1 Ross Beer
1 Alex VillacAs Lasso
1 Olle Johansson
1 Stefan EngstrAP:m
1 Richard Kenner
1 Richard Mudgett
1 Etienne Lessard
1 Sean Darcy
1 Joshua Elson
1 Nir Simionovich (GreenfieldTech
- Israel)
1 Evers Lab
1 Henning Holtschneider
1 Ove Aursand
1 Frederic LE FOLL
1 Marcello Ceschia
1 Aaron An
1 Gergely DAP:msAP:di
1 Niklas Larsson
1 Torrey Searle
1 Adagio
1 Roman S.
----------------------------------------------------------------------
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.
Bug
Category: Applications/app_confbridge
ASTERISK-25506: [patch]CONFBRIDGE failure after an app_confbrige.so module
reload results in segfault or error/warning messages.
Reported by: Frederic LE FOLL
* [bed6c0d04b] George Joseph -- app_confbridge: Fix reference to cfg in
menu_template_handler
Category: Applications/app_mixmonitor
ASTERISK-26169: format_ogg_vorbis: Memory leak using OGG in MixMonitor
Reported by: Ivan Myalkin
* [90c630aaa1] Sean Bright -- format_ogg_vorbis: Clear ogg/vorbis data
structures on close
ASTERISK-26875: app_mixmonitor: Recording out of sync when 183 but no RTP
Reported by: Aaron An
* [d5b480afca] Aaron An -- audiohook.c: Lost RTP packets lead to
out-of-sync MixMonitor.
Category: Applications/app_queue
ASTERISK-25665: Duplicate logging in queue log for EXITEMPTY events
Reported by: Ove Aursand
* [cfeae52c0f] Ivan Poddubny -- app_queue: Fix duplicate queue_log
entries for EXITEMPTY and ABANDON
Category: CDR/General
ASTERISK-26818: cdr: Problem setting variables in h exten
Reported by: scgm11
* [e196190f11] Sebastian Gutierrez -- cdr: Allow setting of user field
from 'h' extension
Category: CDR/cdr_adaptive_odbc
ASTERISK-26818: cdr: Problem setting variables in h exten
Reported by: scgm11
* [e196190f11] Sebastian Gutierrez -- cdr: Allow setting of user field
from 'h' extension
Category: CEL/cel_odbc
ASTERISK-25032: [patch]cel_odbc sometimes inserts CEL with wrong eventtime
Reported by: Etienne Lessard
* [d6325373ac] George Joseph -- cel_odbc: Fix timestamp processing for
microseconds
Category: CEL/cel_pgsql
ASTERISK-26896: Overflow of buffer to PQEscapeStringConn with large
app_args causes ABRT
Reported by: twisted
* [754e99d517] Sean Bright -- cdr_pgsql: Fix buffer overflow calling
libpq
* [bb68f57a03] Josh Roberson -- cel_pgsql.c: Fix buffer overflow calling
libpq
Category: Channels/chan_sip/General
ASTERISK-26982: chan_sip: rtcp_mux setting may cause ice completion
failure/delay if client offers rtcp-mux as negotiable
Reported by: Stefan EngstrAP:m
* [f0e5b5815c] Sean Bright -- chan_sip: Better ICE handling for RTCP-MUX
ASTERISK-26922: chan_sip: tcpbind uses wrong source address
Reported by: Ksenia
* [23db04ed93] Thierry Magnien -- channels/chan_sip.c: use binding IP
address for outgoing TCP SIP connections
ASTERISK-26951: chan_sip: ACK with SDP does not update a direct media
bridge
Reported by: Jean Aunis - Prescom
* [566ad7c35d] Jean Aunis -- chan_sip: Trigger reinvite if the SDP
answer is included in the SIP ACK
ASTERISK-26692: res_rtp_asterisk: Crash in dtls_srtp_handle_timeout at
res_rtp_asterisk (using chan_sip)
Reported by: scgm11
* [55f452884f] Richard Mudgett -- res_rtp_asterisk.c: Fix crash in RTCP
DTLS operation.
ASTERISK-26897: chan_sip: Security vulnerability with client code header
Reported by: Alex VillacAs Lasso
* [68bde0f07d] Corey Farrell -- CDR: Protect from data overflow in
ast_cdr_setuserfield.
Category: Channels/chan_sip/Interoperability
ASTERISK-21721: SIP Failed to parse multiple Supported: headers
Reported by: Olle Johansson
* [94bd529f9e] Alexander Traud -- chan_sip: Session Timers required but
refused wrongly.
ASTERISK-26915: chan_sip: Session Timers required but refused wrongly.
Reported by: Alexander Traud
* [94bd529f9e] Alexander Traud -- chan_sip: Session Timers required but
refused wrongly.
Category: Channels/chan_sip/SRTP
ASTERISK-25490: [patch]SDP crypto tag is validated incorrectly
Reported by: Joerg Sonnenberger
* [ef19db9261] Alexander Traud -- srtp: Allow zero as tag value for a
sRTP Crypto Suite.
Category: Channels/chan_skinny
ASTERISK-26940: Asterisk Skinny memory exhaustion vulnerability leads to
DoS
Reported by: Sandro Gauci
* [1cc18d4025] George Joseph -- AST-2017-004: chan_skinny: Add EOF check
in skinny_session
Category: Core/Bridging
ASTERISK-24529: Using AMI Action Bridge to on an already bridged channel
causes the incorrect return priority to be used
Reported by: Corey Farrell
* [7ffd80cc04] Joshua Colp -- bridge: Fix returning to dialplan when
executing Bridge() from AMI.
Category: Core/BuildSystem
ASTERISK-26705: libasteriskssl.so not found when asterisk is installed for
the 1st time
Reported by: George Joseph
* [7954b39a50] Walter Doekes -- build: Fix deb build issues with
fakeroot
Category: Core/General
ASTERISK-26606: tcptls: Incorrect OpenSSL function call leads to
misleading error report
Reported by: Bob Ham
* [6fba0a41f0] Joshua Colp -- tcptls: Improve error messages for TLS
connections.
ASTERISK-26903: Listening TCP/TLS sockets stop when temporarily out of
open files
Reported by: Walter Doekes
* [bb8cd2add7] Richard Mudgett -- tcptls.c: Cleanup TCP/TLS listener
thread on abnormal exit.
ASTERISK-26528: [UBSAN] strings.h:signed integer overflow in
ast_str_case_hash
Reported by: Badalian Vyacheslav
* [d8967ff2c0] Torrey Searle -- strings.h: Avoid overflows in the string
hash functions
Category: Documentation
ASTERISK-26086: res_musiconhold: format option is not documented
adequately
Reported by: Jens BA 1/4rger
* [2c28f7a922] Sean Bright -- res_musiconhold: Document the 'format'
option
Category: Formats/format_ogg_vorbis
ASTERISK-26169: format_ogg_vorbis: Memory leak using OGG in MixMonitor
Reported by: Ivan Myalkin
* [90c630aaa1] Sean Bright -- format_ogg_vorbis: Clear ogg/vorbis data
structures on close
Category: Formats/format_pcm
ASTERISK-20984: Audible clicks when playing sox encoded au file with
STREAM FILE AGI command
Reported by: Roman S.
* [ac15ebc379] Roman S. -- format_pcm: Track actual header size of .au
files
Category: Formats/format_wav
ASTERISK-26613: format_wav: wav16 format read file only by 320 - half of
frame
Reported by: Vitaly K
* [9bbfa6fda1] Sean Bright -- format_wav: Read 16khz wav samples
properly
Category: Functions/func_cdr
ASTERISK-26173: func_cdr: CDR function does not permit empty values to be
assigned
Reported by: gkloepfer
* [c3ed63cb2c] Joshua Colp -- func_cdr: Allow empty value for CDR
dialplan function.
Category: Functions/func_speex
ASTERISK-26926: func_speex: Crash caused by frame with no datalen
Reported by: Richard Kenner
* [ae696132a2] Joshua Colp -- frame: Better handle interpolated frames.
Category: General
ASTERISK-26983: Crash in Manager Reload when TLS Config Changes
Reported by: Joshua Elson
* [8ec6e19c86] Joshua Elson -- Prevent Undefined Capath Crash
ASTERISK-26860: Upon RTCP reception, netsock2.c:210
ast_sockaddr_split_hostport: Port missing in (null)
Reported by: Evers Lab
* [bbe90d6aed] Kevin Harwell -- res_rtp_asterisk: Clearing the remote
RTCP address causes RTCP failures
Category: Resources/res_hep
ASTERISK-26953: Asterisk crash if hep.conf have some missing parameters
Reported by: Joel Vandal
* [1b88a3a4cf] Sean Bright -- res_hep: Add additional config
initialization and validation
Category: Resources/res_musiconhold
ASTERISK-25974: Unused realtime MOH classes not purged on 'moh reload'
Reported by: SA(c)bastien Couture
* [70e5a2655d] Daniel Journo -- Unused realtime MOH classes not purged
on 'moh reload'
ASTERISK-26086: res_musiconhold: format option is not documented
adequately
Reported by: Jens BA 1/4rger
* [2c28f7a922] Sean Bright -- res_musiconhold: Document the 'format'
option
ASTERISK-23996: No core dumps because of res_musiconhold chdir.
Reported by: Walter Doekes
* [61fd70c250] Sean Bright -- res_musiconhold: Don't chdir() when
scanning MoH files
Category: Resources/res_pjsip
ASTERISK-26908: res_pjsip: The ChanIsAvail causes a res_pjsip session to
be leaked.
Reported by: Richard Mudgett
* [c5b9ed20fd] George Joseph -- res_pjsip_session: Add cleanup to
ast_sip_session_terminate
ASTERISK-25823: SIGSEGV, Segmentation fault. - ../sysdeps/x86_64/strlen.S:
No such file or directory.
Reported by: Andreas KrA 1/4ger
* [c853cfdc7c] Kevin Harwell -- res_pjsip/res_pjsip_callerid: NULL check
on caller id name string
ASTERISK-26928: pjsip: Add database tables for PUBLISH support
Reported by: Joshua Colp
* [b3f4a6365e] Joshua Colp -- pjsip: Add Alembic for PUBLISH support.
ASTERISK-26905: pjproject_bundled: Merge 3 upstream deadlock patches into
bundled
Reported by: Ross Beer
* [4e6e069491] George Joseph -- pjproject_bundled: Add 3 upstream
patches
ASTERISK-26916: res_pjsip: Excessive refcount reached on transport ao2
object
Reported by: Ross Beer
* [27b556778d] Richard Mudgett -- res_pjsip: Fix transport ref leak.
ASTERISK-26363: res_pjsip: Bye sent to sip trunk is not authenticated even
after receiving a 407 error code
Reported by: Yaacov Akiba Slama
* [bca9685d39] Joshua Colp -- res_pjsip_session: Allow BYE to be sent on
disconnected session.
Category: Resources/res_pjsip/Bundling
ASTERISK-26927: pjproject_bundled: Crash on pj_ssl_get_info() while
ioqueue_on_read_complete().
Reported by: Alexander Traud
* [e0e5a337fd] Alexander Traud -- pjproject_bundled: Crash on
pj_ssl_get_info() while ioqueue_on_read_complete().
ASTERISK-26905: pjproject_bundled: Merge 3 upstream deadlock patches into
bundled
Reported by: Ross Beer
* [4e6e069491] George Joseph -- pjproject_bundled: Add 3 upstream
patches
Category: Resources/res_pjsip_caller_id
ASTERISK-25823: SIGSEGV, Segmentation fault. - ../sysdeps/x86_64/strlen.S:
No such file or directory.
Reported by: Andreas KrA 1/4ger
* [c853cfdc7c] Kevin Harwell -- res_pjsip/res_pjsip_callerid: NULL check
on caller id name string
Category: Resources/res_pjsip_pubsub
ASTERISK-26929: pjsip: Add database tables for RLS
Reported by: Joshua Colp
* [c09b9dba90] Joshua Colp -- alembic: Add table for 'resource_list'
PJSIP RLS type.
Category: Resources/res_pjsip_sdp_rtp
ASTERISK-26890: STUN server with non-default-route transport causes INVITE
delay
Reported by: George Joseph
* [1213ac1ac5] Richard Mudgett -- res_pjsip_session.c: Send 100 Trying
out earlier to prevent retransmissions.
* [cd80af508e] Richard Mudgett -- res_rtp_asterisk.c: Add stun_blacklist
option
ASTERISK-26851: res_pjsip_sdp_rtp: RTP instance does not use same IP as
explicit transport
Reported by: Richard Begg
* [304f652cda] Richard Mudgett -- res_pjsip_sdp_rtp.c: Don't use
deprecated transport struct member.
* [6906765381] Richard Mudgett -- res_pjsip_sdp_rtp.c: Don't alter
global addr variable.
Category: Resources/res_pjsip_session
ASTERISK-26998: res_pjsip_session: INVITE retransmissions could still
setup the same call again.
Reported by: Richard Mudgett
* [b67363006f] Richard Mudgett -- res_pjsip_session.c: Process initial
INVITE sooner. (key exists)
ASTERISK-26908: res_pjsip: The ChanIsAvail causes a res_pjsip session to
be leaked.
Reported by: Richard Mudgett
* [c5b9ed20fd] George Joseph -- res_pjsip_session: Add cleanup to
ast_sip_session_terminate
Category: Resources/res_pjsip_t38
ASTERISK-26974: res_pjsip: Deadlock in T.38 framehook
Reported by: Richard Mudgett
* [9d5df48968] Richard Mudgett -- res_pjsip_t38.c: Fix deadlock in T.38
framehook.
Category: Resources/res_rtp_asterisk
ASTERISK-26982: chan_sip: rtcp_mux setting may cause ice completion
failure/delay if client offers rtcp-mux as negotiable
Reported by: Stefan EngstrAP:m
* [f0e5b5815c] Sean Bright -- chan_sip: Better ICE handling for RTCP-MUX
ASTERISK-26979: res_rtp_asterisk: SRTP unprotect failed with
authentication failure 10 or 110
Reported by: Javier Riveros
* [a26431a198] Kevin Harwell -- res_rtp_asterisk: rtcp mux using the
wrong srtp unprotecting algorithm
ASTERISK-26143: res_rtp_asterisk: One way audio when transcoding
Reported by: Henning Holtschneider
* [1bcce442d0] Vitezslav Novy -- chan_sip: Change sip_get_codec() to
return correct codec list
ASTERISK-26692: res_rtp_asterisk: Crash in dtls_srtp_handle_timeout at
res_rtp_asterisk (using chan_sip)
Reported by: scgm11
* [55f452884f] Richard Mudgett -- res_rtp_asterisk.c: Fix crash in RTCP
DTLS operation.
ASTERISK-26835: res_rtp_asterisk: Crash when freeing RTCP address string
Reported by: Niklas Larsson
* [f856cfbb51] Richard Mudgett -- rtp_engine/res_rtp_asterisk: Fix RTP
struct reentrancy crashes.
ASTERISK-26853: res_rtp_asterisk: Crash in pjnath when receiving packet
Reported by: Adagio
* [f856cfbb51] Richard Mudgett -- rtp_engine/res_rtp_asterisk: Fix RTP
struct reentrancy crashes.
Category: Resources/res_srtp
ASTERISK-26979: res_rtp_asterisk: SRTP unprotect failed with
authentication failure 10 or 110
Reported by: Javier Riveros
* [a26431a198] Kevin Harwell -- res_rtp_asterisk: rtcp mux using the
wrong srtp unprotecting algorithm
Category: Resources/res_stun_monitor
ASTERISK-21856: STUN never works when asterisk started without internet
access
Reported by: Jeremy Kister
* [357d1fbdcc] Sean Bright -- res_stun_monitor: Don't fail to load if
DNS resolution fails
Category: Resources/res_xmpp
ASTERISK-21009: xmpp_pubsub_unsubscribe: Could not create IQ when creating
pubsub unsubscription on client
Reported by: Marcello Ceschia
* [c9648f4690] Sean Bright -- astobj2: Prevent potential deadlocks with
ao2_global_obj_release
ASTERISK-24712: xmpp: starttls problem causes connection spew
Reported by: Matthias Urlichs
* [73bb08fd6a] Sean Bright -- res_xmpp: Use incremental backoff when a
read error occurs
* [1966265562] Sean Bright -- res_xmpp: Try to provide useful errors
messages from OpenSSL
ASTERISK-23510: JABBER_STATUS fails with improper code 7 for unavailable
clients
Reported by: Anthony Critelli
* [0939a19cff] Sean Bright -- res_xmpp: Correct implementation of
JABBER_STATUS & JabberStatus
ASTERISK-21855: Asterisk crashes when XMPP message is sent (JabberSend)
and no internet connection is available
Reported by: Jeremy Kister
* [a487f6fb97] Sean Bright -- res_xmpp: Don't crash when trying to send
a message without a connection
ASTERISK-25622: WARNING for "JABBER: socket read error" should be more
specific
Reported by: Sean Darcy
* [90fb1fca41] Sean Bright -- res_xmpp: Include client name in
connection related error messages
Category: Third-Party/pjproject
ASTERISK-26905: pjproject_bundled: Merge 3 upstream deadlock patches into
bundled
Reported by: Ross Beer
* [4e6e069491] George Joseph -- pjproject_bundled: Add 3 upstream
patches
Category: pjproject/pjsip
ASTERISK-26938: Heap overflow in CSEQ header parsing affects Asterisk
chan_pjsip and PJSIP
Reported by: Sandro Gauci
* [919ccdb9ac] Mark Michelson -- AST-2017-002: Ensure transaction key
buffer is large enough.
ASTERISK-26939: Out of bound memory access in PJSIP multipart parser
crashes Asterisk
Reported by: Sandro Gauci
* [49c032abef] Mark Michelson -- AST-2017-003: Handle zero-length body
parts correctly.
ASTERISK-26930: pjproject/Makefile.rules for pjsip 2.6 build fails for
non-SSE2 instrunction Linux
Reported by: abelbeck
* [001dc2ade6] George Joseph -- pjproject_bundled: Add
--disable-libwebrtc to configure
ASTERISK-26814: pjproject_bundled build fails to download pjproject source
when using cURL
Reported by: Gergely DAP:msAP:di
* [e6aeeabddf] Kevin Harwell -- pjproject_bundled: raise timeout value
used when downloading
Improvement
Category: Core/Sorcery
ASTERISK-26088: Investigate heavy memory utilization by res_pjsip_pubsub
Reported by: Richard Mudgett
* [b67363006f] Richard Mudgett -- res_pjsip_session.c: Process initial
INVITE sooner. (key exists)
Category: Core/Stasis
ASTERISK-26088: Investigate heavy memory utilization by res_pjsip_pubsub
Reported by: Richard Mudgett
* [b67363006f] Richard Mudgett -- res_pjsip_session.c: Process initial
INVITE sooner. (key exists)
Category: Resources/res_hep_rtcp
ASTERISK-26427: res_hep_rtcp: Asterisk Master will report channel name
with res_hep_rtcp when using chan_sip
Reported by: Nir Simionovich (GreenfieldTech - Israel)
* [10a49ab362] Joshua Colp -- res_hep_rtcp: Provide chan_sip Call-ID for
RTCP messages.
Category: Resources/res_pjsip
ASTERISK-26088: Investigate heavy memory utilization by res_pjsip_pubsub
Reported by: Richard Mudgett
* [b67363006f] Richard Mudgett -- res_pjsip_session.c: Process initial
INVITE sooner. (key exists)
Category: Resources/res_pjsip_pubsub
ASTERISK-26088: Investigate heavy memory utilization by res_pjsip_pubsub
Reported by: Richard Mudgett
* [b67363006f] Richard Mudgett -- res_pjsip_session.c: Process initial
INVITE sooner. (key exists)
Category: Resources/res_pjsip_registrar
ASTERISK-26088: Investigate heavy memory utilization by res_pjsip_pubsub
Reported by: Richard Mudgett
* [b67363006f] Richard Mudgett -- res_pjsip_session.c: Process initial
INVITE sooner. (key exists)
----------------------------------------------------------------------
Open Issues
[Back to Top]
This is a list of all open issues from the issue tracker that were
referenced by changes that went into this release.
Bug
Category: Core/Bridging
ASTERISK-26923: bridging: T.38 request is lost when channels are added to
bridge
Reported by: Torrey Searle
* [3e7c396a51] Torrey Searle -- bridging: Ensure successful T.38
negotation
Category: Core/Channels
ASTERISK-26923: bridging: T.38 request is lost when channels are added to
bridge
Reported by: Torrey Searle
* [3e7c396a51] Torrey Searle -- bridging: Ensure successful T.38
negotation
----------------------------------------------------------------------
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 |
|------------+-------------+---------------------------------------------|
| 79ceeea8f8 | Kevin | Update for 13.16.0-rc2 |
| | Harwell | |
|------------+-------------+---------------------------------------------|
| b634297c8c | Kevin | Update for 13.16.0-rc1 |
| | Harwell | |
|------------+-------------+---------------------------------------------|
| c107ab4c04 | Sean Bright | res_hep_rtcp: Add support level to module |
| | | info |
|------------+-------------+---------------------------------------------|
| | Rodrigo | |
| 5da91c65be | RamArez | Fix spelling queues.conf.sample file |
| | Norambuena | |
|------------+-------------+---------------------------------------------|
| 7d4a22bf2e | George | logger: Added logger_queue_limit to the |
| | Joseph | configuration options. |
|------------+-------------+---------------------------------------------|
| 614eda785d | Richard | netsock2.c: Made get/set addr port avoid |
| | Mudgett | potential uninitialized memory. |
|------------+-------------+---------------------------------------------|
| 526a0081a0 | Sean Bright | cleanup: Change severity of fread |
| | | short-read warning |
|------------+-------------+---------------------------------------------|
| 02234e920c | Richard | rtp_engine.c: Fix deadlock potential |
| | Mudgett | copying RTP payload maps. |
|------------+-------------+---------------------------------------------|
| 623832b94e | George | res_pjsip_outbound_authenticator_digest: |
| | Joseph | Add context to log messages |
|------------+-------------+---------------------------------------------|
| 4d3b4fbf22 | Kevin | vector: defaults and indexes |
| | Harwell | |
|------------+-------------+---------------------------------------------|
| 1b50df78d0 | Sean Bright | cleanup: Fix fread() and fwrite() error |
| | | handling |
|------------+-------------+---------------------------------------------|
| cea3742c54 | Sean Bright | core: Use eventfd for alert pipes on Linux |
| | | when possible |
|------------+-------------+---------------------------------------------|
| 80fd7fd908 | Richard | res_pjsip_session.c: Restructure |
| | Mudgett | ast_sip_session_alloc() |
|------------+-------------+---------------------------------------------|
| 98e38daf82 | Sean Bright | pbx: Use same thread if |
| | | AST_OUTGOING_WAIT_COMPLETE specified |
|------------+-------------+---------------------------------------------|
| dafcd97a77 | Sean Bright | build: Update config.guess and config.sub |
|------------+-------------+---------------------------------------------|
| 4ccaffe644 | George | make ari-stubs so doc periodic jobs can run |
| | Joseph | |
|------------+-------------+---------------------------------------------|
| 9084c85cb1 | Richard | Revert "bridging: Ensure successful T.38 |
| | Mudgett | negotation" |
|------------+-------------+---------------------------------------------|
| f882ca2572 | George | modules: change module LOAD_FAILUREs to |
| | Joseph | LOAD_DECLINES |
|------------+-------------+---------------------------------------------|
| f8219a2e12 | Richard | stun.c: Fix ast_stun_request() erratic |
| | Mudgett | timeout. |
|------------+-------------+---------------------------------------------|
| 19b82a8644 | Richard | sorcery.c: Speed up |
| | Mudgett | ast_sorcery_retrieve_by_id() |
|------------+-------------+---------------------------------------------|
| aecf19e7d2 | Richard | res_pjsip: Fix pointer use after unref. |
| | Mudgett | |
|------------+-------------+---------------------------------------------|
| bbbd262ec0 | Walter | samples: Undo removal of include from |
| | Doekes | canonicalize-app-names commit. |
|------------+-------------+---------------------------------------------|
| d2a33cdedc | George | sample_config: Add samples for pubsub to |
| | Joseph | pjsip.conf.sample |
|------------+-------------+---------------------------------------------|
| ab9d2fc86d | Walter | samples: Canonicalize app names in |
| | Doekes | extensions.conf.sample. |
|------------+-------------+---------------------------------------------|
| c701550803 | Corey | Forward declare 'struct ast_json' in |
| | Farrell | asterisk.h |
|------------+-------------+---------------------------------------------|
| 1d1309b1ed | Joshua Colp | Revert "Update for 13.15.0-rc1" |
|------------+-------------+---------------------------------------------|
| 3c23ebdef4 | Corey | CEL: Remove header declarations of |
| | Farrell | non-existant functions. |
|------------+-------------+---------------------------------------------|
| a827892ff7 | George | res_pjsip_config_wizard: Add 2 new |
| | Joseph | parameters to help with proxy config |
|------------+-------------+---------------------------------------------|
| 864dda07f3 | Sean Bright | alembic: Turn off execute bit on |
| | | non-executable python scripts |
|------------+-------------+---------------------------------------------|
| a9529cbb21 | Richard | Add DTLS sanity check. |
| | Mudgett | |
|------------+-------------+---------------------------------------------|
| 79a2c26c03 | Sean Bright | core: Remove embedded module support |
|------------+-------------+---------------------------------------------|
| 55693383e2 | Sean Bright | res_xmpp: Fix ref counting issue |
|------------+-------------+---------------------------------------------|
| 03b99ae3d2 | Sean Bright | res_xmpp: Correctly check return value of |
| | | SSL_connect |
|------------+-------------+---------------------------------------------|
| d9d2beba1c | Sean Bright | res_pjsip_sdp_rtp: Set hangup cause for RTP |
| | | timeouts |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
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-13.15.0-summary.html | 376 --
asterisk-13.15.0-summary.txt | 971 ------
b/.version | 2
b/CHANGES | 40
b/ChangeLog | 1394 +++++++++-
b/Makefile | 39
b/Makefile.moddir_rules | 41
b/Makefile.rules | 12
b/UPGRADE.txt | 7
b/addons/Makefile | 7
b/addons/cdr_mysql.c | 43
b/addons/chan_mobile.c | 11
b/addons/format_mp3.c | 8
b/apps/Makefile | 2
b/apps/app_adsiprog.c | 2
b/apps/app_agent_pool.c | 5
b/apps/app_alarmreceiver.c | 2
b/apps/app_authenticate.c | 2
b/apps/app_cdr.c | 5
b/apps/app_confbridge.c | 6
b/apps/app_dahdiras.c | 2
b/apps/app_forkcdr.c | 6
b/apps/app_minivm.c | 14
b/apps/app_queue.c | 6
b/apps/app_voicemail.c | 16
b/apps/app_zapateller.c | 2
b/apps/confbridge/conf_config_parser.c | 4
b/asterisk-13.16.0-rc2-summary.html | 18
b/asterisk-13.16.0-rc2-summary.txt | 103
b/build_tools/cflags.xml | 4
b/cdr/cdr_custom.c | 4
b/cdr/cdr_pgsql.c | 57
b/cel/cel_custom.c | 7
b/cel/cel_odbc.c | 90
b/cel/cel_pgsql.c | 27
b/channels/Makefile | 12
b/channels/chan_alsa.c | 46
b/channels/chan_dahdi.c | 12
b/channels/chan_iax2.c | 33
b/channels/chan_mgcp.c | 10
b/channels/chan_motif.c | 2
b/channels/chan_nbs.c | 4
b/channels/chan_oss.c | 57
b/channels/chan_phone.c | 6
b/channels/chan_pjsip.c | 11
b/channels/chan_sip.c | 94
b/channels/chan_skinny.c | 128
b/channels/chan_unistim.c | 2
b/codecs/Makefile | 10
b/codecs/codec_a_mu.c | 2
b/codecs/codec_adpcm.c | 2
b/codecs/codec_alaw.c | 2
b/codecs/codec_g722.c | 2
b/codecs/codec_g726.c | 2
b/codecs/codec_gsm.c | 2
b/codecs/codec_ilbc.c | 2
b/codecs/codec_lpc10.c | 2
b/codecs/codec_resample.c | 4
b/codecs/codec_ulaw.c | 2
b/config.guess | 184 -
b/config.sub | 90
b/configs/samples/extconfig.conf.sample | 3
b/configs/samples/extensions.conf.sample | 44
b/configs/samples/hep.conf.sample | 6
b/configs/samples/logger.conf.sample | 8
b/configs/samples/musiconhold.conf.sample | 6
b/configs/samples/pjsip.conf.sample | 141 +
b/configs/samples/pjsip_wizard.conf.sample | 12
b/configs/samples/queues.conf.sample | 4
b/configs/samples/rtp.conf.sample | 19
b/configs/samples/sorcery.conf.sample | 9
b/configure | 242 +
b/configure.ac | 36
b/contrib/ast-db-manage/config/versions/1d0e332c32af_create_rls_table.py | 39
b/contrib/ast-db-manage/config/versions/2da192dbbc65_add_publish_tables.py | 73
b/contrib/realtime/mssql/mssql_config.sql | 86
b/contrib/realtime/mysql/mysql_config.sql | 62
b/contrib/realtime/oracle/oracle_config.sql | 86
b/contrib/realtime/postgresql/postgresql_config.sql | 62
b/formats/format_g719.c | 12
b/formats/format_g723.c | 15
b/formats/format_g726.c | 35
b/formats/format_g729.c | 14
b/formats/format_gsm.c | 18
b/formats/format_h263.c | 18
b/formats/format_h264.c | 18
b/formats/format_ilbc.c | 14
b/formats/format_jpeg.c | 2
b/formats/format_ogg_vorbis.c | 20
b/formats/format_pcm.c | 101
b/formats/format_siren14.c | 12
b/formats/format_siren7.c | 12
b/formats/format_sln.c | 43
b/formats/format_vox.c | 16
b/formats/format_wav.c | 65
b/formats/format_wav_gsm.c | 16
b/funcs/func_cdr.c | 7
b/funcs/func_holdintercept.c | 2
b/funcs/func_talkdetect.c | 2
b/include/asterisk.h | 1
b/include/asterisk/alertpipe.h | 159 +
b/include/asterisk/astobj2.h | 8
b/include/asterisk/autoconfig.h.in | 8
b/include/asterisk/cel.h | 23
b/include/asterisk/channel.h | 11
b/include/asterisk/logger.h | 23
b/include/asterisk/module.h | 66
b/include/asterisk/res_pjsip_session.h | 4
b/include/asterisk/stasis_app.h | 1
b/include/asterisk/stasis_channels.h | 1
b/include/asterisk/stasis_endpoints.h | 1
b/include/asterisk/stasis_system.h | 1
b/include/asterisk/strings.h | 44
b/include/asterisk/vector.h | 62
b/main/Makefile | 19
b/main/alertpipe.c | 166 +
b/main/asterisk.c | 6
b/main/astobj2.c | 24
b/main/audiohook.c | 11
b/main/bridge_channel.c | 87
b/main/cdr.c | 4
b/main/channel.c | 12
b/main/channel_internal_api.c | 121
b/main/config_options.c | 5
b/main/features.c | 8
b/main/http.c | 23
b/main/loader.c | 95
b/main/logger.c | 192 -
b/main/manager.c | 14
b/main/netsock2.c | 25
b/main/pbx.c | 76
b/main/rtp_engine.c | 513 +++
b/main/sdp_srtp.c | 4
b/main/sorcery.c | 10
b/main/stun.c | 11
b/main/tcptls.c | 94
b/main/translate.c | 6
b/main/utils.c | 3
b/makeopts.in | 5
b/pbx/Makefile | 2
b/res/Makefile | 12
b/res/res_ari.c | 51
b/res/res_ari_applications.c | 19
b/res/res_ari_asterisk.c | 19
b/res/res_ari_bridges.c | 19
b/res/res_ari_channels.c | 19
b/res/res_ari_device_states.c | 19
b/res/res_ari_endpoints.c | 19
b/res/res_ari_events.c | 27
b/res/res_ari_mailboxes.c | 19
b/res/res_ari_model.c | 2
b/res/res_ari_playbacks.c | 19
b/res/res_ari_recordings.c | 19
b/res/res_ari_sounds.c | 19
b/res/res_calendar.c | 6
b/res/res_chan_stats.c | 23
b/res/res_config_sqlite.c | 16
b/res/res_config_sqlite3.c | 6
b/res/res_endpoint_stats.c | 2
b/res/res_hep.c | 34
b/res/res_hep_rtcp.c | 21
b/res/res_http_websocket.c | 2
b/res/res_limit.c | 2
b/res/res_musiconhold.c | 39
b/res/res_pjsip.c | 12
b/res/res_pjsip/config_transport.c | 19
b/res/res_pjsip_caller_id.c | 9
b/res/res_pjsip_config_wizard.c | 38
b/res/res_pjsip_nat.c | 4
b/res/res_pjsip_one_touch_record_info.c | 2
b/res/res_pjsip_outbound_authenticator_digest.c | 80
b/res/res_pjsip_outbound_publish.c | 2
b/res/res_pjsip_outbound_registration.c | 8
b/res/res_pjsip_publish_asterisk.c | 2
b/res/res_pjsip_pubsub.c | 12
b/res/res_pjsip_sdp_rtp.c | 46
b/res/res_pjsip_send_to_voicemail.c | 2
b/res/res_pjsip_session.c | 254 -
b/res/res_pjsip_t38.c | 32
b/res/res_rtp_asterisk.c | 1054 +++++--
b/res/res_smdi.c | 4
b/res/res_stasis.c | 4
b/res/res_stasis_device_state.c | 5
b/res/res_stasis_playback.c | 5
b/res/res_stasis_recording.c | 5
b/res/res_stasis_test.c | 2
b/res/res_statsd.c | 3
b/res/res_stun_monitor.c | 12
b/res/res_xmpp.c | 158 -
b/rest-api-templates/res_ari_resource.c.mustache | 35
b/tests/test_bucket.c | 2
b/tests/test_channel_feature_hooks.c | 2
b/tests/test_logger.c | 67
b/tests/test_vector.c | 19
b/third-party/Makefile | 2
b/third-party/pjproject/Makefile | 4
b/third-party/pjproject/Makefile.rules | 1
b/third-party/pjproject/configure.m4 | 1
b/third-party/pjproject/patches/0035-r5572-svn-backport-dialog-transaction-deadlock.patch | 32
b/third-party/pjproject/patches/0036-r5573-svn-backport-ua-pjsua-transaction-deadlock.patch | 119
b/third-party/pjproject/patches/0037-r5576-svn-backport-session-timer-crash.patch | 72
b/third-party/pjproject/patches/0048-r5576-svn-backport-tls-crash.patch | 32
b/third-party/pjproject/patches/0058-Parse-zero-length-multipart-body-parts-correctly.patch | 41
build_tools/embed_modules.xml | 46
204 files changed, 6537 insertions(+), 3532 deletions(-)

View File

@@ -1210,7 +1210,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
static int process_sdp_o(const char *o, struct sip_pvt *p);
static int process_sdp_c(const char *c, struct ast_sockaddr *addr);
static int process_sdp_a_sendonly(const char *a, int *sendonly);
static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance);
static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance, int rtcp_mux);
static int process_sdp_a_rtcp_mux(const char *a, struct sip_pvt *p, int *requested);
static int process_sdp_a_dtls(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance);
static int process_sdp_a_audio(const char *a, struct sip_pvt *p, struct ast_rtp_codecs *newaudiortp, int *last_rtpmap_codec);
@@ -10144,6 +10144,24 @@ static void set_ice_components(struct sip_pvt *p, struct ast_rtp_instance *insta
}
}
static int has_media_level_attribute(int start, struct sip_request *req, const char *attr)
{
int next = start;
char type;
const char *value;
/* We don't care about the return result here */
get_sdp_iterate(&next, req, "m");
while ((type = get_sdp_line(&start, next, req, &value)) != '\0') {
if (type == 'a' && !strcasecmp(value, attr)) {
return 1;
}
}
return 0;
}
/*! \brief Process SIP SDP offer, select formats and activate media channels
If offer is rejected, we will not change any properties of the call
Return 0 on success, a negative value on errors.
@@ -10286,13 +10304,13 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
else if (process_sdp_a_image(value, p))
processed = TRUE;
if (process_sdp_a_ice(value, p, p->rtp)) {
if (process_sdp_a_ice(value, p, p->rtp, 0)) {
processed = TRUE;
}
if (process_sdp_a_ice(value, p, p->vrtp)) {
if (process_sdp_a_ice(value, p, p->vrtp, 0)) {
processed = TRUE;
}
if (process_sdp_a_ice(value, p, p->trtp)) {
if (process_sdp_a_ice(value, p, p->trtp, 0)) {
processed = TRUE;
}
@@ -10332,6 +10350,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
int image = FALSE;
int text = FALSE;
int processed_crypto = FALSE;
int rtcp_mux_offered = 0;
char protocol[18] = {0,};
unsigned int x;
struct ast_rtp_engine_dtls *dtls;
@@ -10351,6 +10370,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
AST_LIST_INSERT_TAIL(&p->offered_media, offer, next);
offer->type = SDP_UNKNOWN;
/* We need to check for this ahead of time */
rtcp_mux_offered = has_media_level_attribute(iterator, req, "rtcp-mux");
/* Check for 'audio' media offer */
if (strncmp(m, "audio ", 6) == 0) {
if ((sscanf(m, "audio %30u/%30u %17s %n", &x, &numberofports, protocol, &len) == 3 && len > 0) ||
@@ -10717,7 +10739,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
case 'a':
/* Audio specific scanning */
if (audio) {
if (process_sdp_a_ice(value, p, p->rtp)) {
if (process_sdp_a_ice(value, p, p->rtp, rtcp_mux_offered)) {
processed = TRUE;
} else if (process_sdp_a_dtls(value, p, p->rtp)) {
processed_crypto = TRUE;
@@ -10738,7 +10760,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
}
/* Video specific scanning */
else if (video) {
if (process_sdp_a_ice(value, p, p->vrtp)) {
if (process_sdp_a_ice(value, p, p->vrtp, rtcp_mux_offered)) {
processed = TRUE;
} else if (process_sdp_a_dtls(value, p, p->vrtp)) {
processed_crypto = TRUE;
@@ -10757,7 +10779,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
}
/* Text (T.140) specific scanning */
else if (text) {
if (process_sdp_a_ice(value, p, p->trtp)) {
if (process_sdp_a_ice(value, p, p->trtp, rtcp_mux_offered)) {
processed = TRUE;
} else if (process_sdp_a_text(value, p, &newtextrtp, red_fmtp, &red_num_gen, red_data_pt, &last_rtpmap_codec)) {
processed = TRUE;
@@ -11269,7 +11291,7 @@ static int process_sdp_a_sendonly(const char *a, int *sendonly)
return found;
}
static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance)
static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance, int rtcp_mux_offered)
{
struct ast_rtp_engine_ice *ice;
int found = FALSE;
@@ -11289,6 +11311,12 @@ static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_in
found = TRUE;
} else if (sscanf(a, "candidate: %31s %30u %3s %30u %23s %30u typ %5s %*s %23s %*s %30u", foundation, &candidate.id, transport, (unsigned *)&candidate.priority,
address, &port, cand_type, relay_address, &relay_port) >= 7) {
if (rtcp_mux_offered && ast_test_flag(&p->flags[2], SIP_PAGE3_RTCP_MUX) && candidate.id > 1) {
/* If we support RTCP-MUX and they offered it, don't consider RTCP candidates */
return TRUE;
}
candidate.foundation = foundation;
candidate.transport = transport;

View File

@@ -0,0 +1,44 @@
BEGIN TRANSACTION;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL
);
GO
-- Running upgrade -> 210693f3123d
CREATE TABLE cdr (
accountcode VARCHAR(20) NULL,
src VARCHAR(80) NULL,
dst VARCHAR(80) NULL,
dcontext VARCHAR(80) NULL,
clid VARCHAR(80) NULL,
channel VARCHAR(80) NULL,
dstchannel VARCHAR(80) NULL,
lastapp VARCHAR(80) NULL,
lastdata VARCHAR(80) NULL,
start DATETIME NULL,
answer DATETIME NULL,
[end] DATETIME NULL,
duration INTEGER NULL,
billsec INTEGER NULL,
disposition VARCHAR(45) NULL,
amaflags VARCHAR(45) NULL,
userfield VARCHAR(256) NULL,
uniqueid VARCHAR(150) NULL,
linkedid VARCHAR(150) NULL,
peeraccount VARCHAR(20) NULL,
sequence INTEGER NULL
);
GO
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
GO
COMMIT;
GO

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,54 @@
BEGIN TRANSACTION;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL
);
GO
-- Running upgrade -> a2e9769475e
CREATE TABLE voicemail_messages (
dir VARCHAR(255) NOT NULL,
msgnum INTEGER NOT NULL,
context VARCHAR(80) NULL,
macrocontext VARCHAR(80) NULL,
callerid VARCHAR(80) NULL,
origtime INTEGER NULL,
duration INTEGER NULL,
recording IMAGE NULL,
flag VARCHAR(30) NULL,
category VARCHAR(30) NULL,
mailboxuser VARCHAR(30) NULL,
mailboxcontext VARCHAR(30) NULL,
msg_id VARCHAR(40) NULL
);
GO
ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
GO
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
GO
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e');
GO
-- Running upgrade a2e9769475e -> 39428242f7f5
ALTER TABLE voicemail_messages ALTER COLUMN recording IMAGE;
GO
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';
GO
COMMIT;
GO

View File

@@ -0,0 +1,32 @@
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL
);
-- Running upgrade -> 210693f3123d
CREATE TABLE cdr (
accountcode VARCHAR(20),
src VARCHAR(80),
dst VARCHAR(80),
dcontext VARCHAR(80),
clid VARCHAR(80),
channel VARCHAR(80),
dstchannel VARCHAR(80),
lastapp VARCHAR(80),
lastdata VARCHAR(80),
start DATETIME,
answer DATETIME,
end DATETIME,
duration INTEGER,
billsec INTEGER,
disposition VARCHAR(45),
amaflags VARCHAR(45),
userfield VARCHAR(256),
uniqueid VARCHAR(150),
linkedid VARCHAR(150),
peeraccount VARCHAR(20),
sequence INTEGER
);
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,34 @@
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL
);
-- Running upgrade -> a2e9769475e
CREATE TABLE voicemail_messages (
dir VARCHAR(255) NOT NULL,
msgnum INTEGER NOT NULL,
context VARCHAR(80),
macrocontext VARCHAR(80),
callerid VARCHAR(80),
origtime INTEGER,
duration INTEGER,
recording BLOB,
flag VARCHAR(30),
category VARCHAR(30),
mailboxuser VARCHAR(30),
mailboxcontext VARCHAR(30),
msg_id VARCHAR(40)
);
ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e');
-- Running upgrade a2e9769475e -> 39428242f7f5
ALTER TABLE voicemail_messages MODIFY recording BLOB(4294967295) NULL;
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';

View File

@@ -0,0 +1,38 @@
CREATE TABLE alembic_version (
version_num VARCHAR2(32 CHAR) NOT NULL
)
/
-- Running upgrade -> 210693f3123d
CREATE TABLE cdr (
accountcode VARCHAR2(20 CHAR),
src VARCHAR2(80 CHAR),
dst VARCHAR2(80 CHAR),
dcontext VARCHAR2(80 CHAR),
clid VARCHAR2(80 CHAR),
channel VARCHAR2(80 CHAR),
dstchannel VARCHAR2(80 CHAR),
lastapp VARCHAR2(80 CHAR),
lastdata VARCHAR2(80 CHAR),
"start" DATE,
answer DATE,
end DATE,
duration INTEGER,
billsec INTEGER,
disposition VARCHAR2(45 CHAR),
amaflags VARCHAR2(45 CHAR),
userfield VARCHAR2(256 CHAR),
uniqueid VARCHAR2(150 CHAR),
linkedid VARCHAR2(150 CHAR),
peeraccount VARCHAR2(20 CHAR),
sequence INTEGER
)
/
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d')
/

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,48 @@
CREATE TABLE alembic_version (
version_num VARCHAR2(32 CHAR) NOT NULL
)
/
-- Running upgrade -> a2e9769475e
CREATE TABLE voicemail_messages (
dir VARCHAR2(255 CHAR) NOT NULL,
msgnum INTEGER NOT NULL,
context VARCHAR2(80 CHAR),
macrocontext VARCHAR2(80 CHAR),
callerid VARCHAR2(80 CHAR),
origtime INTEGER,
duration INTEGER,
recording BLOB,
flag VARCHAR2(30 CHAR),
category VARCHAR2(30 CHAR),
mailboxuser VARCHAR2(30 CHAR),
mailboxcontext VARCHAR2(30 CHAR),
msg_id VARCHAR2(40 CHAR)
)
/
ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum)
/
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir)
/
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e')
/
-- Running upgrade a2e9769475e -> 39428242f7f5
ALTER TABLE voicemail_messages MODIFY recording BLOB
/
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e'
/

View File

@@ -0,0 +1,36 @@
BEGIN;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL
);
-- Running upgrade -> 210693f3123d
CREATE TABLE cdr (
accountcode VARCHAR(20),
src VARCHAR(80),
dst VARCHAR(80),
dcontext VARCHAR(80),
clid VARCHAR(80),
channel VARCHAR(80),
dstchannel VARCHAR(80),
lastapp VARCHAR(80),
lastdata VARCHAR(80),
start TIMESTAMP WITHOUT TIME ZONE,
answer TIMESTAMP WITHOUT TIME ZONE,
"end" TIMESTAMP WITHOUT TIME ZONE,
duration INTEGER,
billsec INTEGER,
disposition VARCHAR(45),
amaflags VARCHAR(45),
userfield VARCHAR(256),
uniqueid VARCHAR(150),
linkedid VARCHAR(150),
peeraccount VARCHAR(20),
sequence INTEGER
);
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
COMMIT;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
BEGIN;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL
);
-- Running upgrade -> a2e9769475e
CREATE TABLE voicemail_messages (
dir VARCHAR(255) NOT NULL,
msgnum INTEGER NOT NULL,
context VARCHAR(80),
macrocontext VARCHAR(80),
callerid VARCHAR(80),
origtime INTEGER,
duration INTEGER,
recording BYTEA,
flag VARCHAR(30),
category VARCHAR(30),
mailboxuser VARCHAR(30),
mailboxcontext VARCHAR(30),
msg_id VARCHAR(40)
);
ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e');
-- Running upgrade a2e9769475e -> 39428242f7f5
ALTER TABLE voicemail_messages ALTER COLUMN recording TYPE BYTEA;
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';
COMMIT;

View File

@@ -2373,6 +2373,39 @@ error:
}
#endif
static int rtcp_mux(struct ast_rtp *rtp, const unsigned char *packet)
{
uint8_t version;
uint8_t pt;
uint8_t m;
if (!rtp->rtcp || rtp->rtcp->type != AST_RTP_INSTANCE_RTCP_MUX) {
return 0;
}
version = (packet[0] & 0XC0) >> 6;
if (version == 0) {
/* version 0 indicates this is a STUN packet and shouldn't
* be interpreted as a possible RTCP packet
*/
return 0;
}
/* The second octet of a packet will be one of the following:
* For RTP: The marker bit (1 bit) and the RTP payload type (7 bits)
* For RTCP: The payload type (8)
*
* RTP has a forbidden range of payload types (64-95) since these
* will conflict with RTCP payload numbers if the marker bit is set.
*/
m = packet[1] & 0x80;
pt = packet[1] & 0x7F;
if (m && pt >= 64 && pt <= 95) {
return 1;
}
return 0;
}
/*! \pre instance is locked */
static int __rtp_recvfrom(struct ast_rtp_instance *instance, void *buf, size_t size, int flags, struct ast_sockaddr *sa, int rtcp)
{
@@ -2495,7 +2528,8 @@ static int __rtp_recvfrom(struct ast_rtp_instance *instance, void *buf, size_t s
}
#endif
if ((*in & 0xC0) && res_srtp && srtp && res_srtp->unprotect(srtp, buf, &len, rtcp) < 0) {
if ((*in & 0xC0) && res_srtp && srtp && res_srtp->unprotect(
srtp, buf, &len, rtcp || rtcp_mux(rtp, buf)) < 0) {
return -1;
}
@@ -4859,39 +4893,6 @@ static int bridge_p2p_rtp_write(struct ast_rtp_instance *instance,
return 0;
}
static int rtcp_mux(struct ast_rtp *rtp, const unsigned char *packet)
{
uint8_t version;
uint8_t pt;
uint8_t m;
if (!rtp->rtcp || rtp->rtcp->type != AST_RTP_INSTANCE_RTCP_MUX) {
return 0;
}
version = (packet[0] & 0XC0) >> 6;
if (version == 0) {
/* version 0 indicates this is a STUN packet and shouldn't
* be interpreted as a possible RTCP packet
*/
return 0;
}
/* The second octet of a packet will be one of the following:
* For RTP: The marker bit (1 bit) and the RTP payload type (7 bits)
* For RTCP: The payload type (8)
*
* RTP has a forbidden range of payload types (64-95) since these
* will conflict with RTCP payload numbers if the marker bit is set.
*/
m = packet[1] & 0x80;
pt = packet[1] & 0x7F;
if (m && pt >= 64 && pt <= 95) {
return 1;
}
return 0;
}
/*! \pre instance is locked */
static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtcp)
{