mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-18 12:06:27 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
20e5037f53 | ||
|
370e4f6115 | ||
|
2d0a2bd290 | ||
|
345e17080f | ||
|
fe36d638bb | ||
|
9aeb36af5b |
1
.lastclean
Normal file
1
.lastclean
Normal file
@@ -0,0 +1 @@
|
||||
40
|
@@ -1032,23 +1032,9 @@ struct mwi_sub {
|
||||
int old_new;
|
||||
int old_old;
|
||||
char *uniqueid;
|
||||
char mailbox[0];
|
||||
char *mailbox;
|
||||
};
|
||||
|
||||
struct mwi_sub_task {
|
||||
const char *mailbox;
|
||||
const char *context;
|
||||
const char *uniqueid;
|
||||
};
|
||||
|
||||
static void mwi_sub_task_dtor(struct mwi_sub_task *mwist)
|
||||
{
|
||||
ast_free((void *) mwist->mailbox);
|
||||
ast_free((void *) mwist->context);
|
||||
ast_free((void *) mwist->uniqueid);
|
||||
ast_free(mwist);
|
||||
}
|
||||
|
||||
static struct ast_taskprocessor *mwi_subscription_tps;
|
||||
|
||||
static AST_RWLIST_HEAD_STATIC(mwi_subs, mwi_sub);
|
||||
@@ -13271,6 +13257,7 @@ static void *mb_poll_thread(void *data)
|
||||
static void mwi_sub_destroy(struct mwi_sub *mwi_sub)
|
||||
{
|
||||
ast_free(mwi_sub->uniqueid);
|
||||
ast_free(mwi_sub->mailbox);
|
||||
ast_free(mwi_sub);
|
||||
}
|
||||
|
||||
@@ -13349,35 +13336,12 @@ static int handle_unsubscribe(void *datap)
|
||||
|
||||
static int handle_subscribe(void *datap)
|
||||
{
|
||||
unsigned int len;
|
||||
struct mwi_sub *mwi_sub;
|
||||
struct mwi_sub_task *p = datap;
|
||||
size_t context_len;
|
||||
|
||||
len = sizeof(*mwi_sub) + 1;
|
||||
if (!ast_strlen_zero(p->mailbox))
|
||||
len += strlen(p->mailbox);
|
||||
|
||||
context_len = strlen(p->context) + 1; /* Allow for seperator */
|
||||
if (!ast_strlen_zero(p->context))
|
||||
len += context_len;
|
||||
|
||||
if (!(mwi_sub = ast_calloc(1, len)))
|
||||
return -1;
|
||||
|
||||
mwi_sub->uniqueid = ast_strdup(p->uniqueid);
|
||||
if (!ast_strlen_zero(p->mailbox))
|
||||
strcpy(mwi_sub->mailbox, p->mailbox);
|
||||
|
||||
if (!ast_strlen_zero(p->context)) {
|
||||
strcat(mwi_sub->mailbox, "@");
|
||||
ast_copy_string(mwi_sub->mailbox, p->context, context_len);
|
||||
}
|
||||
struct mwi_sub *mwi_sub = datap;
|
||||
|
||||
AST_RWLIST_WRLOCK(&mwi_subs);
|
||||
AST_RWLIST_INSERT_TAIL(&mwi_subs, mwi_sub, entry);
|
||||
AST_RWLIST_UNLOCK(&mwi_subs);
|
||||
mwi_sub_task_dtor(p);
|
||||
|
||||
poll_subscribed_mailbox(mwi_sub);
|
||||
return 0;
|
||||
}
|
||||
@@ -13398,29 +13362,39 @@ static void mwi_unsub_event_cb(struct stasis_subscription_change *change)
|
||||
|
||||
static void mwi_sub_event_cb(struct stasis_subscription_change *change)
|
||||
{
|
||||
struct mwi_sub_task *mwist;
|
||||
struct mwi_sub *mwi_sub;
|
||||
const char *topic;
|
||||
char *context;
|
||||
char *mailbox;
|
||||
|
||||
mwist = ast_calloc(1, (sizeof(*mwist)));
|
||||
if (!mwist) {
|
||||
mwi_sub = ast_calloc(1, sizeof(*mwi_sub));
|
||||
if (!mwi_sub) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* The topic name is prefixed with "mwi:all/" as this is a pool topic */
|
||||
topic = stasis_topic_name(change->topic) + 8;
|
||||
if (separate_mailbox(ast_strdupa(topic), &mailbox, &context)) {
|
||||
ast_free(mwist);
|
||||
mwi_sub_destroy(mwi_sub);
|
||||
return;
|
||||
}
|
||||
|
||||
mwist->mailbox = ast_strdup(mailbox);
|
||||
mwist->context = ast_strdup(context);
|
||||
mwist->uniqueid = ast_strdup(change->uniqueid);
|
||||
/* separate_mailbox() guarantees a non-NULL, non-empty mailbox and context */
|
||||
if (ast_asprintf(&mwi_sub->mailbox, "%s@%s", mailbox, context) < 0) {
|
||||
mwi_sub_destroy(mwi_sub);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ast_taskprocessor_push(mwi_subscription_tps, handle_subscribe, mwist) < 0) {
|
||||
mwi_sub_task_dtor(mwist);
|
||||
/* The stasis subscription uniqueid will never be NULL */
|
||||
mwi_sub->uniqueid = ast_strdup(change->uniqueid);
|
||||
if (!mwi_sub->uniqueid) {
|
||||
mwi_sub_destroy(mwi_sub);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ast_taskprocessor_push(mwi_subscription_tps, handle_subscribe, mwi_sub) < 0) {
|
||||
mwi_sub_destroy(mwi_sub);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
77
asterisk-16.13.0-summary.html
Normal file
77
asterisk-16.13.0-summary.html
Normal file
@@ -0,0 +1,77 @@
|
||||
<!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-16.13.0</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-16.13.0</h3><h3 align="center">Date: 2020-09-03</h3><h3 align="center"><asteriskteam@digium.com></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="#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-16.12.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%">6 Sean Bright <sean.bright@gmail.com><br/>5 Joshua C. Colp <jcolp@sangoma.com><br/>3 George Joseph <gjoseph@digium.com><br/>2 Asterisk Development Team <asteriskteam@digium.com><br/>1 Michael Neuhauser <mike@firmix.at><br/>1 cmaj <chris@penguinpbx.com><br/>1 Nickolay Shmyrev <nshmyrev@alphacephei.com><br/>1 Dennis Buteyn <dennis.buteyn@xorcom.com><br/>1 sungtae kim <sungtae@messagebird.com><br/></td><td width="33%"><td width="33%">1 Dennis <dennis.buteyn@xorcom.com><br/>1 Michael Neuhauser<br/>1 Ramarajan <pramarajan@sangoma.com><br/>1 tootai <admin@tootai.net><br/>1 David Cunningham <dcunningham@voisonics.com><br/>1 Andrew Yager <andrew@rwts.com.au><br/>1 Nickolay V. Shmyrev <nshmyrev@alphacephei.com><br/>1 Michael Neuhauser <mike@firmix.at><br/>1 cmaj <chris@penguinpbx.com><br/>1 Misha Vodsedalek <vmisha@seznam.cz><br/>1 sungtae kim <pchero21@gmail.com><br/>1 Karsten Wemheuer <kwe-digium@iptam.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_voicemail</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29029">ASTERISK-29029</a>: Voicemail "pollmailboxes"-option not working, bug in function handle_subscribe<br/>Reported by: Karsten Wemheuer<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=345e17080fa60f490be6774450534277df041323">[345e17080f]</a> Sean Bright -- app_voicemail: Fix pollmailboxes</li>
|
||||
</ul><br><h4>Category: Channels/chan_sip/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29011">ASTERISK-29011</a>: chan_sip: ToHost property not cleared on reload<br/>Reported by: Dennis<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9c6d14b26b80c3288e09302328c7c3682244b62c">[9c6d14b26b]</a> Dennis Buteyn -- chan_sip: Clear ToHost property on peer when changing to dynamic host</li>
|
||||
</ul><br><h4>Category: Core/ACL</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28978">ASTERISK-28978</a>: acl: named_acl rule misconfiguration results in segfault on reading rule from realtime<br/>Reported by: Andrew Yager<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d78ccb800ec330506c75305c141396ff3acb4321">[d78ccb800e]</a> Sean Bright -- acl.c: Coerce a NULL pointer into the empty string</li>
|
||||
</ul><br><h4>Category: Functions/func_version</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29021">ASTERISK-29021</a>: [patch] Fix VERSION(ASTERISK_VERSION_NUM) on certified versions<br/>Reported by: cmaj<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=5609d008dac9ace96c1ffc45b3796f86bead0566">[5609d008da]</a> cmaj -- Makefile: Fix certified version numbers</li>
|
||||
</ul><br><h4>Category: PBX/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29046">ASTERISK-29046</a>: pbx: Deadlock when doing a reload, while simultaneously doing an ExtensionState on a pattern match hint that ends up adding an extension<br/>Reported by: Ramarajan<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=fe36d638bb5f8489861b1a220b24cc511be33341">[fe36d638bb]</a> Joshua C. Colp -- pbx: Fix hints deadlock between reload and ExtensionState.</li>
|
||||
</ul><br><h4>Category: Resources/res_http_websocket</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28975">ASTERISK-28975</a>: res_http_websocket: Text payload data doesn't necessary include trailing zero<br/>Reported by: Nickolay V. Shmyrev<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=373e97ea4ed17b8b90af6b1ff21ff7ea9991fa37">[373e97ea4e]</a> Nickolay Shmyrev -- res_http_websocket: Avoid reading past end of string</li>
|
||||
</ul><br><h4>Category: Resources/res_musiconhold</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28927">ASTERISK-28927</a>: Asterisk crash in music on hold<br/>Reported by: David Cunningham<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cd8e01167058d4e04a32e1c4a07253d3b694af1f">[cd8e011670]</a> Sean Bright -- res_musiconhold.c: Prevent crash with realtime MoH</li>
|
||||
</ul><br><h4>Category: Resources/res_parking</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-29042">ASTERISK-29042</a>: res_parking: Parker UUID is no longer copied<br/>Reported by: Misha Vodsedalek<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2d0a2bd290a4abf694b90087c95140535613d9c4">[2d0a2bd290]</a> Joshua C. Colp -- parking: Copy parker UUID as well.</li>
|
||||
</ul><br><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28995">ASTERISK-28995</a>: res_pjsip_registrar: Expires on statically configured contacts is not correct<br/>Reported by: tootai<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=21965111210c1bca5542f33e51634339940ea002">[2196511121]</a> Joshua C. Colp -- res_pjsip_registrar: Don't specify an expiration for static contacts.</li>
|
||||
</ul><br><h4>Category: Resources/res_pjsip_registrar</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28995">ASTERISK-28995</a>: res_pjsip_registrar: Expires on statically configured contacts is not correct<br/>Reported by: tootai<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=21965111210c1bca5542f33e51634339940ea002">[2196511121]</a> Joshua C. Colp -- res_pjsip_registrar: Don't specify an expiration for static contacts.</li>
|
||||
</ul><br><h4>Category: Resources/res_stasis</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28987">ASTERISK-28987</a>: BridgeCreated ARI event shows wrong video_mode info<br/>Reported by: sungtae kim<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=15a3318f1f3fb72669b5659d12948fe3a01dd21b">[15a3318f1f]</a> sungtae kim -- stasis_bridge.c: Fixed wrong video_mode shown</li>
|
||||
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28973">ASTERISK-28973</a>: Malformed IP address in SDP of 2nd SIP timer triggered INVITE when NAT is active (UDP transport with external_media_address)<br/>Reported by: Michael Neuhauser<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=1e58da7814d169fb5e6acf098b5566226c0dacba">[1e58da7814]</a> Michael Neuhauser -- pjproject: clone sdp to protect against (nat) modifications</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=370e4f6115aae36ad3b5be72a9226573ccdae761">370e4f6115</a></td><td>Asterisk Development Team</td><td>Update for 16.13.0-rc2</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9aeb36af5ba5141f42e059fd212da18b1c86eefa">9aeb36af5b</a></td><td>Asterisk Development Team</td><td>Update for 16.13.0-rc1</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=16afb0a05dcc64247a8e3161e904115abefdac8e">16afb0a05d</a></td><td>George Joseph</td><td>scope_trace: Add/update utilities</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=abad3950989a2d2f4ceb3b8f6b65f2822ad3405e">abad395098</a></td><td>Sean Bright</td><td>vector.h: Fix implementation of AST_VECTOR_COMPACT() for empty vectors</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8c54be8fc9d7820303920c2d6137dbd689e1f04a">8c54be8fc9</a></td><td>George Joseph</td><td>res_pjsip_session: Ensure reused streams have correct bundle group</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e9e441c39904a7d186399f88358d997cccb4c83b">e9e441c399</a></td><td>Sean Bright</td><td>utf8.c: Add UTF-8 validation and utility functions</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7892bdec53418bd63e4d275e51ad27c2fc04723c">7892bdec53</a></td><td>Sean Bright</td><td>vector.h: Add AST_VECTOR_SORT()</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e91e2ec0dac9f36d276cf4b3d96a8c673f474509">e91e2ec0da</a></td><td>George Joseph</td><td>CI: Force publishAsteriskDocs to use python2</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e8deea38bdcf2fa7f35d67f64664b11f40eb1bfd">e8deea38bd</a></td><td>Joshua C. Colp</td><td>websocket / pjsip: Increase maximum packet size.</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9ce6d46aea3a7ec70fe923a58cb2aafaa1ea64a8">9ce6d46aea</a></td><td>Joshua C. Colp</td><td>pjsip: Include timer patch to prevent cancelling timer 0.</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-16.12.0-summary.html | 173 ------------
|
||||
asterisk-16.12.0-summary.txt | 430 --------------------------------
|
||||
b/.version | 2
|
||||
b/ChangeLog | 284 ++++++++++++++++++++-
|
||||
b/Makefile | 2
|
||||
b/apps/app_voicemail.c | 72 +----
|
||||
b/asterisk-16.13.0-rc2-summary.html | 17 +
|
||||
b/asterisk-16.13.0-rc2-summary.txt | 100 +++++++
|
||||
b/channels/chan_sip.c | 1
|
||||
b/include/asterisk/format_cap.h | 11
|
||||
b/include/asterisk/res_pjsip_session.h | 8
|
||||
b/include/asterisk/stream.h | 87 ++++++
|
||||
b/include/asterisk/utf8.h | 188 +++++++++++++
|
||||
b/include/asterisk/vector.h | 50 ++-
|
||||
b/main/acl.c | 2
|
||||
b/main/asterisk.c | 2
|
||||
b/main/bridge.c | 1
|
||||
b/main/format_cap.c | 22 +
|
||||
b/main/pbx.c | 11
|
||||
b/main/stream.c | 77 +++++
|
||||
b/main/utf8.c | 380 ++++++++++++++++++++++++++++
|
||||
b/res/parking/parking_bridge_features.c | 1
|
||||
b/res/res_http_websocket.c | 35 +-
|
||||
b/res/res_musiconhold.c | 170 ++++++++++--
|
||||
b/res/res_pjsip_pubsub.c | 16 -
|
||||
b/res/res_pjsip_registrar.c | 6
|
||||
b/res/res_pjsip_session.c | 28 ++
|
||||
b/res/res_stasis.c | 12
|
||||
b/res/stasis/stasis_bridge.c | 16 +
|
||||
b/res/stasis/stasis_bridge.h | 3
|
||||
b/tests/CI/publishAsteriskDocs.sh | 3
|
||||
31 files changed, 1455 insertions(+), 755 deletions(-)</pre><br></html>
|
248
asterisk-16.13.0-summary.txt
Normal file
248
asterisk-16.13.0-summary.txt
Normal file
@@ -0,0 +1,248 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-16.13.0
|
||||
|
||||
Date: 2020-09-03
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Other Changes
|
||||
5. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This release is a point release of an existing major version. The changes
|
||||
included were made to address problems that have been identified in this
|
||||
release series, or are minor, backwards compatible new features or
|
||||
improvements. Users should be able to safely upgrade to this version if
|
||||
this release series is already in use. Users considering upgrading from a
|
||||
previous version are strongly encouraged to review the UPGRADE.txt
|
||||
document as well as the CHANGES document for information about upgrading
|
||||
to this release series.
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, asterisk-16.12.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
|
||||
6 Sean Bright 1 Dennis
|
||||
5 Joshua C. Colp 1 Michael Neuhauser
|
||||
3 George Joseph 1 Ramarajan
|
||||
2 Asterisk Development Team 1 tootai
|
||||
1 Michael Neuhauser 1 David Cunningham
|
||||
1 cmaj 1 Andrew Yager
|
||||
1 Nickolay Shmyrev 1 Nickolay V. Shmyrev
|
||||
1 Dennis Buteyn 1 Michael Neuhauser
|
||||
1 sungtae kim 1 cmaj
|
||||
1 Misha Vodsedalek
|
||||
1 sungtae kim
|
||||
1 Karsten Wemheuer
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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_voicemail
|
||||
|
||||
ASTERISK-29029: Voicemail "pollmailboxes"-option not working, bug in
|
||||
function handle_subscribe
|
||||
Reported by: Karsten Wemheuer
|
||||
* [345e17080f] Sean Bright -- app_voicemail: Fix pollmailboxes
|
||||
|
||||
Category: Channels/chan_sip/General
|
||||
|
||||
ASTERISK-29011: chan_sip: ToHost property not cleared on reload
|
||||
Reported by: Dennis
|
||||
* [9c6d14b26b] Dennis Buteyn -- chan_sip: Clear ToHost property on peer
|
||||
when changing to dynamic host
|
||||
|
||||
Category: Core/ACL
|
||||
|
||||
ASTERISK-28978: acl: named_acl rule misconfiguration results in segfault
|
||||
on reading rule from realtime
|
||||
Reported by: Andrew Yager
|
||||
* [d78ccb800e] Sean Bright -- acl.c: Coerce a NULL pointer into the
|
||||
empty string
|
||||
|
||||
Category: Functions/func_version
|
||||
|
||||
ASTERISK-29021: [patch] Fix VERSION(ASTERISK_VERSION_NUM) on certified
|
||||
versions
|
||||
Reported by: cmaj
|
||||
* [5609d008da] cmaj -- Makefile: Fix certified version numbers
|
||||
|
||||
Category: PBX/General
|
||||
|
||||
ASTERISK-29046: pbx: Deadlock when doing a reload, while simultaneously
|
||||
doing an ExtensionState on a pattern match hint that ends up adding an
|
||||
extension
|
||||
Reported by: Ramarajan
|
||||
* [fe36d638bb] Joshua C. Colp -- pbx: Fix hints deadlock between reload
|
||||
and ExtensionState.
|
||||
|
||||
Category: Resources/res_http_websocket
|
||||
|
||||
ASTERISK-28975: res_http_websocket: Text payload data doesn't necessary
|
||||
include trailing zero
|
||||
Reported by: Nickolay V. Shmyrev
|
||||
* [373e97ea4e] Nickolay Shmyrev -- res_http_websocket: Avoid reading
|
||||
past end of string
|
||||
|
||||
Category: Resources/res_musiconhold
|
||||
|
||||
ASTERISK-28927: Asterisk crash in music on hold
|
||||
Reported by: David Cunningham
|
||||
* [cd8e011670] Sean Bright -- res_musiconhold.c: Prevent crash with
|
||||
realtime MoH
|
||||
|
||||
Category: Resources/res_parking
|
||||
|
||||
ASTERISK-29042: res_parking: Parker UUID is no longer copied
|
||||
Reported by: Misha Vodsedalek
|
||||
* [2d0a2bd290] Joshua C. Colp -- parking: Copy parker UUID as well.
|
||||
|
||||
Category: Resources/res_pjsip
|
||||
|
||||
ASTERISK-28995: res_pjsip_registrar: Expires on statically configured
|
||||
contacts is not correct
|
||||
Reported by: tootai
|
||||
* [2196511121] Joshua C. Colp -- res_pjsip_registrar: Don't specify an
|
||||
expiration for static contacts.
|
||||
|
||||
Category: Resources/res_pjsip_registrar
|
||||
|
||||
ASTERISK-28995: res_pjsip_registrar: Expires on statically configured
|
||||
contacts is not correct
|
||||
Reported by: tootai
|
||||
* [2196511121] Joshua C. Colp -- res_pjsip_registrar: Don't specify an
|
||||
expiration for static contacts.
|
||||
|
||||
Category: Resources/res_stasis
|
||||
|
||||
ASTERISK-28987: BridgeCreated ARI event shows wrong video_mode info
|
||||
Reported by: sungtae kim
|
||||
* [15a3318f1f] sungtae kim -- stasis_bridge.c: Fixed wrong video_mode
|
||||
shown
|
||||
|
||||
Category: pjproject/pjsip
|
||||
|
||||
ASTERISK-28973: Malformed IP address in SDP of 2nd SIP timer triggered
|
||||
INVITE when NAT is active (UDP transport with external_media_address)
|
||||
Reported by: Michael Neuhauser
|
||||
* [1e58da7814] Michael Neuhauser -- pjproject: clone sdp to protect
|
||||
against (nat) modifications
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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 |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| 370e4f6115 | Asterisk | Update for 16.13.0-rc2 |
|
||||
| | Development Team | |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| 9aeb36af5b | Asterisk | Update for 16.13.0-rc1 |
|
||||
| | Development Team | |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| 16afb0a05d | George Joseph | scope_trace: Add/update utilities |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| abad395098 | Sean Bright | vector.h: Fix implementation of |
|
||||
| | | AST_VECTOR_COMPACT() for empty vectors |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| 8c54be8fc9 | George Joseph | res_pjsip_session: Ensure reused |
|
||||
| | | streams have correct bundle group |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| e9e441c399 | Sean Bright | utf8.c: Add UTF-8 validation and |
|
||||
| | | utility functions |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| 7892bdec53 | Sean Bright | vector.h: Add AST_VECTOR_SORT() |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| e91e2ec0da | George Joseph | CI: Force publishAsteriskDocs to use |
|
||||
| | | python2 |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| e8deea38bd | Joshua C. Colp | websocket / pjsip: Increase maximum |
|
||||
| | | packet size. |
|
||||
|------------+------------------+----------------------------------------|
|
||||
| 9ce6d46aea | Joshua C. Colp | pjsip: Include timer patch to prevent |
|
||||
| | | cancelling timer 0. |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Diffstat Results
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a summary of the changes to the source code that went into this
|
||||
release that was generated using the diffstat utility.
|
||||
|
||||
asterisk-16.12.0-summary.html | 173 ------------
|
||||
asterisk-16.12.0-summary.txt | 430 --------------------------------
|
||||
b/.version | 2
|
||||
b/ChangeLog | 284 ++++++++++++++++++++-
|
||||
b/Makefile | 2
|
||||
b/apps/app_voicemail.c | 72 +----
|
||||
b/asterisk-16.13.0-rc2-summary.html | 17 +
|
||||
b/asterisk-16.13.0-rc2-summary.txt | 100 +++++++
|
||||
b/channels/chan_sip.c | 1
|
||||
b/include/asterisk/format_cap.h | 11
|
||||
b/include/asterisk/res_pjsip_session.h | 8
|
||||
b/include/asterisk/stream.h | 87 ++++++
|
||||
b/include/asterisk/utf8.h | 188 +++++++++++++
|
||||
b/include/asterisk/vector.h | 50 ++-
|
||||
b/main/acl.c | 2
|
||||
b/main/asterisk.c | 2
|
||||
b/main/bridge.c | 1
|
||||
b/main/format_cap.c | 22 +
|
||||
b/main/pbx.c | 11
|
||||
b/main/stream.c | 77 +++++
|
||||
b/main/utf8.c | 380 ++++++++++++++++++++++++++++
|
||||
b/res/parking/parking_bridge_features.c | 1
|
||||
b/res/res_http_websocket.c | 35 +-
|
||||
b/res/res_musiconhold.c | 170 ++++++++++--
|
||||
b/res/res_pjsip_pubsub.c | 16 -
|
||||
b/res/res_pjsip_registrar.c | 6
|
||||
b/res/res_pjsip_session.c | 28 ++
|
||||
b/res/res_stasis.c | 12
|
||||
b/res/stasis/stasis_bridge.c | 16 +
|
||||
b/res/stasis/stasis_bridge.h | 3
|
||||
b/tests/CI/publishAsteriskDocs.sh | 3
|
||||
31 files changed, 1455 insertions(+), 755 deletions(-)
|
41
contrib/realtime/mysql/mysql_cdr.sql
Normal file
41
contrib/realtime/mysql/mysql_cdr.sql
Normal 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';
|
||||
|
1258
contrib/realtime/mysql/mysql_config.sql
Normal file
1258
contrib/realtime/mysql/mysql_config.sql
Normal file
File diff suppressed because it is too large
Load Diff
35
contrib/realtime/mysql/mysql_voicemail.sql
Normal file
35
contrib/realtime/mysql/mysql_voicemail.sql
Normal 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';
|
||||
|
45
contrib/realtime/postgresql/postgresql_cdr.sql
Normal file
45
contrib/realtime/postgresql/postgresql_cdr.sql
Normal 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;
|
||||
|
1362
contrib/realtime/postgresql/postgresql_config.sql
Normal file
1362
contrib/realtime/postgresql/postgresql_config.sql
Normal file
File diff suppressed because it is too large
Load Diff
39
contrib/realtime/postgresql/postgresql_voicemail.sql
Normal file
39
contrib/realtime/postgresql/postgresql_voicemail.sql
Normal 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;
|
||||
|
11
main/pbx.c
11
main/pbx.c
@@ -3148,10 +3148,15 @@ static int internal_extension_state_extended(struct ast_channel *c, const char *
|
||||
}
|
||||
|
||||
if (e->exten[0] == '_') {
|
||||
/* Create this hint on-the-fly */
|
||||
/* Create this hint on-the-fly, we explicitly lock hints here to ensure the
|
||||
* same locking order as if this were done through configuration file - that is
|
||||
* hints is locked first and then (if needed) contexts is locked
|
||||
*/
|
||||
ao2_lock(hints);
|
||||
ast_add_extension(e->parent->name, 0, exten, e->priority, e->label,
|
||||
e->matchcid ? e->cidmatch : NULL, e->app, ast_strdup(e->data), ast_free_ptr,
|
||||
e->registrar);
|
||||
ao2_unlock(hints);
|
||||
if (!(e = ast_hint_extension(c, context, exten))) {
|
||||
/* Improbable, but not impossible */
|
||||
return -1;
|
||||
@@ -3228,9 +3233,11 @@ int ast_hint_presence_state(struct ast_channel *c, const char *context, const ch
|
||||
|
||||
if (e->exten[0] == '_') {
|
||||
/* Create this hint on-the-fly */
|
||||
ao2_lock(hints);
|
||||
ast_add_extension(e->parent->name, 0, exten, e->priority, e->label,
|
||||
e->matchcid ? e->cidmatch : NULL, e->app, ast_strdup(e->data), ast_free_ptr,
|
||||
e->registrar);
|
||||
ao2_unlock(hints);
|
||||
if (!(e = ast_hint_extension(c, context, exten))) {
|
||||
/* Improbable, but not impossible */
|
||||
return -1;
|
||||
@@ -3766,9 +3773,11 @@ static int extension_state_add_destroy(const char *context, const char *exten,
|
||||
* individual extension, because the pattern will no longer match first.
|
||||
*/
|
||||
if (e->exten[0] == '_') {
|
||||
ao2_lock(hints);
|
||||
ast_add_extension(e->parent->name, 0, exten, e->priority, e->label,
|
||||
e->matchcid ? e->cidmatch : NULL, e->app, ast_strdup(e->data), ast_free_ptr,
|
||||
e->registrar);
|
||||
ao2_unlock(hints);
|
||||
e = ast_hint_extension(NULL, context, exten);
|
||||
if (!e || e->exten[0] == '_') {
|
||||
return -1;
|
||||
|
@@ -212,6 +212,7 @@ static int create_parked_subscription_full(struct ast_channel *chan, const char
|
||||
subscription_data->hangup_after = hangup_after;
|
||||
subscription_data->parkee_uuid = subscription_data->parker_uuid + parker_uuid_size;
|
||||
ast_copy_string(subscription_data->parkee_uuid, parkee_uuid, parkee_uuid_size);
|
||||
ast_copy_string(subscription_data->parker_uuid, parker_uuid, parker_uuid_size);
|
||||
|
||||
if (!(parked_datastore->parked_subscription = stasis_subscribe_pool(ast_parking_topic(), parker_update_cb, subscription_data))) {
|
||||
return -1;
|
||||
|
Reference in New Issue
Block a user