[svn-commits] rmudgett: branch rmudgett/bkp_issue14068 r210896 - /team/rmudgett/bkp_issue14...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Aug 6 15:26:28 CDT 2009


Author: rmudgett
Date: Thu Aug  6 15:26:21 2009
New Revision: 210896

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=210896
Log:
Update DNID when we have collected enough overlap digits for a dialplan match.

Modified:
    team/rmudgett/bkp_issue14068/channels/chan_dahdi.c

Modified: team/rmudgett/bkp_issue14068/channels/chan_dahdi.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/rmudgett/bkp_issue14068/channels/chan_dahdi.c?view=diff&rev=210896&r1=210895&r2=210896
==============================================================================
--- team/rmudgett/bkp_issue14068/channels/chan_dahdi.c (original)
+++ team/rmudgett/bkp_issue14068/channels/chan_dahdi.c Thu Aug  6 15:26:21 2009
@@ -9267,6 +9267,11 @@
 			ast_verb(3, "Going to extension s|1 because of empty extension received on overlap call\n");
 			exten[0] = 's';
 			exten[1] = '\0';
+		} else {
+			if (chan->cid.cid_dnid) {
+				ast_free(chan->cid.cid_dnid);
+			}
+			chan->cid.cid_dnid = ast_strdup(exten);
 		}
 		tone_zone_play_tone(p->subs[idx].dfd, -1);
 		if (ast_exists_extension(chan, chan->context, exten, 1, p->cid_num)) {
@@ -14579,7 +14584,6 @@
 							&& pri->pvts[chanpos]->call == e->ring.call
 							&& pri->pvts[chanpos]->owner) {
 							/* how to do that */
-							struct ast_channel *owner;
 							int digitlen = strlen(e->ring.callednum);
 							int i;
 
@@ -14587,29 +14591,6 @@
 								struct ast_frame f = { AST_FRAME_DTMF, e->ring.callednum[i], };
 
 								dahdi_queue_frame(pri->pvts[chanpos], &f, pri);
-							}
-							dahdi_pri_lock_owner(pri, chanpos);
-							owner = pri->pvts[chanpos]->owner;
-							if (owner) {
-								char dnid[AST_MAX_EXTENSION];
-
-								/*
-								 * Append the received info digits to the end of
-								 * the exten and dnid strings
-								 */
-								strncat(owner->exten, e->ring.callednum,
-									(sizeof(owner->exten) - 1) - strlen(owner->exten));
-								if (owner->cid.cid_dnid) {
-									ast_copy_string(dnid, owner->cid.cid_dnid,
-										sizeof(dnid));
-									ast_free(owner->cid.cid_dnid);
-								} else {
-									dnid[0] = 0;
-								}
-								strncat(dnid, e->ring.callednum,
-									(sizeof(dnid) - 1) - strlen(dnid));
-								owner->cid.cid_dnid = ast_strdup(dnid);
-								ast_channel_unlock(owner);
 							}
 						}
 						ast_mutex_unlock(&pri->pvts[chanpos]->lock);




More information about the svn-commits mailing list