Author: rmudgett
Date: Thu Dec 18 14:09:21 2014
New Revision: 429785

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=429785
Log:
chan_dahdi: Populate CALLERID(ani2) for incoming calls in featdmf signaling 
mode.

For the featdmf signaling mode the incoming MF Caller-ID information is
formatted as follows: *${CALLERID(ani2)}${CALLERID(ani)}#*${EXTEN}#

Rather than discarding the ani2 digits, populate the CALLERID(ani2) value
with what is received instead.

AST-1368 #close
Reported by: Denis Martinez
Patches:
      extract_ani2_for_featdmf_v11.patch (license #5621) patch uploaded by 
Richard Mudgett
........

Merged revisions 429783 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 429784 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/CHANGES
    trunk/channels/sig_analog.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/CHANGES
URL: 
http://svnview.digium.com/svn/asterisk/trunk/CHANGES?view=diff&rev=429785&r1=429784&r2=429785
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Thu Dec 18 14:09:21 2014
@@ -14,6 +14,11 @@
 
 Channel Drivers
 ------------------
+
+chan_dahdi
+------------------
+ * The CALLERID(ani2) value for incoming calls is now populated in featdmf
+   signaling mode.  The information was previously discarded.
 
 chan_sip
 ------------------

Modified: trunk/channels/sig_analog.c
URL: 
http://svnview.digium.com/svn/asterisk/trunk/channels/sig_analog.c?view=diff&rev=429785&r1=429784&r2=429785
==============================================================================
--- trunk/channels/sig_analog.c (original)
+++ trunk/channels/sig_analog.c Thu Dec 18 14:09:21 2014
@@ -1963,6 +1963,8 @@
                if ((p->sig == ANALOG_SIG_FEATDMF) || (p->sig == 
ANALOG_SIG_FEATDMF_TA)) {
                        if (exten[0] == '*') {
                                char *stringp=NULL;
+                               struct ast_party_caller *caller;
+
                                ast_copy_string(exten2, exten, sizeof(exten2));
                                /* Parse out extension and callerid */
                                stringp=exten2 +1;
@@ -1980,6 +1982,11 @@
                                } else {
                                        ast_copy_string(exten, s1 + 2, 
sizeof(exten));
                                }
+
+                               /* The first two digits are ani2 information. */
+                               caller = ast_channel_caller(chan);
+                               s1[2] = '\0';
+                               caller->ani2 = atoi(s1);
                        } else {
                                ast_log(LOG_WARNING, "Got a non-Feature Group D 
input on channel %d.  Assuming E&M Wink instead\n", p->channel);
                        }


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to