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
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)) {
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)