|
|
|
@ -10045,7 +10045,9 @@ static void *analog_ss_thread(void *data)
|
|
|
|
|
* emulation. The DTMF digits can come so fast that emulation
|
|
|
|
|
* can drop some of them.
|
|
|
|
|
*/
|
|
|
|
|
ast_channel_lock(chan);
|
|
|
|
|
ast_set_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY);
|
|
|
|
|
ast_channel_unlock(chan);
|
|
|
|
|
off_ms = 4000;/* This is a typical OFF time between rings. */
|
|
|
|
|
for (;;) {
|
|
|
|
|
struct ast_frame *f;
|
|
|
|
@ -10078,7 +10080,9 @@ static void *analog_ss_thread(void *data)
|
|
|
|
|
ast_channel_state(chan) == AST_STATE_RINGING)
|
|
|
|
|
break; /* Got ring */
|
|
|
|
|
}
|
|
|
|
|
ast_channel_lock(chan);
|
|
|
|
|
ast_clear_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY);
|
|
|
|
|
ast_channel_unlock(chan);
|
|
|
|
|
dtmfbuf[k] = '\0';
|
|
|
|
|
dahdi_setlinear(p->subs[idx].dfd, p->subs[idx].linear);
|
|
|
|
|
/* Got cid and ring. */
|
|
|
|
|