overlap receiving: automatically send CALL PROCEEDING when dialplan starts

Following Q.931 5.2.4
When the user has determined that sufficient call information has been received the 
user shall stop T302 and send CALL PROCEEDING to the network.

Previously timeouts were possible if the dialplan took a long time to issue any
response back to the network.

Verified that our local TELCO also does the same.

(issue #16789)
Reported by: alecdavis
Patches: 
      based on overlap_receiving_trunk.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis

(closes issue #16789)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@249365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Alec L Davis 16 years ago
parent 62f453c9d7
commit 271908886f

@ -5959,7 +5959,20 @@ static void *ss_thread(void *data)
if (ast_exists_extension(chan, chan->context, exten, 1, p->cid_num)) {
/* Start the real PBX */
ast_copy_string(chan->exten, exten, sizeof(chan->exten));
if (p->dsp) ast_dsp_digitreset(p->dsp);
if (p->dsp) {
ast_dsp_digitreset(p->dsp);
}
if (p->pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING) {
if (p->pri->pri) {
if (!pri_grab(p, p->pri)) {
pri_proceeding(p->pri->pri, p->call, PVT_TO_CHANNEL(p), 0);
p->proceeding = 1;
pri_rel(p->pri);
} else {
ast_log(LOG_WARNING, "Unable to grab PRI on span %d\n", p->span);
}
}
}
dahdi_enable_ec(p);
ast_setstate(chan, AST_STATE_RING);
res = ast_pbx_run(chan);

Loading…
Cancel
Save