[asterisk-dev] [Code Review] Don't delay DTMF in core bridge while listening for DTMF features

Olle E Johansson reviewboard at asterisk.org
Thu Feb 3 02:55:02 CST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1092/
-----------------------------------------------------------

Review request for Asterisk Developers.


Summary
-------

When a channel listens for DTMF in the core bridge, the outbound DTMF is not sent until we have received DTMF_END. For a long DTMF, this is a disaster. We send 4 seconds of DTMF to Asterisk, asterisk starts sending after and the call is interrupted for a total of 8 secs.

With this change, the DTMF_BEGIN frame is inspected and checked. If it matches a feature code, we wait for DTMF_END and activate the feature as before. If it doesn't match a feature, the frame is forwarded along with the DTMF_END without delay. By doing it this way, DTMF is not delayed.

I've also changed two DTMF relay events to actually use the same duration as the incoming DTMF.

I have no experience of messing around with features.c and bridges, so please review this carefully. It is proven to work both in a 1.6.0 version and 1.4.

(I will remove the red code... Hard to miss)


This addresses bug 18738.
    https://issues.asterisk.org/view.php?id=18738


Diffs
-----

  /team/oej/pinesounds-dtmf-feature-delay-1.4/res/res_features.c 305981 

Diff: https://reviewboard.asterisk.org/r/1092/diff


Testing
-------

Testing done with multiple phones in 1.6.0 and 1.4 versions of this patch.


Thanks,

Olle E

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110203/95eccbd5/attachment.htm>


More information about the asterisk-dev mailing list