Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv9559

Modified Files:
        channel.c logger.c 
Log Message:
add a LOG_DTMF logging channel and send all bridged DTMF events out that 
channel (issue #4835)


Index: channel.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channel.c,v
retrieving revision 1.232
retrieving revision 1.233
diff -u -d -r1.232 -r1.233
--- channel.c   16 Aug 2005 20:37:27 -0000      1.232
+++ channel.c   22 Aug 2005 21:19:59 -0000      1.233
@@ -1966,6 +1966,14 @@
                                res = 0;
                }
        }
+
+       /* It's possible this is a translated frame */
+       if (f && f->frametype == AST_FRAME_DTMF) {
+               ast_log(LOG_DTMF, "%s : %c\n", chan->name, f->subclass);
+       } else if (fr->frametype == AST_FRAME_DTMF) {
+               ast_log(LOG_DTMF, "%s : %c\n", chan->name, fr->subclass);
+       }
+
        if (f && (f != fr))
                ast_frfree(f);
        ast_clear_flag(chan, AST_FLAG_BLOCKING);

Index: logger.c
===================================================================
RCS file: /usr/cvsroot/asterisk/logger.c,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- logger.c    15 Aug 2005 19:35:25 -0000      1.78
+++ logger.c    22 Aug 2005 21:19:59 -0000      1.79
@@ -44,6 +44,7 @@
        LOG_NOTICE,
        LOG_WARNING,
        LOG_ERR,
+       LOG_DEBUG,
        LOG_DEBUG
 };
 
@@ -107,7 +108,8 @@
        "NOTICE",
        "WARNING",
        "ERROR",
-       "VERBOSE"
+       "VERBOSE",
+       "DTMF"
 };
 
 static int colors[] = {
@@ -116,7 +118,8 @@
        COLOR_YELLOW,
        COLOR_BRRED,
        COLOR_RED,
-       COLOR_GREEN
+       COLOR_GREEN,
+       COLOR_BRGREEN
 };
 
 static int make_components(char *s, int lineno)
@@ -141,6 +144,8 @@
                        res |= (1 << __LOG_DEBUG);
                else if (!strcasecmp(w, "verbose"))
                        res |= (1 << __LOG_VERBOSE);
+               else if (!strcasecmp(w, "dtmf"))
+                       res |= (1 << __LOG_DTMF);
                else {
                        fprintf(stderr, "Logfile Warning: Unknown keyword '%s' 
at line %d of logger.conf\n", w, lineno);
                }
@@ -495,6 +500,8 @@
                ast_cli(fd, " - ");
                if (chan->logmask & (1 << __LOG_DEBUG)) 
                        ast_cli(fd, "Debug ");
+               if (chan->logmask & (1 << __LOG_DTMF)) 
+                       ast_cli(fd, "DTMF ");
                if (chan->logmask & (1 << __LOG_VERBOSE)) 
                        ast_cli(fd, "Verbose ");
                if (chan->logmask & (1 << __LOG_WARNING)) 
@@ -653,6 +660,9 @@
        if (level == __LOG_VERBOSE) {
                snprintf(buf, sizeof(buf), "VERBOSE[%ld]: ", (long)GETTID());
                level = __LOG_DEBUG;
+       } else if (level == __LOG_DTMF) {
+               snprintf(buf, sizeof(buf), "DTMF[%ld]: ", (long)GETTID());
+               level = __LOG_DEBUG;
        } else {
                snprintf(buf, sizeof(buf), "%s[%ld]: %s:%d in %s: ",
                         levels[level], (long)GETTID(), file, line, function);

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to