Fix threeway calling + immediate mode (bug #2344)
authorMark Spencer <markster@digium.com>
Thu, 2 Sep 2004 03:32:07 +0000 (03:32 +0000)
committerMark Spencer <markster@digium.com>
Thu, 2 Sep 2004 03:32:07 +0000 (03:32 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3705 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_zap.c

index ac0c268..a061712 100755 (executable)
@@ -4760,7 +4760,12 @@ static void *ss_thread(void *data)
                if (p->subs[SUB_THREEWAY].owner) 
                        timeout = 999999;
                while(len < AST_MAX_EXTENSION-1) {
-                       res = ast_waitfordigit(chan, timeout);
+                       /* Read digit unless it's supposed to be immediate, in which case the
+                          only answer is 's' */
+                       if (p->immediate) 
+                               res = 's';
+                       else
+                               res = ast_waitfordigit(chan, timeout);
                        timeout = 0;
                        if (res < 0) {
                                ast_log(LOG_DEBUG, "waitfordigit returned < 0...\n");