[Freeswitch-dev] Problem with sending DTMF on FXS port bridged to an FXO port

devel at thom.fr.eu.org devel at thom.fr.eu.org
Wed Apr 21 13:33:29 PDT 2010



I’m having trouble with this configuration with sangoma A400 card.

What happens is this : the call is established (bridged from FXS to FXO) to
an IVR, then the caller press some key.

At that moment, the sangoma card detects the DTMF on the FXS channel, and
queue the DTMF to be sent of the FXO channel. As a result, to the remote
IVR, the DTMF is received twice (once inband, and a second time when
generated from the FXO).

I sometimes get an even worse scenario where the DTMF is detected by the
card on both channels, and an endless loop start as the DTMF gets detected
by the other channel when generated and so on and so forth.


I tried to stop DTMF generation by adding the following lines to the
dialplan before the bridge

<action application="stop_dtmf" data=""/>

<action application="stop_dtmf_generate" data=""/>

<action application="bridge" data="openzap/2/2/$1"/>


But this did not help.


I could kindof solve the endless loop by modifying zap_io.c in
zap_channel_set_state, when the new state is dialing (which means the FXO
channel is an outbound one, and I therefore don’t need DTMF detection) I do
a zap_clear_flag(zchan, ZAP_CHANNEL_DTMF_DETECT); which prevent further DTMF
detection on that channel.


I don’t know where to carry on now, as just preventing DTMF generation on
outbound FXO channel would prevent DTMF generation where A leg is sofia or
any other.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100421/fce605ce/attachment.html 

More information about the FreeSWITCH-dev mailing list