Compare commits

...

6 Commits

Author SHA1 Message Date
Asterisk Development Team
20e5037f53 Update for 16.13.0 2020-09-03 03:52:54 -05:00
Asterisk Development Team
370e4f6115 Update for 16.13.0-rc2 2020-09-01 04:21:25 -05:00
Joshua C. Colp
2d0a2bd290 parking: Copy parker UUID as well.
When fixing issues uncovered by GCC10 a copy of the parker UUID
was removed accidentally. This change restores it so that the
subscription has the data it needs.

ASTERISK-29042

Change-Id: I7d396a14ea648bd26d3c363dd78e78bd386b544a
2020-08-31 12:23:38 -05:00
Sean Bright
345e17080f app_voicemail: Fix pollmailboxes
The name of the voicemail context was overwriting the name of the
subscribed mailbox. Fix by simplifying how we create the MWI
subscription.

ASTERISK-29029 #close

Change-Id: Ie8a7db6a0b68f3995b0846bbb733a21909ba44e5
2020-08-31 08:56:25 -05:00
Joshua C. Colp
fe36d638bb pbx: Fix hints deadlock between reload and ExtensionState.
When the ExtensionState AMI action is executed on a pattern matched
hint it can end up adding a new hint if one does not already exist.
This results in a locking order of contexts -> hints -> contexts.

If at the same time a reload is occurring and adding its own hint
it will have a locking order of hints -> contexts.

This results in a deadlock as one thread wants a lock on contexts
that the other has, and the other thread wants a lock on hints
that the other has.

This change enforces a hints -> contexts locking order by explicitly
locking hints in the places where a hint is added when queried for.
This matches the order seen through normal adding of hints.

ASTERISK-29046

Change-Id: I49f027f4aab5d2d50855ae937bcf5e2fd8bfc504
2020-08-28 04:32:14 -05:00
Asterisk Development Team
9aeb36af5b Update for 16.13.0-rc1 2020-08-20 05:07:35 -05:00
14 changed files with 93719 additions and 50 deletions

1
.lastclean Normal file
View File

@@ -0,0 +1 @@
40

1
.version Normal file
View File

@@ -0,0 +1 @@
16.13.0

90578
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -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;
}
}

View 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">&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="#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>

View 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(-)

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,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

@@ -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;

View File

@@ -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;