[svn-commits] rmudgett: branch 1.8 r299405 - /branches/1.8/channels/sig_pri.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Dec 22 02:10:44 UTC 2010


Author: rmudgett
Date: Tue Dec 21 20:10:39 2010
New Revision: 299405

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=299405
Log:
Chan_dahdi sends an empty COLP on the bridged channel.

Chan_dahdi always inserts a connected party IE when you call from one
dahdi channel to another dahdi channel, even if no such information was
received on the 2nd channel.  This clears the display of many phones.

* Removed leftover artifact from before the valid flag was added.

* Updated all of the channel's caller id information with the new
connected line information instead of just the string parts.

(closes issue #18508)
Reported by: wimpy
Patches:
      issue18508_trunk.patch uploaded by rmudgett (license 664)
Tested by: wimpy, rmudgett

Modified:
    branches/1.8/channels/sig_pri.c

Modified: branches/1.8/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/sig_pri.c?view=diff&rev=299405&r1=299404&r2=299405
==============================================================================
--- branches/1.8/channels/sig_pri.c (original)
+++ branches/1.8/channels/sig_pri.c Tue Dec 21 20:10:39 2010
@@ -3751,9 +3751,6 @@
 						ast_connected.id.number.str, sizeof(pri->pvts[chanpos]->cid_num));
 					pri->pvts[chanpos]->cid_ton = ast_connected.id.number.plan;
 					caller_id_update = 1;
-				} else {
-					ast_connected.id.number.valid = 1;
-					ast_connected.id.number.str = ast_strdup("");
 				}
 				ast_connected.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
 
@@ -3770,12 +3767,16 @@
 				}
 #endif	/* defined(HAVE_PRI_SUBADDR) */
 				if (caller_id_update) {
+					struct ast_party_caller ast_caller;
+
 					pri->pvts[chanpos]->callingpres =
 						ast_party_id_presentation(&ast_connected.id);
 					sig_pri_set_caller_id(pri->pvts[chanpos]);
-					ast_set_callerid(owner, S_OR(ast_connected.id.number.str, NULL),
-						S_OR(ast_connected.id.name.str, NULL),
-						S_OR(ast_connected.id.number.str, NULL));
+
+					ast_party_caller_set_init(&ast_caller, &owner->caller);
+					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 */




More information about the svn-commits mailing list