[asterisk-commits] rmudgett: branch rmudgett/align_analog r296081 - /team/rmudgett/align_analog/...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Nov 24 12:25:41 CST 2010
Author: rmudgett
Date: Wed Nov 24 12:25:37 2010
New Revision: 296081
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=296081
Log:
Absorb begin/end DTMF event if PRI overlap dialing.
Modified:
team/rmudgett/align_analog/channels/chan_dahdi.c
Modified: team/rmudgett/align_analog/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/align_analog/channels/chan_dahdi.c?view=diff&rev=296081&r1=296080&r2=296081
==============================================================================
--- team/rmudgett/align_analog/channels/chan_dahdi.c (original)
+++ team/rmudgett/align_analog/channels/chan_dahdi.c Wed Nov 24 12:25:37 2010
@@ -7689,21 +7689,32 @@
} else
#endif /* defined(HAVE_PRI) */
{
+ /* Unmute conference */
dahdi_confmute(p, 0);
p->subs[idx].f.frametype = AST_FRAME_DTMF_END;
p->subs[idx].f.subclass.integer = res & 0xff;
- }
- dahdi_handle_dtmf(ast, idx, &f);
+ dahdi_handle_dtmf(ast, idx, &f);
+ }
return f;
}
if (res & DAHDI_EVENT_DTMFDOWN) {
ast_debug(1, "DTMF Down '%c'\n", res & 0xff);
- /* Mute conference */
- dahdi_confmute(p, 1);
- p->subs[idx].f.frametype = AST_FRAME_DTMF_BEGIN;
- p->subs[idx].f.subclass.integer = res & 0xff;
- dahdi_handle_dtmf(ast, idx, &f);
+#if defined(HAVE_PRI)
+ if (dahdi_sig_pri_lib_handles(p->sig)
+ && !((struct sig_pri_chan *) p->sig_pvt)->proceeding
+ && p->pri
+ && (p->pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING)) {
+ /* absorb event */
+ } else
+#endif /* defined(HAVE_PRI) */
+ {
+ /* Mute conference */
+ dahdi_confmute(p, 1);
+ p->subs[idx].f.frametype = AST_FRAME_DTMF_BEGIN;
+ p->subs[idx].f.subclass.integer = res & 0xff;
+ dahdi_handle_dtmf(ast, idx, &f);
+ }
return &p->subs[idx].f;
}
More information about the asterisk-commits
mailing list