[asterisk-commits] rmudgett: branch 12 r405928 - in /branches/12: ./ channels/sig_pri.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jan 20 16:15:06 CST 2014
Author: rmudgett
Date: Mon Jan 20 16:15:03 2014
New Revision: 405928
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=405928
Log:
chan_dahdi/PRI: Suppress CONNECTED_LINE updates when nothing in the udpate is valid.
* Also simplified some subddress handling code.
(closes issue ASTERISK-23008)
Reported by: Michael Cargile
........
Merged revisions 405926 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 405927 from http://svn.asterisk.org/svn/asterisk/branches/11
Modified:
branches/12/ (props changed)
branches/12/channels/sig_pri.c
Propchange: branches/12/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.
Modified: branches/12/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/channels/sig_pri.c?view=diff&rev=405928&r1=405927&r2=405928
==============================================================================
--- branches/12/channels/sig_pri.c (original)
+++ branches/12/channels/sig_pri.c Mon Jan 20 16:15:03 2014
@@ -729,12 +729,7 @@
*/
static void sig_pri_set_subaddress(struct ast_party_subaddress *ast_subaddress, const struct pri_party_subaddress *pri_subaddress)
{
- char *cnum, *ptr;
- int x, len;
-
- if (ast_subaddress->str) {
- ast_free(ast_subaddress->str);
- }
+ ast_free(ast_subaddress->str);
if (pri_subaddress->length <= 0) {
ast_party_subaddress_init(ast_subaddress);
return;
@@ -744,8 +739,14 @@
/* NSAP */
ast_subaddress->str = ast_strdup((char *) pri_subaddress->data);
} else {
+ char *cnum;
+ char *ptr;
+ int x;
+ int len;
+
/* User Specified */
- if (!(cnum = ast_malloc(2 * pri_subaddress->length + 1))) {
+ cnum = ast_malloc(2 * pri_subaddress->length + 1);
+ if (!cnum) {
ast_party_subaddress_init(ast_subaddress);
return;
}
@@ -4368,14 +4369,11 @@
pri->pvts[chanpos]->cid_subaddr[0] = '\0';
#if defined(HAVE_PRI_SUBADDR)
- if (ast_connected.id.subaddress.valid) {
- ast_party_subaddress_set(&ast_channel_caller(owner)->id.subaddress,
- &ast_connected.id.subaddress);
- if (ast_connected.id.subaddress.str) {
- ast_copy_string(pri->pvts[chanpos]->cid_subaddr,
- ast_connected.id.subaddress.str,
- sizeof(pri->pvts[chanpos]->cid_subaddr));
- }
+ if (ast_connected.id.subaddress.str) {
+ ast_copy_string(pri->pvts[chanpos]->cid_subaddr,
+ ast_connected.id.subaddress.str,
+ sizeof(pri->pvts[chanpos]->cid_subaddr));
+ caller_id_update = 1;
}
#endif /* defined(HAVE_PRI_SUBADDR) */
if (caller_id_update) {
@@ -4389,12 +4387,13 @@
ast_caller.id = ast_connected.id;
ast_caller.ani = ast_connected.id;
ast_channel_set_caller_event(owner, &ast_caller, NULL);
- }
-
- /* Update the connected line information on the other channel */
- if (event_id != PRI_EVENT_RING) {
- /* This connected_line update was not from a SETUP message. */
- ast_channel_queue_connected_line_update(owner, &ast_connected, NULL);
+
+ /* Update the connected line information on the other channel */
+ if (event_id != PRI_EVENT_RING) {
+ /* This connected_line update was not from a SETUP message. */
+ ast_channel_queue_connected_line_update(owner, &ast_connected,
+ NULL);
+ }
}
ast_party_connected_line_free(&ast_connected);
More information about the asterisk-commits
mailing list