[asterisk-commits] alecdavis: branch 1.6.1 r249363 - /branches/1.6.1/channels/chan_dahdi.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Feb 27 17:37:21 CST 2010
Author: alecdavis
Date: Sat Feb 27 17:37:16 2010
New Revision: 249363
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=249363
Log:
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:
overlap_receiving_trunk.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis
Modified:
branches/1.6.1/channels/chan_dahdi.c
Modified: branches/1.6.1/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.1/channels/chan_dahdi.c?view=diff&rev=249363&r1=249362&r2=249363
==============================================================================
--- branches/1.6.1/channels/chan_dahdi.c (original)
+++ branches/1.6.1/channels/chan_dahdi.c Sat Feb 27 17:37:16 2010
@@ -6636,7 +6636,20 @@
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);
More information about the asterisk-commits
mailing list