From: Richard Mudgett Date: Mon, 25 Mar 2013 23:25:32 +0000 (+0000) Subject: Set the CALLERID(dnid-num-plan) for incoming ISDN calls. X-Git-Tag: 13.0.0-beta1~1982 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23f363fcb1898d651371c75f1a996dc38c3498f5;p=thirdparty%2Fasterisk.git Set the CALLERID(dnid-num-plan) for incoming ISDN calls. The CALLEDTON channel variable is set for incoming ISDN calls to the lower 7 bits of the Q.931 type-of-number/numbering-plan octet. The CALLERID(dnid-num-plan) should have the same value. (closes issue ASTERISK-21248) Reported by: rmudgett ........ Merged revisions 383796 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 383798 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383799 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/sig_pri.c b/channels/sig_pri.c index e3b9b3fb6f..f91a0a43fc 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -6410,6 +6410,10 @@ static void *pri_dchannel(void *vpri) snprintf(calledtonstr, sizeof(calledtonstr), "%d", e->ring.calledplan); pbx_builtin_setvar_helper(c, "CALLEDTON", calledtonstr); + ast_channel_lock(c); + ast_channel_dialed(c)->number.plan = e->ring.calledplan; + ast_channel_unlock(c); + if (e->ring.redirectingreason >= 0) { /* This is now just a status variable. Use REDIRECTING() dialplan function. */ pbx_builtin_setvar_helper(c, "PRIREDIRECTREASON", redirectingreason2str(e->ring.redirectingreason)); @@ -6548,6 +6552,9 @@ static void *pri_dchannel(void *vpri) snprintf(calledtonstr, sizeof(calledtonstr), "%d", e->ring.calledplan); pbx_builtin_setvar_helper(c, "CALLEDTON", calledtonstr); + ast_channel_lock(c); + ast_channel_dialed(c)->number.plan = e->ring.calledplan; + ast_channel_unlock(c); sig_pri_handle_subcmds(pri, chanpos, e->e, e->ring.subcmds, e->ring.call);