Compare commits

..

2 Commits
15 ... 15.7.0

Author SHA1 Message Date
Asterisk Development Team
bdfa52a3be Update for 15.7.0 2018-12-11 15:06:10 -05:00
Kevin Harwell
bad18f8cfc Update for 15.7.0-rc1 2018-12-03 17:17:47 -06:00
24 changed files with 87352 additions and 88 deletions

1
.lastclean Normal file
View File

@@ -0,0 +1 @@
40

1
.version Normal file
View File

@@ -0,0 +1 @@
15.7.0

79482
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,265 @@
<!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-15.7.0</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-15.7.0</h3><h3 align="center">Date: 2018-12-11</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-15.6.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%">14 Corey Farrell <git@cfware.com><br/>12 George Joseph <gjoseph@digium.com><br/>11 Sean Bright <sean.bright@gmail.com><br/>8 Richard Mudgett <rmudgett@digium.com><br/>6 Joshua Colp <jcolp@digium.com><br/>2 Alexei Gradinari <alex2grad@gmail.com><br/>2 Kevin Harwell <kharwell@digium.com><br/>2 Rodrigo Ramírez Norambuena <a@rodrigoramirez.com><br/>2 Florian Floimair <f.floimair@commend.com><br/>1 Jan Hoffmann <jan@3e8.eu> (license 6986)<br/>1 Walter Doekes <walter+asterisk@wjd.nu><br/>1 Frederic LE FOLL <frederic.lefoll@c-s.fr><br/>1 David Hajek <david.hajek@daktela.com><br/>1 Moritz Fain <moritz@fain.io><br/>1 Cao Minh Hiep <chiep@infinitalk.co.jp><br/>1 Chris-Savinovich <csavinovich@digium.com><br/>1 Ben Ford <bford@digium.com><br/>1 Emmanuel BUU <emmanuel.buu@ives.fr><br/>1 lvl <digium@lvlconsultancy.nl><br/>1 Peter Katzmann <peter.katzmann@edag.de><br/></td><td width="33%">1 Cao Minh Hiep<br/>1 Emmanuel BUU<br/></td><td width="33%">4 Joshua C. Colp <jcolp@digium.com><br/>3 Sergej Kasumovic <sergej@bicomsystems.com><br/>2 Alexei Gradinari <alex2grad@gmail.com><br/>2 Sean Bright <sean.bright@gmail.com><br/>1 Jan Hoffmann<br/>1 Jan Hoffmann <jan@3e8.eu><br/>1 Cameron <cbanta@gmail.com><br/>1 Walter Doekes <walter+asterisk@wjd.nu><br/>1 David Hajek <david.hajek@daktela.com><br/>1 Will <drizuid@gmail.com><br/>1 Emmanuel BUU <emmanuel.buu@ives.fr><br/>1 pasandev <pasandev@ymail.com><br/>1 Samuel Galarneau<br/>1 Emmanuel BUU<br/>1 Cao Minh Hiep <chiep@infinitalk.co.jp><br/>1 David Hajek<br/>1 Samuel Galarneau <sgalarneau@digium.com><br/>1 Jaco Kroon <jaco@uls.co.za><br/>1 Florian Floimair <f.floimair@commend.com><br/>1 Frederic LE FOLL <frederic.lefoll@c-s.fr><br/>1 Cao Minh Hiep<br/>1 Andrej <andrej@grom.biz><br/>1 lvl <digium@lvlconsultancy.nl><br/>1 Peter Katzmann <peter.katzmann@edag.de><br/>1 Hajek Michal <michal.hajek@daktela.com><br/>1 Lei Fu <solo@astercc.org><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>Security</h3><h4>Category: Core/DNS</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28127">ASTERISK-28127</a>: Buffer overflow for DNS SRV/NAPTR records<br/>Reported by: Jan Hoffmann<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e5a59484bfbabdc020d255bb2ba89aa22896bc55">[e5a59484bf]</a> Jan Hoffmann -- AST-2018-010: Fix length of buffer needed for SRV and NAPTR results</li>
</ul><br><h4>Category: Resources/res_http_websocket</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28013">ASTERISK-28013</a>: res_http_websocket: Crash when reading HTTP Upgrade requests<br/>Reported by: Sean Bright<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=fd87b8e49c04bd0e6e811cff0c54fe6513c38ff4">[fd87b8e49c]</a> Sean Bright -- AST-2018-009: Fix crash processing websocket HTTP Upgrade requests</li>
</ul><br><h3>Bug</h3><h4>Category: Applications/app_queue</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-27920">ASTERISK-27920</a>: app_queue: Queue member considered inuse after immediately hanging up during dialing.<br/>Reported by: Cao Minh Hiep<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=fc842169d42cdbb4cd148985e90ed951fc592351">[fc842169d4]</a> Cao Minh Hiep -- app_queue: Fix Attended transfer hangup with removing pending member.</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28032">ASTERISK-28032</a>: Realtime queuemembers are not updated during retry phase<br/>Reported by: lvl<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=feb9e72b0446f34457b270a079ec11547102250e">[feb9e72b04]</a> lvl -- app_queue: Update realtime queuemembers after wait_a_bit(), not before</li>
</ul><br><h4>Category: Channels/chan_sip/Messaging</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28057">ASTERISK-28057</a>: chan_sip: SipNotify via AMI behaves differently to CLI<br/>Reported by: Peter Katzmann<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f3539d1d07e84057c404eb8eddb17bfdb468758b">[f3539d1d07]</a> Peter Katzmann -- chan_sip: SipNotify on Chan_Sip vi AMI behave different to CLI</li>
</ul><br><h4>Category: Channels/chan_sip/TCP-TLS</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28057">ASTERISK-28057</a>: chan_sip: SipNotify via AMI behaves differently to CLI<br/>Reported by: Peter Katzmann<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f3539d1d07e84057c404eb8eddb17bfdb468758b">[f3539d1d07]</a> Peter Katzmann -- chan_sip: SipNotify on Chan_Sip vi AMI behave different to CLI</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28034">ASTERISK-28034</a>: chan_sip unstable with TLS after asterisk start or reloads<br/>Reported by: David Hajek<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cb197d76e49be1dfff693f7030df7210e1e3d395">[cb197d76e4]</a> David Hajek -- chan_sip.c: chan_sip unstable with TLS after asterisk start or reloads</li>
</ul><br><h4>Category: Core/Bridging</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28076">ASTERISK-28076</a>: bridging: Asterisk crashes when receiving an empty realtime text frame<br/>Reported by: Emmanuel BUU<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=633ac0e928e7c2b31245ae77be27e8ac9aa5dfdc">[633ac0e928]</a> Emmanuel BUU -- core/frame: Fix ast_frdup() and ast_frisolate() for empty text frames</li>
</ul><br><h4>Category: Core/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28005">ASTERISK-28005</a>: channel.c: ARI ring only once<br/>Reported by: Hajek Michal<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=86e079fab97381e5397b480124a1ca86fe47b01f">[86e079fab9]</a> Joshua Colp -- core: Don't stop generators when writing RTCP frames.</li>
</ul><br><h4>Category: Core/ManagerInterface</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28084">ASTERISK-28084</a>: app_queue: QueueMemberStatus Event flooding AMI<br/>Reported by: Andrej<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=308c3f9cf6b493a32f2d71a990639014101dcad0">[308c3f9cf6]</a> Richard Mudgett -- app_queue.c: Fix json ref leak</li>
</ul><br><h4>Category: Core/RTP</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-27854">ASTERISK-27854</a>: rtp: Crash in off-nominal case where RTP instance can't be set up<br/>Reported by: Lei Fu<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=21f472355e64d2ea1e095f51d65d9b1adf11c6a9">[21f472355e]</a> Corey Farrell -- res_rtp_asterisk: Fix crash on ast_rtp_new failure.</li>
</ul><br><h4>Category: Core/Stasis</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28084">ASTERISK-28084</a>: app_queue: QueueMemberStatus Event flooding AMI<br/>Reported by: Andrej<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=308c3f9cf6b493a32f2d71a990639014101dcad0">[308c3f9cf6]</a> Richard Mudgett -- app_queue.c: Fix json ref leak</li>
</ul><br><h4>Category: Resources/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28045">ASTERISK-28045</a>: configure script does not enforce libunbound2 version<br/>Reported by: Samuel Galarneau<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4c636f5377001370c437ab4045b0f642dc23a5e0">[4c636f5377]</a> George Joseph -- configure.ac: Check for unbound version >= 1.5</li>
</ul><br><h4>Category: Resources/res_musiconhold</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28029">ASTERISK-28029</a>: [patch] res_musiconhold : music on hold will not start if previous hold just reached end of file<br/>Reported by: Frederic LE FOLL<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d22c4d19998f90c1ff517b7195676b3ef620aae2">[d22c4d1999]</a> Frederic LE FOLL -- res_musiconhold.c: Restart MOH if previous hold just reached end-of-file</li>
</ul><br><h4>Category: Resources/res_odbc</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28065">ASTERISK-28065</a>: res_odbc: missing SQL error diagnostic<br/>Reported by: Alexei Gradinari<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d03661bcafc3f92ef7f4b7120bb12d56132eac7c">[d03661bcaf]</a> Alexei Gradinari -- res_odbc: fix missing SQL error diagnostic</li>
</ul><br><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28077">ASTERISK-28077</a>: res_pjsip: improve realtime performance on CLI 'pjsip show contacts'<br/>Reported by: Alexei Gradinari<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=625b329f4e5edda068a76222d0db28081816f07d">[625b329f4e]</a> Alexei Gradinari -- res_pjsip: improve realtime performance on CLI 'pjsip show contacts'</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-27988">ASTERISK-27988</a>: alembic: PJSIP "mwi_subscribe_replaces_unsolicited" field is integer not boolean<br/>Reported by: Joshua C. Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4f30cd4b5242b5b463e5306c74de8d410c826cc5">[4f30cd4b52]</a> Richard Mudgett -- res_pjsip: Fix mwi_subscribe_replaces_unsolicited type mismatch</li>
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28022">ASTERISK-28022</a>: res_pjsip realtime: uri column in ps_contacts table can be too short<br/>Reported by: Florian Floimair<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=40416ccaa7690fd8022097936c0f41a529b89d4d">[40416ccaa7]</a> Florian Floimair -- alembic: increase uri column size</li>
</ul><br><h4>Category: Resources/res_pjsip/Bundling</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28059">ASTERISK-28059</a>: PJSIP: Update bundled PJPROJECT to version 2.8<br/>Reported by: Joshua C. Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=03c759d91a8868773bec51cbc1aac1f2051436be">[03c759d91a]</a> Richard Mudgett -- pjproject: Update initial 2.8 patches to apply cleanly.</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b5959113f6216df7346d881762eff75ac47e0c90">[b5959113f6]</a> Joshua Colp -- pjproject: Upgrade to 2.8.</li>
</ul><br><h4>Category: Resources/res_pjsip_mwi</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-27121">ASTERISK-27121</a>: res_pjsip_mwi: Memory leak on reload<br/>Reported by: Sergej Kasumovic<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=82f9f2db6b398c96dda87164a317685dfa838f1e">[82f9f2db6b]</a> George Joseph -- app_voicemail: Remove need to subscribe to stasis</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ad961fd7c3313f989d6fa16ba2fc9b138cee4cb5">[ad961fd7c3]</a> George Joseph -- stasis_cache: Stop caching stasis subscription change messages</li>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=21ea7c870cf2727b43f2b99958a8f2e0ea0dec13">[21ea7c870c]</a> George Joseph -- stasis_cache: Prune stasis_subscription_change messages</li>
</ul><br><h4>Category: Resources/res_pjsip_session</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28047">ASTERISK-28047</a>: chan_pjsip: Declined video stream is added when no video codecs configured and session refresh with removed video stream occurs<br/>Reported by: Will<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5626b8ecaecf83f5d600a1aca6915e18a6bb0e5a">[5626b8ecae]</a> Joshua Colp -- res_pjsip_session: Don't add declined stream if one does not exist.</li>
</ul><br><h4>Category: Resources/res_pjsip_transport_websocket</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28020">ASTERISK-28020</a>: res_pjsip_transport_websocket: Properly set 'received' for IPv6<br/>Reported by: Sean Bright<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7ec4f0cb6aa4c1f97fa0281ea1b7b3f91b65088d">[7ec4f0cb6a]</a> Sean Bright -- res_pjsip_transport_websocket: Properly set src_name for IPv6</li>
</ul><br><h4>Category: Resources/res_stasis</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26094">ASTERISK-26094</a>: stasis: Playing MOH to bridge with ARI does not work<br/>Reported by: Cameron<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=dfa926337cef99a5607e42423bd277445adaebe0">[dfa926337c]</a> Moritz Fain -- res_stasis: Fix stale data in ARI bridges</li>
</ul><br><h4>Category: Tests/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28070">ASTERISK-28070</a>: testsuite: Sniffer assumes pjmedia will use ports below 10000<br/>Reported by: Joshua C. Colp<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=af090e4fade81c4b699288d8d0c69a5ed9d42ea2">[af090e4fad]</a> Joshua Colp -- res_rtp_asterisk: Raise event when RTP port is allocated</li>
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28049">ASTERISK-28049</a>: res_pjproject build failure<br/>Reported by: Jaco Kroon<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b4cb51ca63fa2f9019aee0a4d40faf57a1b49c24">[b4cb51ca63]</a> Sean Bright -- res_pjproject: Fix sockaddr conversion routines for non-bundled PJSIP</li>
</ul><br><h3>Improvement</h3><h4>Category: General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28046">ASTERISK-28046</a>: Remove stale nonoptreq references<br/>Reported by: Walter Doekes<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4616c6508ab37f6725fb6de11cedf7c3ed01213c">[4616c6508a]</a> Walter Doekes -- optional_api: Remove unused nonoptreq fields</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: Resources/res_fax</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-27981">ASTERISK-27981</a>: res_fax: Fax session leak with fax gatewaying<br/>Reported by: pasandev<ul>
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=58968366fc17dc0e9661fd18d87607d7dedd0844">[58968366fc]</a> Joshua Colp -- res_fax: Handle fax gateway being started more than once.</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=bad18f8cfcc0b759b41887b0140341eb6f508f85">bad18f8cfc</a></td><td>Kevin Harwell</td><td>Update for 15.7.0-rc1</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=dd35905c235ea65d9c61a22b821a8071106d2dee">dd35905c23</a></td><td>Corey Farrell</td><td>astobj2: Comment on OBJ_NOLOCK in ao2_container_clone.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4371743ba245069af9a2650aaf08c708f450a817">4371743ba2</a></td><td>Sean Bright</td><td>CI: Use bindport instead of port in test http.conf</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=53fe191708a31d70f16ca9665778204677e3ae6f">53fe191708</a></td><td>Sean Bright</td><td>http.c: Reload TLS even if http.conf hasn't changed</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=fa08aed784a71dd1f6f13efa15cd66b3e2de6a4a">fa08aed784</a></td><td>Corey Farrell</td><td>core: Disable astobj2 locking for some common objects.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a2b6bbfc9ece2a2901c0a0f3b909a5e24f6bef16">a2b6bbfc9e</a></td><td>Richard Mudgett</td><td>res_smdi.c: Fix module ref counting and inverted test.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f8b71fadaba88b0421882cf0b8307108e38031ca">f8b71fadab</a></td><td>Corey Farrell</td><td>Resolve warning about duplicate 'dialplan' CLI.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2c43e5bad4376b340103cfa8c27df1ddbda611d1">2c43e5bad4</a></td><td>Corey Farrell</td><td>loader: Fix result of module reload error.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=078459b3f2098a2176b8e9ca7a6651bdfbb0446b">078459b3f2</a></td><td>Corey Farrell</td><td>astobj2: Record lock usage to refs log when DEBUG_THREADS is enabled.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=288bf43eed19bf02855428b11c14e5a9fdb80eee">288bf43eed</a></td><td>Corey Farrell</td><td>jansson-bundled: Add patches to improve json_pack error reporting.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1ffbec46721db838bbfa3515f30a7eafba6890ac">1ffbec4672</a></td><td>Corey Farrell</td><td>lock: Improve performance of DEBUG_THREADS.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=48cf5486544d91ff764b81344341d2813f93b3ce">48cf548654</a></td><td>George Joseph</td><td>app_confbridge: Use bridge join hook to send join and leave events</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4afcd37d157713806f73b168cd7a538dd2980436">4afcd37d15</a></td><td>Corey Farrell</td><td>astobj2: Reduce memory overhead.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=066cade82bdf3107edd05b0289f036f25fd7d2e7">066cade82b</a></td><td>Sean Bright</td><td>config.c: Cleanup AST_INCLUDE_GLOB</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=427c3e3152ebe80179eb24002e3e35fcb0c3ff92">427c3e3152</a></td><td>Corey Farrell</td><td>astobj2: Fix shutdown order.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=166c130eac5cc60b214686e30d7421fc11fbf4d8">166c130eac</a></td><td>Ben Ford</td><td>res_rtp_asterisk.c: Add "seqno" strictrtp option</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4927be3523aafd19dd83844613d4e657872e3d1e">4927be3523</a></td><td>George Joseph</td><td>CI: Add --test-timeout option to runTestsuite.sh</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=86ae1000164f362d8a4b855799c4961ba501a278">86ae100016</a></td><td>Corey Farrell</td><td>jansson: Backport fixes to bundled, use json_vsprintf if available.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=720f76def0a9a243bfc19df96e143f7ee82a0f01">720f76def0</a></td><td>Kevin Harwell</td><td>rtp_engine: rtcp_report_to_json can overflow the ssrc integer value</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=47214d4de13a50d4615a7d2b4609264626e6e471">47214d4de1</a></td><td>George Joseph</td><td>app_voicemail: Fix stack overrun in append_mailbox</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=670fbbd702da58dbfb89708a36e1901172481b9f">670fbbd702</a></td><td>George Joseph</td><td>channel.c: Address stack overflow in does_id_conflict()</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=65f63bd6786d8db3f4ae0699484b9156b09d0280">65f63bd678</a></td><td>Sean Bright</td><td>res_rtp_asterisk: Reset all settings on module reload</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=4181fa6772a39d0b8760fc7d38b7b8b2015a7def">4181fa6772</a></td><td>George Joseph</td><td>app_voicemail: Cleanup mailbox topic and cache</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=80cc691252e2886d0a8c139c421ceb7f31d7129f">80cc691252</a></td><td>George Joseph</td><td>stasis: Add function to delete topic from pool</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=87bac2057e06272aa377ce951ae921e223296c96">87bac2057e</a></td><td>Joshua Colp</td><td>res_remb_modifier: Add module for controlling REMB from CLI.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f43463d0d3687b538a51cb72dc2d13e39c00480c">f43463d0d3</a></td><td>Richard Mudgett</td><td>stasis: No need to keep a stasis type ref in a stasis msg or cache object.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a966a2302356e80413350a18b3149cdb9ea136b6">a966a23023</a></td><td>Richard Mudgett</td><td>stasis_message.c: Don't create immutable stasis objects with locks.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=36ce08fa7df5b9894d61864f3ae0fafbed9f1b0a">36ce08fa7d</a></td><td>Florian Floimair</td><td>alembic: fix suppress_q850_reason_headers column name</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5713fc0b492c4e4f12513c8cc7c5e07dee4d2d75">5713fc0b49</a></td><td>Sean Bright</td><td>autoconf: Check for srtp_get_version_string() before using it</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cb19ca981d923b51d14c9cfca6151cfeb06088d2">cb19ca981d</a></td><td>George Joseph</td><td>CI: Fix typo in testsuite git checkout</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=644f7ef4139f602f6de563be8bbf2b126de43994">644f7ef413</a></td><td>Sean Bright</td><td>res_srtp.c: Show linked version of libsrtp on module init</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5f6bef4e5b5fbbef72b486ab31d5028988fef752">5f6bef4e5b</a></td><td>Sean Bright</td><td>res_pjsip: Log IPv6 addresses correctly</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=07d6e2bf165c616e37f39bea1aceaa69e4db910b">07d6e2bf16</a></td><td>George Joseph</td><td>CI: Use proper credentials for Security testsuite checkout</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a2b76625aaf9dc7125ad27b725ed8a5cd3223e27">a2b76625aa</a></td><td>Corey Farrell</td><td>CI: Use .gitreview to default BRANCH_NAME.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=214b1545b13ff6df643cf93a834957ce032cabe1">214b1545b1</a></td><td>Corey Farrell</td><td>Build System: Resolve conflict between DESTDIR and bundled jansson.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9624cbff4f0abf1a55308150431a510ed043d395">9624cbff4f</a></td><td>Sean Bright</td><td>res_pjproject: Add utility functions to convert between socket structures</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=dc307a67d84f96c7c2cbd3fe9d28819d0c656479">dc307a67d8</a></td><td>Rodrigo Ramírez Norambuena</td><td>app_dial: set the comment for OPT_ARG_ANNOUNCE to really what is done</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ce99f0c692f81ce8ccd636c5221f806421c82fee">ce99f0c692</a></td><td>Chris-Savinovich</td><td>pbx_config.c: Fix reloading module if initially declined to load</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bf530e032d68d156ffaa8b5234af5a3788b40aed">bf530e032d</a></td><td>Richard Mudgett</td><td>http.c: Give HTTP error response when received lines are too long.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=781e78fe0ed1733df3a44590aff074429a555921">781e78fe0e</a></td><td>Richard Mudgett</td><td>iostream.c: Fix ast_iostream_gets() needlessly returning failure.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=0dab630533335217f1642276906d4e5c3235ef0e">0dab630533</a></td><td>Rodrigo Ramírez Norambuena</td><td>make config: os-release output error.</td></tr>
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=588e4ecf501fd673b69d08498459476d9d4988b1">588e4ecf50</a></td><td>Corey Farrell</td><td>Create --disable-binary-modules option.</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-15.6.0-summary.html | 296 ---
asterisk-15.6.0-summary.txt | 730 -------
b/.version | 2
b/CHANGES | 11
b/ChangeLog | 977 +++++++++-
b/Makefile | 4
b/apps/app_adsiprog.c | 1
b/apps/app_confbridge.c | 63
b/apps/app_dial.c | 2
b/apps/app_getcpeid.c | 1
b/apps/app_queue.c | 10
b/apps/app_speech_utils.c | 1
b/apps/app_stack.c | 1
b/apps/app_stasis.c | 1
b/apps/app_voicemail.c | 527 ++---
b/apps/confbridge/confbridge_manager.c | 14
b/apps/confbridge/include/confbridge.h | 12
b/asterisk-15.7.0-rc1-summary.html | 269 ++
b/asterisk-15.7.0-rc1-summary.txt | 598 ++++++
b/autoconf/ast_ext_lib.m4 | 102 +
b/build_tools/menuselect-deps.in | 1
b/channels/chan_dahdi.c | 1
b/channels/chan_iax2.c | 1
b/channels/chan_mgcp.c | 1
b/channels/chan_sip.c | 11
b/codecs/codecs.xml | 5
b/configs/samples/rtp.conf.sample | 4
b/configs/samples/voicemail.conf.sample | 11
b/configure | 448 ++++
b/configure.ac | 37
b/contrib/ast-db-manage/config/versions/1d3ed26d9978_increase_uri_column_size.py | 22
b/contrib/ast-db-manage/config/versions/7f85dd44c775_fix_suppress_q850_reason_headers.py | 43
b/contrib/ast-db-manage/config/versions/fe6592859b85_fix_mwi_subscribe_replaces_.py | 61
b/contrib/realtime/mssql/mssql_config.sql | 54
b/contrib/realtime/mysql/mysql_config.sql | 20
b/contrib/realtime/oracle/oracle_config.sql | 46
b/contrib/realtime/postgresql/postgresql_config.sql | 24
b/contrib/scripts/refcounter.py | 4
b/contrib/scripts/reflocks.py | 126 +
b/funcs/func_aes.c | 1
b/include/asterisk/astobj2.h | 3
b/include/asterisk/autoconfig.h.in | 15
b/include/asterisk/json.h | 5
b/include/asterisk/lock.h | 39
b/include/asterisk/module.h | 5
b/include/asterisk/netsock2.h | 12
b/include/asterisk/res_pjproject.h | 26
b/include/asterisk/stasis.h | 12
b/main/app.c | 3
b/main/astobj2.c | 51
b/main/astobj2_container.c | 3
b/main/channel.c | 4
b/main/config.c | 12
b/main/config_options.c | 7
b/main/dns_naptr.c | 14
b/main/dns_srv.c | 12
b/main/frame.c | 5
b/main/http.c | 31
b/main/indications.c | 4
b/main/iostream.c | 59
b/main/json.c | 11
b/main/loader.c | 16
b/main/lock.c | 125 -
b/main/media_index.c | 7
b/main/rtp_engine.c | 8
b/main/stasis.c | 36
b/main/stasis_cache.c | 50
b/main/stasis_message.c | 16
b/main/xmldoc.c | 4
b/pbx/pbx_config.c | 32
b/pbx/pbx_dundi.c | 1
b/res/ari/resource_bridges.c | 1
b/res/res.xml | 1
b/res/res_ari.c | 1
b/res/res_ari_applications.c | 1
b/res/res_ari_asterisk.c | 1
b/res/res_ari_bridges.c | 1
b/res/res_ari_channels.c | 1
b/res/res_ari_device_states.c | 1
b/res/res_ari_endpoints.c | 1
b/res/res_ari_events.c | 1
b/res/res_ari_mailboxes.c | 1
b/res/res_ari_playbacks.c | 1
b/res/res_ari_recordings.c | 1
b/res/res_ari_sounds.c | 1
b/res/res_chan_stats.c | 1
b/res/res_config_odbc.c | 6
b/res/res_endpoint_stats.c | 1
b/res/res_fax.c | 5
b/res/res_http_websocket.c | 25
b/res/res_musiconhold.c | 25
b/res/res_odbc.c | 11
b/res/res_pjproject.c | 186 +
b/res/res_pjproject.exports.in | 2
b/res/res_pjsip.c | 2
b/res/res_pjsip/config_system.c | 4
b/res/res_pjsip/location.c | 68
b/res/res_pjsip/pjsip_configuration.c | 2
b/res/res_pjsip/pjsip_distributor.c | 13
b/res/res_pjsip_logger.c | 14
b/res/res_pjsip_outbound_authenticator_digest.c | 4
b/res/res_pjsip_sdp_rtp.c | 4
b/res/res_pjsip_session.c | 22
b/res/res_pjsip_transport_websocket.c | 25
b/res/res_remb_modifier.c | 225 ++
b/res/res_resolver_unbound.c | 51
b/res/res_rtp_asterisk.c | 86
b/res/res_smdi.c | 30
b/res/res_srtp.c | 6
b/res/res_stasis.c | 81
b/res/res_stasis_answer.c | 1
b/res/res_stasis_device_state.c | 1
b/res/res_stasis_mailbox.c | 1
b/res/res_stasis_playback.c | 1
b/res/res_stasis_recording.c | 3
b/res/res_stasis_snoop.c | 1
b/res/res_stasis_test.c | 3
b/rest-api-templates/res_ari_resource.c.mustache | 1
b/tests/CI/buildAsterisk.sh | 11
b/tests/CI/gateTestGroups.json | 9
b/tests/CI/gates.jenkinsfile | 15
b/tests/CI/periodic-dailyTestGroups.json | 8
b/tests/CI/runTestsuite.sh | 3
b/tests/CI/runUnittests.sh | 2
b/tests/test_ari.c | 1
b/tests/test_res_stasis.c | 1
b/tests/test_stasis_endpoints.c | 1
b/third-party/jansson/Makefile | 2
b/third-party/jansson/configure.m4 | 20
b/third-party/jansson/patches/0022-Avoid-invalid-memory-read-in-json_pack.patch | 38
b/third-party/jansson/patches/0025-Call-va_end-after-va_copy-in-json_vsprintf.patch | 64
b/third-party/jansson/patches/0027-Rename-a-varialble-that-shadows-another-one.patch | 56
b/third-party/jansson/patches/0029-json_pack-Improve-handling-of-formats-with-and.patch | 217 ++
b/third-party/jansson/patches/0030-More-work-on-json_pack-error-reporting.patch | 100 +
b/third-party/pjproject/Makefile.rules | 1
b/third-party/pjproject/configure.m4 | 1
b/third-party/pjproject/patches/0000-configure-ssl-library-path.patch | 41
b/third-party/pjproject/patches/0000-remove-third-party.patch | 24
b/third-party/pjproject/patches/0000-set_apps_initial_log_level.patch | 8
b/third-party/pjproject/patches/0000-solaris.patch | 36
b/third-party/pjproject/patches/0010-timer-Clean-up-usage-of-timer-heap.patch | 434 ++++
b/third-party/pjproject/pjproject-2.8.tar.bz2.md5 | 2
third-party/pjproject/patches/0021-sip_parser-Fix-return-code-in-pjsip_find_msg-and-add.patch | 41
third-party/pjproject/patches/0030-sip_transport-Destroy-transports-not-in-hash.patch | 27
third-party/pjproject/patches/0040-183_without_to_tag.patch | 17
third-party/pjproject/patches/0050-dont_terminate_session_early.patch | 71
third-party/pjproject/patches/0060-sip_msg-Prevent-crash-on-header-without-vptr.patch | 56
third-party/pjproject/patches/0070-os_core_unix-Set-mutex-NULL-in-atomic-destroy-and-ad.patch | 114 -
third-party/pjproject/patches/0080-timer-Clean-up-usage-of-timer-heap.patch | 434 ----
third-party/pjproject/patches/0090-sip_transaction-In-tsx_timer_callback-check-if-tsx-i.patch | 31
third-party/pjproject/patches/0100-sip_inv-Add-option-to-accept-updated-SDP-on-same-To-.patch | 215 --
third-party/pjproject/patches/0110_fix_tdata_rexmit_deadlock.patch | 203 --
third-party/pjproject/pjproject-2.7.2.tar.bz2.md5 | 2
153 files changed, 5340 insertions(+), 3062 deletions(-)</pre><br></html>

595
asterisk-15.7.0-summary.txt Normal file
View File

@@ -0,0 +1,595 @@
Release Summary
asterisk-15.7.0
Date: 2018-12-11
<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-15.6.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
14 Corey Farrell 1 Cao Minh Hiep 4 Joshua C. Colp
12 George Joseph 1 Emmanuel BUU 3 Sergej Kasumovic
11 Sean Bright 2 Alexei Gradinari
8 Richard Mudgett 2 Sean Bright
6 Joshua Colp 1 Jan Hoffmann
2 Alexei Gradinari 1 Jan Hoffmann
2 Kevin Harwell 1 Cameron
2 Rodrigo RamÃrez Norambuena 1 Walter Doekes
2 Florian Floimair 1 David Hajek
1 Jan Hoffmann (license 6986) 1 Will
1 Walter Doekes 1 Emmanuel BUU
1 Frederic LE FOLL 1 pasandev
1 David Hajek 1 Samuel Galarneau
1 Moritz Fain 1 Emmanuel BUU
1 Cao Minh Hiep 1 Cao Minh Hiep
1 Chris-Savinovich 1 David Hajek
1 Ben Ford 1 Samuel Galarneau
1 Emmanuel BUU 1 Jaco Kroon
1 lvl 1 Florian Floimair
1 Peter Katzmann 1 Frederic LE FOLL
1 Cao Minh Hiep
1 Andrej
1 lvl
1 Peter Katzmann
1 Hajek Michal
1 Lei Fu
----------------------------------------------------------------------
Closed Issues
[Back to Top]
This is a list of all issues from the issue tracker that were closed by
changes that went into this release.
Security
Category: Core/DNS
ASTERISK-28127: Buffer overflow for DNS SRV/NAPTR records
Reported by: Jan Hoffmann
* [e5a59484bf] Jan Hoffmann -- AST-2018-010: Fix length of buffer needed
for SRV and NAPTR results
Category: Resources/res_http_websocket
ASTERISK-28013: res_http_websocket: Crash when reading HTTP Upgrade
requests
Reported by: Sean Bright
* [fd87b8e49c] Sean Bright -- AST-2018-009: Fix crash processing
websocket HTTP Upgrade requests
Bug
Category: Applications/app_queue
ASTERISK-27920: app_queue: Queue member considered inuse after immediately
hanging up during dialing.
Reported by: Cao Minh Hiep
* [fc842169d4] Cao Minh Hiep -- app_queue: Fix Attended transfer hangup
with removing pending member.
ASTERISK-28032: Realtime queuemembers are not updated during retry phase
Reported by: lvl
* [feb9e72b04] lvl -- app_queue: Update realtime queuemembers after
wait_a_bit(), not before
Category: Channels/chan_sip/Messaging
ASTERISK-28057: chan_sip: SipNotify via AMI behaves differently to CLI
Reported by: Peter Katzmann
* [f3539d1d07] Peter Katzmann -- chan_sip: SipNotify on Chan_Sip vi AMI
behave different to CLI
Category: Channels/chan_sip/TCP-TLS
ASTERISK-28057: chan_sip: SipNotify via AMI behaves differently to CLI
Reported by: Peter Katzmann
* [f3539d1d07] Peter Katzmann -- chan_sip: SipNotify on Chan_Sip vi AMI
behave different to CLI
ASTERISK-28034: chan_sip unstable with TLS after asterisk start or reloads
Reported by: David Hajek
* [cb197d76e4] David Hajek -- chan_sip.c: chan_sip unstable with TLS
after asterisk start or reloads
Category: Core/Bridging
ASTERISK-28076: bridging: Asterisk crashes when receiving an empty
realtime text frame
Reported by: Emmanuel BUU
* [633ac0e928] Emmanuel BUU -- core/frame: Fix ast_frdup() and
ast_frisolate() for empty text frames
Category: Core/General
ASTERISK-28005: channel.c: ARI ring only once
Reported by: Hajek Michal
* [86e079fab9] Joshua Colp -- core: Don't stop generators when writing
RTCP frames.
Category: Core/ManagerInterface
ASTERISK-28084: app_queue: QueueMemberStatus Event flooding AMI
Reported by: Andrej
* [308c3f9cf6] Richard Mudgett -- app_queue.c: Fix json ref leak
Category: Core/RTP
ASTERISK-27854: rtp: Crash in off-nominal case where RTP instance can't be
set up
Reported by: Lei Fu
* [21f472355e] Corey Farrell -- res_rtp_asterisk: Fix crash on
ast_rtp_new failure.
Category: Core/Stasis
ASTERISK-28084: app_queue: QueueMemberStatus Event flooding AMI
Reported by: Andrej
* [308c3f9cf6] Richard Mudgett -- app_queue.c: Fix json ref leak
Category: Resources/General
ASTERISK-28045: configure script does not enforce libunbound2 version
Reported by: Samuel Galarneau
* [4c636f5377] George Joseph -- configure.ac: Check for unbound version
>= 1.5
Category: Resources/res_musiconhold
ASTERISK-28029: [patch] res_musiconhold : music on hold will not start if
previous hold just reached end of file
Reported by: Frederic LE FOLL
* [d22c4d1999] Frederic LE FOLL -- res_musiconhold.c: Restart MOH if
previous hold just reached end-of-file
Category: Resources/res_odbc
ASTERISK-28065: res_odbc: missing SQL error diagnostic
Reported by: Alexei Gradinari
* [d03661bcaf] Alexei Gradinari -- res_odbc: fix missing SQL error
diagnostic
Category: Resources/res_pjsip
ASTERISK-28077: res_pjsip: improve realtime performance on CLI 'pjsip show
contacts'
Reported by: Alexei Gradinari
* [625b329f4e] Alexei Gradinari -- res_pjsip: improve realtime
performance on CLI 'pjsip show contacts'
ASTERISK-27988: alembic: PJSIP "mwi_subscribe_replaces_unsolicited" field
is integer not boolean
Reported by: Joshua C. Colp
* [4f30cd4b52] Richard Mudgett -- res_pjsip: Fix
mwi_subscribe_replaces_unsolicited type mismatch
ASTERISK-28022: res_pjsip realtime: uri column in ps_contacts table can be
too short
Reported by: Florian Floimair
* [40416ccaa7] Florian Floimair -- alembic: increase uri column size
Category: Resources/res_pjsip/Bundling
ASTERISK-28059: PJSIP: Update bundled PJPROJECT to version 2.8
Reported by: Joshua C. Colp
* [03c759d91a] Richard Mudgett -- pjproject: Update initial 2.8 patches
to apply cleanly.
* [b5959113f6] Joshua Colp -- pjproject: Upgrade to 2.8.
Category: Resources/res_pjsip_mwi
ASTERISK-27121: res_pjsip_mwi: Memory leak on reload
Reported by: Sergej Kasumovic
* [82f9f2db6b] George Joseph -- app_voicemail: Remove need to subscribe
to stasis
* [ad961fd7c3] George Joseph -- stasis_cache: Stop caching stasis
subscription change messages
* [21ea7c870c] George Joseph -- stasis_cache: Prune
stasis_subscription_change messages
Category: Resources/res_pjsip_session
ASTERISK-28047: chan_pjsip: Declined video stream is added when no video
codecs configured and session refresh with removed video stream occurs
Reported by: Will
* [5626b8ecae] Joshua Colp -- res_pjsip_session: Don't add declined
stream if one does not exist.
Category: Resources/res_pjsip_transport_websocket
ASTERISK-28020: res_pjsip_transport_websocket: Properly set 'received' for
IPv6
Reported by: Sean Bright
* [7ec4f0cb6a] Sean Bright -- res_pjsip_transport_websocket: Properly
set src_name for IPv6
Category: Resources/res_stasis
ASTERISK-26094: stasis: Playing MOH to bridge with ARI does not work
Reported by: Cameron
* [dfa926337c] Moritz Fain -- res_stasis: Fix stale data in ARI bridges
Category: Tests/General
ASTERISK-28070: testsuite: Sniffer assumes pjmedia will use ports below
10000
Reported by: Joshua C. Colp
* [af090e4fad] Joshua Colp -- res_rtp_asterisk: Raise event when RTP
port is allocated
Category: pjproject/pjsip
ASTERISK-28049: res_pjproject build failure
Reported by: Jaco Kroon
* [b4cb51ca63] Sean Bright -- res_pjproject: Fix sockaddr conversion
routines for non-bundled PJSIP
Improvement
Category: General
ASTERISK-28046: Remove stale nonoptreq references
Reported by: Walter Doekes
* [4616c6508a] Walter Doekes -- optional_api: Remove unused nonoptreq
fields
----------------------------------------------------------------------
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: Resources/res_fax
ASTERISK-27981: res_fax: Fax session leak with fax gatewaying
Reported by: pasandev
* [58968366fc] Joshua Colp -- res_fax: Handle fax gateway being started
more than once.
----------------------------------------------------------------------
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 |
|------------+------------------+----------------------------------------|
| bad18f8cfc | Kevin Harwell | Update for 15.7.0-rc1 |
|------------+------------------+----------------------------------------|
| dd35905c23 | Corey Farrell | astobj2: Comment on OBJ_NOLOCK in |
| | | ao2_container_clone. |
|------------+------------------+----------------------------------------|
| 4371743ba2 | Sean Bright | CI: Use bindport instead of port in |
| | | test http.conf |
|------------+------------------+----------------------------------------|
| 53fe191708 | Sean Bright | http.c: Reload TLS even if http.conf |
| | | hasn't changed |
|------------+------------------+----------------------------------------|
| fa08aed784 | Corey Farrell | core: Disable astobj2 locking for some |
| | | common objects. |
|------------+------------------+----------------------------------------|
| a2b6bbfc9e | Richard Mudgett | res_smdi.c: Fix module ref counting |
| | | and inverted test. |
|------------+------------------+----------------------------------------|
| f8b71fadab | Corey Farrell | Resolve warning about duplicate |
| | | 'dialplan' CLI. |
|------------+------------------+----------------------------------------|
| 2c43e5bad4 | Corey Farrell | loader: Fix result of module reload |
| | | error. |
|------------+------------------+----------------------------------------|
| 078459b3f2 | Corey Farrell | astobj2: Record lock usage to refs log |
| | | when DEBUG_THREADS is enabled. |
|------------+------------------+----------------------------------------|
| 288bf43eed | Corey Farrell | jansson-bundled: Add patches to |
| | | improve json_pack error reporting. |
|------------+------------------+----------------------------------------|
| 1ffbec4672 | Corey Farrell | lock: Improve performance of |
| | | DEBUG_THREADS. |
|------------+------------------+----------------------------------------|
| 48cf548654 | George Joseph | app_confbridge: Use bridge join hook |
| | | to send join and leave events |
|------------+------------------+----------------------------------------|
| 4afcd37d15 | Corey Farrell | astobj2: Reduce memory overhead. |
|------------+------------------+----------------------------------------|
| 066cade82b | Sean Bright | config.c: Cleanup AST_INCLUDE_GLOB |
|------------+------------------+----------------------------------------|
| 427c3e3152 | Corey Farrell | astobj2: Fix shutdown order. |
|------------+------------------+----------------------------------------|
| 166c130eac | Ben Ford | res_rtp_asterisk.c: Add "seqno" |
| | | strictrtp option |
|------------+------------------+----------------------------------------|
| 4927be3523 | George Joseph | CI: Add --test-timeout option to |
| | | runTestsuite.sh |
|------------+------------------+----------------------------------------|
| 86ae100016 | Corey Farrell | jansson: Backport fixes to bundled, |
| | | use json_vsprintf if available. |
|------------+------------------+----------------------------------------|
| 720f76def0 | Kevin Harwell | rtp_engine: rtcp_report_to_json can |
| | | overflow the ssrc integer value |
|------------+------------------+----------------------------------------|
| 47214d4de1 | George Joseph | app_voicemail: Fix stack overrun in |
| | | append_mailbox |
|------------+------------------+----------------------------------------|
| 670fbbd702 | George Joseph | channel.c: Address stack overflow in |
| | | does_id_conflict() |
|------------+------------------+----------------------------------------|
| 65f63bd678 | Sean Bright | res_rtp_asterisk: Reset all settings |
| | | on module reload |
|------------+------------------+----------------------------------------|
| 4181fa6772 | George Joseph | app_voicemail: Cleanup mailbox topic |
| | | and cache |
|------------+------------------+----------------------------------------|
| 80cc691252 | George Joseph | stasis: Add function to delete topic |
| | | from pool |
|------------+------------------+----------------------------------------|
| 87bac2057e | Joshua Colp | res_remb_modifier: Add module for |
| | | controlling REMB from CLI. |
|------------+------------------+----------------------------------------|
| f43463d0d3 | Richard Mudgett | stasis: No need to keep a stasis type |
| | | ref in a stasis msg or cache object. |
|------------+------------------+----------------------------------------|
| a966a23023 | Richard Mudgett | stasis_message.c: Don't create |
| | | immutable stasis objects with locks. |
|------------+------------------+----------------------------------------|
| | | alembic: fix |
| 36ce08fa7d | Florian Floimair | suppress_q850_reason_headers column |
| | | name |
|------------+------------------+----------------------------------------|
| | | autoconf: Check for |
| 5713fc0b49 | Sean Bright | srtp_get_version_string() before using |
| | | it |
|------------+------------------+----------------------------------------|
| cb19ca981d | George Joseph | CI: Fix typo in testsuite git checkout |
|------------+------------------+----------------------------------------|
| 644f7ef413 | Sean Bright | res_srtp.c: Show linked version of |
| | | libsrtp on module init |
|------------+------------------+----------------------------------------|
| 5f6bef4e5b | Sean Bright | res_pjsip: Log IPv6 addresses |
| | | correctly |
|------------+------------------+----------------------------------------|
| 07d6e2bf16 | George Joseph | CI: Use proper credentials for |
| | | Security testsuite checkout |
|------------+------------------+----------------------------------------|
| a2b76625aa | Corey Farrell | CI: Use .gitreview to default |
| | | BRANCH_NAME. |
|------------+------------------+----------------------------------------|
| 214b1545b1 | Corey Farrell | Build System: Resolve conflict between |
| | | DESTDIR and bundled jansson. |
|------------+------------------+----------------------------------------|
| 9624cbff4f | Sean Bright | res_pjproject: Add utility functions |
| | | to convert between socket structures |
|------------+------------------+----------------------------------------|
| | Rodrigo RamÃrez | app_dial: set the comment for |
| dc307a67d8 | Norambuena | OPT_ARG_ANNOUNCE to really what is |
| | | done |
|------------+------------------+----------------------------------------|
| ce99f0c692 | Chris-Savinovich | pbx_config.c: Fix reloading module if |
| | | initially declined to load |
|------------+------------------+----------------------------------------|
| bf530e032d | Richard Mudgett | http.c: Give HTTP error response when |
| | | received lines are too long. |
|------------+------------------+----------------------------------------|
| 781e78fe0e | Richard Mudgett | iostream.c: Fix ast_iostream_gets() |
| | | needlessly returning failure. |
|------------+------------------+----------------------------------------|
| 0dab630533 | Rodrigo RamÃrez | make config: os-release output error. |
| | Norambuena | |
|------------+------------------+----------------------------------------|
| 588e4ecf50 | Corey Farrell | Create --disable-binary-modules |
| | | option. |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
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-15.6.0-summary.html | 296 ---
asterisk-15.6.0-summary.txt | 730 -------
b/.version | 2
b/CHANGES | 11
b/ChangeLog | 977 +++++++++-
b/Makefile | 4
b/apps/app_adsiprog.c | 1
b/apps/app_confbridge.c | 63
b/apps/app_dial.c | 2
b/apps/app_getcpeid.c | 1
b/apps/app_queue.c | 10
b/apps/app_speech_utils.c | 1
b/apps/app_stack.c | 1
b/apps/app_stasis.c | 1
b/apps/app_voicemail.c | 527 ++---
b/apps/confbridge/confbridge_manager.c | 14
b/apps/confbridge/include/confbridge.h | 12
b/asterisk-15.7.0-rc1-summary.html | 269 ++
b/asterisk-15.7.0-rc1-summary.txt | 598 ++++++
b/autoconf/ast_ext_lib.m4 | 102 +
b/build_tools/menuselect-deps.in | 1
b/channels/chan_dahdi.c | 1
b/channels/chan_iax2.c | 1
b/channels/chan_mgcp.c | 1
b/channels/chan_sip.c | 11
b/codecs/codecs.xml | 5
b/configs/samples/rtp.conf.sample | 4
b/configs/samples/voicemail.conf.sample | 11
b/configure | 448 ++++
b/configure.ac | 37
b/contrib/ast-db-manage/config/versions/1d3ed26d9978_increase_uri_column_size.py | 22
b/contrib/ast-db-manage/config/versions/7f85dd44c775_fix_suppress_q850_reason_headers.py | 43
b/contrib/ast-db-manage/config/versions/fe6592859b85_fix_mwi_subscribe_replaces_.py | 61
b/contrib/realtime/mssql/mssql_config.sql | 54
b/contrib/realtime/mysql/mysql_config.sql | 20
b/contrib/realtime/oracle/oracle_config.sql | 46
b/contrib/realtime/postgresql/postgresql_config.sql | 24
b/contrib/scripts/refcounter.py | 4
b/contrib/scripts/reflocks.py | 126 +
b/funcs/func_aes.c | 1
b/include/asterisk/astobj2.h | 3
b/include/asterisk/autoconfig.h.in | 15
b/include/asterisk/json.h | 5
b/include/asterisk/lock.h | 39
b/include/asterisk/module.h | 5
b/include/asterisk/netsock2.h | 12
b/include/asterisk/res_pjproject.h | 26
b/include/asterisk/stasis.h | 12
b/main/app.c | 3
b/main/astobj2.c | 51
b/main/astobj2_container.c | 3
b/main/channel.c | 4
b/main/config.c | 12
b/main/config_options.c | 7
b/main/dns_naptr.c | 14
b/main/dns_srv.c | 12
b/main/frame.c | 5
b/main/http.c | 31
b/main/indications.c | 4
b/main/iostream.c | 59
b/main/json.c | 11
b/main/loader.c | 16
b/main/lock.c | 125 -
b/main/media_index.c | 7
b/main/rtp_engine.c | 8
b/main/stasis.c | 36
b/main/stasis_cache.c | 50
b/main/stasis_message.c | 16
b/main/xmldoc.c | 4
b/pbx/pbx_config.c | 32
b/pbx/pbx_dundi.c | 1
b/res/ari/resource_bridges.c | 1
b/res/res.xml | 1
b/res/res_ari.c | 1
b/res/res_ari_applications.c | 1
b/res/res_ari_asterisk.c | 1
b/res/res_ari_bridges.c | 1
b/res/res_ari_channels.c | 1
b/res/res_ari_device_states.c | 1
b/res/res_ari_endpoints.c | 1
b/res/res_ari_events.c | 1
b/res/res_ari_mailboxes.c | 1
b/res/res_ari_playbacks.c | 1
b/res/res_ari_recordings.c | 1
b/res/res_ari_sounds.c | 1
b/res/res_chan_stats.c | 1
b/res/res_config_odbc.c | 6
b/res/res_endpoint_stats.c | 1
b/res/res_fax.c | 5
b/res/res_http_websocket.c | 25
b/res/res_musiconhold.c | 25
b/res/res_odbc.c | 11
b/res/res_pjproject.c | 186 +
b/res/res_pjproject.exports.in | 2
b/res/res_pjsip.c | 2
b/res/res_pjsip/config_system.c | 4
b/res/res_pjsip/location.c | 68
b/res/res_pjsip/pjsip_configuration.c | 2
b/res/res_pjsip/pjsip_distributor.c | 13
b/res/res_pjsip_logger.c | 14
b/res/res_pjsip_outbound_authenticator_digest.c | 4
b/res/res_pjsip_sdp_rtp.c | 4
b/res/res_pjsip_session.c | 22
b/res/res_pjsip_transport_websocket.c | 25
b/res/res_remb_modifier.c | 225 ++
b/res/res_resolver_unbound.c | 51
b/res/res_rtp_asterisk.c | 86
b/res/res_smdi.c | 30
b/res/res_srtp.c | 6
b/res/res_stasis.c | 81
b/res/res_stasis_answer.c | 1
b/res/res_stasis_device_state.c | 1
b/res/res_stasis_mailbox.c | 1
b/res/res_stasis_playback.c | 1
b/res/res_stasis_recording.c | 3
b/res/res_stasis_snoop.c | 1
b/res/res_stasis_test.c | 3
b/rest-api-templates/res_ari_resource.c.mustache | 1
b/tests/CI/buildAsterisk.sh | 11
b/tests/CI/gateTestGroups.json | 9
b/tests/CI/gates.jenkinsfile | 15
b/tests/CI/periodic-dailyTestGroups.json | 8
b/tests/CI/runTestsuite.sh | 3
b/tests/CI/runUnittests.sh | 2
b/tests/test_ari.c | 1
b/tests/test_res_stasis.c | 1
b/tests/test_stasis_endpoints.c | 1
b/third-party/jansson/Makefile | 2
b/third-party/jansson/configure.m4 | 20
b/third-party/jansson/patches/0022-Avoid-invalid-memory-read-in-json_pack.patch | 38
b/third-party/jansson/patches/0025-Call-va_end-after-va_copy-in-json_vsprintf.patch | 64
b/third-party/jansson/patches/0027-Rename-a-varialble-that-shadows-another-one.patch | 56
b/third-party/jansson/patches/0029-json_pack-Improve-handling-of-formats-with-and.patch | 217 ++
b/third-party/jansson/patches/0030-More-work-on-json_pack-error-reporting.patch | 100 +
b/third-party/pjproject/Makefile.rules | 1
b/third-party/pjproject/configure.m4 | 1
b/third-party/pjproject/patches/0000-configure-ssl-library-path.patch | 41
b/third-party/pjproject/patches/0000-remove-third-party.patch | 24
b/third-party/pjproject/patches/0000-set_apps_initial_log_level.patch | 8
b/third-party/pjproject/patches/0000-solaris.patch | 36
b/third-party/pjproject/patches/0010-timer-Clean-up-usage-of-timer-heap.patch | 434 ++++
b/third-party/pjproject/pjproject-2.8.tar.bz2.md5 | 2
third-party/pjproject/patches/0021-sip_parser-Fix-return-code-in-pjsip_find_msg-and-add.patch | 41
third-party/pjproject/patches/0030-sip_transport-Destroy-transports-not-in-hash.patch | 27
third-party/pjproject/patches/0040-183_without_to_tag.patch | 17
third-party/pjproject/patches/0050-dont_terminate_session_early.patch | 71
third-party/pjproject/patches/0060-sip_msg-Prevent-crash-on-header-without-vptr.patch | 56
third-party/pjproject/patches/0070-os_core_unix-Set-mutex-NULL-in-atomic-destroy-and-ad.patch | 114 -
third-party/pjproject/patches/0080-timer-Clean-up-usage-of-timer-heap.patch | 434 ----
third-party/pjproject/patches/0090-sip_transaction-In-tsx_timer_callback-check-if-tsx-i.patch | 31
third-party/pjproject/patches/0100-sip_inv-Add-option-to-accept-updated-SDP-on-same-To-.patch | 215 --
third-party/pjproject/patches/0110_fix_tdata_rexmit_deadlock.patch | 203 --
third-party/pjproject/pjproject-2.7.2.tar.bz2.md5 | 2
153 files changed, 5340 insertions(+), 3062 deletions(-)

View File

@@ -10921,13 +10921,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_rtp_lookup_mime_multiple2(s3, NULL, newnoncodeccapability, 0, 0));
}
/* When UDPTL is negotiated it is expected that there are no compatible codecs as audio or
* video is not being transported, thus we continue in this function further up if that is
* the case. If we receive an SDP answer containing both a UDPTL stream and another media
* stream however we need to check again to ensure that there is at least one joint codec
* instead of assuming there is one.
*/
if ((portno != -1 || vportno != -1 || tportno != -1) && ast_format_cap_count(newjointcapability)) {
if (portno != -1 || vportno != -1 || tportno != -1) {
/* We are now ready to change the sip session and RTP structures with the offered codecs, since
they are acceptable */
unsigned int framing;

View File

@@ -0,0 +1,59 @@
BEGIN TRANSACTION;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
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
-- Running upgrade 210693f3123d -> 54cde9847798
ALTER TABLE cdr ALTER COLUMN accountcode VARCHAR(80);
GO
ALTER TABLE cdr ALTER COLUMN peeraccount VARCHAR(80);
GO
UPDATE alembic_version SET version_num='54cde9847798' WHERE alembic_version.version_num = '210693f3123d';
GO
COMMIT;
GO

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
BEGIN TRANSACTION;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
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,41 @@
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
-- 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');
-- Running upgrade 210693f3123d -> 54cde9847798
ALTER TABLE cdr MODIFY accountcode VARCHAR(80) NULL;
ALTER TABLE cdr MODIFY peeraccount VARCHAR(80) NULL;
UPDATE alembic_version SET version_num='54cde9847798' WHERE alembic_version.version_num = '210693f3123d';

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
-- 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,53 @@
CREATE TABLE alembic_version (
version_num VARCHAR2(32 CHAR) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
)
/
-- 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')
/
-- Running upgrade 210693f3123d -> 54cde9847798
ALTER TABLE cdr MODIFY accountcode VARCHAR2(80 CHAR)
/
ALTER TABLE cdr MODIFY peeraccount VARCHAR2(80 CHAR)
/
UPDATE alembic_version SET version_num='54cde9847798' WHERE alembic_version.version_num = '210693f3123d'
/

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,49 @@
CREATE TABLE alembic_version (
version_num VARCHAR2(32 CHAR) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
)
/
-- 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,45 @@
BEGIN;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
-- 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');
-- Running upgrade 210693f3123d -> 54cde9847798
ALTER TABLE cdr ALTER COLUMN accountcode TYPE VARCHAR(80);
ALTER TABLE cdr ALTER COLUMN peeraccount TYPE VARCHAR(80);
UPDATE alembic_version SET version_num='54cde9847798' WHERE alembic_version.version_num = '210693f3123d';
COMMIT;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,39 @@
BEGIN;
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
-- 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

@@ -825,29 +825,16 @@ static void caching_topic_exec(void *data, struct stasis_subscription *sub,
msg_type = stasis_message_type(message);
/*
* app_voicemail used to rely on the cache containing every topic subscribe and
* unsubscribe in order to determine if anyone was currently subscribed to a
* particular mailbox. This caused the cache to grow unabated for the life of
* the asterisk instance. Since it no longer needs the cache of these message
* types, and no other function needs them, we no longer cache them.
*/
if (stasis_subscription_change_type() == msg_type) {
struct stasis_subscription_change *change = stasis_message_data(message);
/*
* If this change type is an unsubscribe, we need to find the original
* subscribe and remove it from the cache otherwise the cache will
* continue to grow unabated.
*/
if (strcmp(change->description, "Unsubscribe") == 0) {
struct stasis_cache_entry *sub;
ao2_wrlock(caching_topic->cache->entries);
sub = cache_find(caching_topic->cache->entries, stasis_subscription_change_type(), change->uniqueid);
if (sub) {
cache_remove(caching_topic->cache->entries, sub, stasis_message_eid(message));
ao2_cleanup(sub);
}
ao2_unlock(caching_topic->cache->entries);
ao2_cleanup(caching_topic_needs_unref);
return;
}
msg_put = message;
msg = message;
ao2_cleanup(caching_topic_needs_unref);
return;
} else if (stasis_cache_clear_type() == msg_type) {
/* Cache clear event. */
msg_put = NULL;

View File

@@ -91,13 +91,10 @@ static enum pjsip_status_code check_content_type_in_dialog(const pjsip_rx_data *
static const pj_str_t text = { "text", 4};
static const pj_str_t application = { "application", 11};
if (!(rdata->msg_info.msg->body && rdata->msg_info.msg->body->len > 0)) {
return res;
}
/* We'll accept any text/ or application/ content type */
if (pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &text) == 0
|| pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &application) == 0) {
if (rdata->msg_info.msg->body && rdata->msg_info.msg->body->len
&& (pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &text) == 0
|| pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &application) == 0)) {
res = PJSIP_SC_OK;
} else if (rdata->msg_info.ctype
&& (pj_stricmp(&rdata->msg_info.ctype->media.type, &text) == 0

View File

@@ -1941,7 +1941,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session,
}
if (set_caps(session, session_media, session_media_transport, remote_stream, 0, asterisk_stream)) {
return -1;
return 1;
}
/* Set the channel uniqueid on the RTP instance now that it is becoming active */

View File

@@ -203,6 +203,7 @@ static int t38_automatic_reject(void *obj)
{
RAII_VAR(struct ast_sip_session *, session, obj, ao2_cleanup);
RAII_VAR(struct ast_datastore *, datastore, ast_sip_session_get_datastore(session, "t38"), ao2_cleanup);
struct ast_sip_session_media *session_media;
if (!datastore) {
return 0;
@@ -211,7 +212,8 @@ static int t38_automatic_reject(void *obj)
ast_debug(2, "Automatically rejecting T.38 request on channel '%s'\n",
session->channel ? ast_channel_name(session->channel) : "<gone>");
t38_change_state(session, NULL, datastore->data, T38_REJECTED);
session_media = session->pending_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
t38_change_state(session, session_media, datastore->data, T38_REJECTED);
ast_sip_session_resume_reinvite(session);
return 0;
@@ -320,37 +322,28 @@ static int t38_reinvite_response_cb(struct ast_sip_session *session, pjsip_rx_da
int index;
session_media = session->active_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
if (!session_media) {
ast_log(LOG_WARNING, "Received %d response to T.38 re-invite on '%s' but no active session media\n",
status.code, session->channel ? ast_channel_name(session->channel) : "unknown channel");
} else {
t38_change_state(session, session_media, state, T38_ENABLED);
t38_change_state(session, session_media, state, T38_ENABLED);
/* Stop all the streams in the stored away active state, they'll go back to being active once
* we reinvite back.
*/
for (index = 0; index < AST_VECTOR_SIZE(&state->media_state->sessions); ++index) {
struct ast_sip_session_media *session_media = AST_VECTOR_GET(&state->media_state->sessions, index);
/* Stop all the streams in the stored away active state, they'll go back to being active once
* we reinvite back.
*/
for (index = 0; index < AST_VECTOR_SIZE(&state->media_state->sessions); ++index) {
struct ast_sip_session_media *session_media = AST_VECTOR_GET(&state->media_state->sessions, index);
if (session_media && session_media->handler && session_media->handler->stream_stop) {
session_media->handler->stream_stop(session_media);
}
if (session_media && session_media->handler && session_media->handler->stream_stop) {
session_media->handler->stream_stop(session_media);
}
return 0;
}
} else {
session_media = session->pending_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
t38_change_state(session, session_media, state, T38_REJECTED);
/* Abort this attempt at switching to T.38 by resetting the pending state and freeing our stored away active state */
ast_sip_session_media_state_free(state->media_state);
state->media_state = NULL;
ast_sip_session_media_state_reset(session->pending_media_state);
}
/* If no session_media then response contained a declined stream, so disable */
t38_change_state(session, NULL, state, session_media ? T38_REJECTED : T38_DISABLED);
/* Abort this attempt at switching to T.38 by resetting the pending state and freeing our stored away active state */
ast_sip_session_media_state_free(state->media_state);
state->media_state = NULL;
ast_sip_session_media_state_reset(session->pending_media_state);
return 0;
}
@@ -433,10 +426,12 @@ static int t38_interpret_parameters(void *obj)
/* Negotiation can not take place without a valid max_ifp value. */
if (!parameters->max_ifp) {
if (data->session->t38state == T38_PEER_REINVITE) {
t38_change_state(data->session, NULL, state, T38_REJECTED);
session_media = data->session->pending_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
t38_change_state(data->session, session_media, state, T38_REJECTED);
ast_sip_session_resume_reinvite(data->session);
} else if (data->session->t38state == T38_ENABLED) {
t38_change_state(data->session, NULL, state, T38_DISABLED);
session_media = data->session->active_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
t38_change_state(data->session, session_media, state, T38_DISABLED);
ast_sip_session_refresh(data->session, NULL, NULL, NULL,
AST_SIP_SESSION_REFRESH_METHOD_INVITE, 1, state->media_state);
state->media_state = NULL;
@@ -459,11 +454,6 @@ static int t38_interpret_parameters(void *obj)
state->our_parms.version = MIN(state->our_parms.version, state->their_parms.version);
state->our_parms.rate_management = state->their_parms.rate_management;
session_media = data->session->pending_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
if (!session_media) {
ast_log(LOG_ERROR, "Failed to negotiate parameters for reinvite on channel '%s' (No pending session media).\n",
data->session->channel ? ast_channel_name(data->session->channel) : "unknown channel");
break;
}
ast_udptl_set_local_max_ifp(session_media->udptl, state->our_parms.max_ifp);
t38_change_state(data->session, session_media, state, T38_ENABLED);
ast_sip_session_resume_reinvite(data->session);
@@ -478,13 +468,8 @@ static int t38_interpret_parameters(void *obj)
}
state->our_parms = *parameters;
session_media = media_state->default_session[AST_MEDIA_TYPE_IMAGE];
if (!session_media) {
ast_log(LOG_ERROR, "Failed to negotiate parameters on channel '%s' (No default session media).\n",
data->session->channel ? ast_channel_name(data->session->channel) : "unknown channel");
break;
}
ast_udptl_set_local_max_ifp(session_media->udptl, state->our_parms.max_ifp);
t38_change_state(data->session, NULL, state, T38_LOCAL_REINVITE);
t38_change_state(data->session, session_media, state, T38_LOCAL_REINVITE);
ast_sip_session_refresh(data->session, NULL, t38_reinvite_sdp_cb, t38_reinvite_response_cb,
AST_SIP_SESSION_REFRESH_METHOD_INVITE, 1, media_state);
}
@@ -493,10 +478,12 @@ static int t38_interpret_parameters(void *obj)
case AST_T38_REFUSED:
case AST_T38_REQUEST_TERMINATE: /* Shutdown T38 */
if (data->session->t38state == T38_PEER_REINVITE) {
t38_change_state(data->session, NULL, state, T38_REJECTED);
session_media = data->session->pending_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
t38_change_state(data->session, session_media, state, T38_REJECTED);
ast_sip_session_resume_reinvite(data->session);
} else if (data->session->t38state == T38_ENABLED) {
t38_change_state(data->session, NULL, state, T38_DISABLED);
session_media = data->session->active_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
t38_change_state(data->session, session_media, state, T38_DISABLED);
ast_sip_session_refresh(data->session, NULL, NULL, NULL, AST_SIP_SESSION_REFRESH_METHOD_INVITE, 1, state->media_state);
state->media_state = NULL;
}
@@ -506,11 +493,6 @@ static int t38_interpret_parameters(void *obj)
if (data->session->t38state == T38_PEER_REINVITE) {
session_media = data->session->pending_media_state->default_session[AST_MEDIA_TYPE_IMAGE];
if (!session_media) {
ast_log(LOG_ERROR, "Failed to request parameters for reinvite on channel '%s' (No pending session media).\n",
data->session->channel ? ast_channel_name(data->session->channel) : "unknown channel");
break;
}
parameters.max_ifp = ast_udptl_get_far_max_ifp(session_media->udptl);
parameters.request_response = AST_T38_REQUEST_NEGOTIATE;
ast_queue_control_data(data->session->channel, AST_CONTROL_T38_PARAMETERS, &parameters, sizeof(parameters));
@@ -806,7 +788,7 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session,
if ((session->t38state == T38_REJECTED) || (session->t38state == T38_DISABLED)) {
ast_debug(3, "Declining; T.38 state is rejected or declined\n");
t38_change_state(session, NULL, state, T38_DISABLED);
t38_change_state(session, session_media, state, T38_DISABLED);
return 0;
}

View File

@@ -67,7 +67,7 @@ pipeline {
stage ("Checkout") {
sh "sudo chown -R jenkins:users ."
env.GERRIT_PROJECT_URL = env.GIT_URL.replaceAll(/[^\/]+$/, env.GERRIT_PROJECT)
env.GERRIT_PROJECT_URL = env.GERRIT_CHANGE_URL.replaceAll(/\/[0-9]+$/, "/${env.GERRIT_PROJECT}")
/*
* Jenkins has already automatically checked out the base branch
@@ -90,10 +90,10 @@ pipeline {
checkout scm: [$class: 'GitSCM',
branches: [[name: env.GERRIT_BRANCH ]],
extensions: [
[$class: 'ScmName', name: env.GERRIT_NAME],
[$class: 'ScmName', name: 'gerrit-public'],
[$class: 'CleanBeforeCheckout'],
[$class: 'PreBuildMerge', options: [
mergeRemote: env.GERRIT_NAME,
mergeRemote: 'gerrit-public',
fastForwardMode: 'NO_FF',
mergeStrategy: 'RECURSIVE',
mergeTarget: env.GERRIT_BRANCH]],

View File

@@ -34,7 +34,7 @@ pipeline {
triggerOnEvents: [
commentAddedContains('^recheck$'),
patchsetCreated(excludeDrafts: false,
excludeNoCodeChange: false,
excludeNoCodeChange: true,
excludeTrivialRebase: false),
draftPublished()
],
@@ -68,7 +68,7 @@ pipeline {
stage ("Checkout") {
sh "sudo chown -R jenkins:users ."
env.GERRIT_PROJECT_URL = env.GIT_URL.replaceAll(/[^\/]+$/, env.GERRIT_PROJECT)
env.GERRIT_PROJECT_URL = env.GERRIT_CHANGE_URL.replaceAll(/\/[0-9]+$/, "/${env.GERRIT_PROJECT}")
/*
* Jenkins has already automatically checked out the base branch
@@ -91,10 +91,10 @@ pipeline {
checkout scm: [$class: 'GitSCM',
branches: [[name: env.GERRIT_BRANCH ]],
extensions: [
[$class: 'ScmName', name: env.GERRIT_NAME],
[$class: 'ScmName', name: 'gerrit-public'],
[$class: 'CleanBeforeCheckout'],
[$class: 'PreBuildMerge', options: [
mergeRemote: env.GERRIT_NAME,
mergeRemote: 'gerrit-public',
fastForwardMode: 'NO_FF',
mergeStrategy: 'RECURSIVE',
mergeTarget: env.GERRIT_BRANCH]],