From: Richard Mudgett Date: Mon, 25 Mar 2013 23:19:06 +0000 (+0000) Subject: Set the CALLERID(dnid-num-plan) for incoming ISDN calls. X-Git-Tag: 1.8.22.0-rc1~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f1021ad6405201be8ba44862a215a8c7846e410;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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@383796 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/sig_pri.c b/channels/sig_pri.c index e9536e6391..fcd24661b8 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -5349,6 +5349,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); + c->dialed.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)); @@ -5487,10 +5491,12 @@ 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); + c->dialed.number.plan = e->ring.calledplan; + ast_channel_unlock(c); sig_pri_handle_subcmds(pri, chanpos, e->e, e->ring.channel, e->ring.subcmds, e->ring.call); - } if (c && !ast_pbx_start(c)) { ast_verb(3, "Accepting call from '%s' to '%s' on channel %d/%d, span %d\n",