From 10e2c47c75376bb7978d59680914d1c185d36d67 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Fri, 4 Jun 2010 14:45:03 +0000 Subject: [PATCH] Incoming overlap dialing no longer works after sig_pri extraction. The problem would manifest itself if your dialplan matching could accept more digits to match than were actually dialed. The time out waiting for overlap digits disconnected the call instead of matching any accumulated digits to the dialplan. Accidental conversion of a break out of loop as a break out of switch. (closes issue #17401) Reported by: avalentin Patches: issue17401_digit_timeout.patch uploaded by rmudgett (license 664) Tested by: avalentin, rmudgett git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267928 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/sig_pri.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/channels/sig_pri.c b/channels/sig_pri.c index 8e7c73c22c..e931403300 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -1477,7 +1477,7 @@ static void *pri_ss_thread(void *data) exten[len++] = res; exten[len] = '\0'; } else - goto exit; + break; } /* if no extension was received ('unspecified') on overlap call, use the 's' extension */ if (ast_strlen_zero(exten)) { @@ -1522,13 +1522,6 @@ static void *pri_ss_thread(void *data) p->call = NULL; } return NULL; - -exit: - res = sig_pri_play_tone(p, SIG_PRI_TONE_CONGESTION); - if (res < 0) - ast_log(LOG_WARNING, "Unable to play congestion tone on channel %d\n", p->channel); - ast_hangup(chan); - return NULL; } void pri_event_alarm(struct sig_pri_pri *pri, int index, int before_start_pri)