Set the CALLERID(dnid-num-plan) for incoming ISDN calls.
authorRichard Mudgett <rmudgett@digium.com>
Mon, 25 Mar 2013 23:25:32 +0000 (23:25 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 25 Mar 2013 23:25:32 +0000 (23:25 +0000)
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

channels/sig_pri.c

index e3b9b3f..f91a0a4 100644 (file)
@@ -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);