[asterisk-dev] Cares about DTMF handling for a channel driver (with SIP)

Paulo Garcia paulo.astdev at gmail.com
Thu Mar 13 08:06:31 CDT 2008


Hi,

I'm working in a channel driver for our card that detects the DTMF by
itself. Today the detection is raised to the channel driver by the SDK when
the digit ends.

When bridging our channel with a SIP channel I have the following scenario:

Test Side (non-asterisk)                   ASTERISK-side

            SIP ----------------------------------> SIP  \
                                                         |
                                                         |
            FXS <-------------------------------- FXO    /


When I issue a DTMF sequence (lets say 000012345) from FXS , the SIP side
(non-asterisk) only receives part o this sequence.
I've checked that Asterisk-FXO is detecting all DTMF sent by FXS.

Here is my question.

When I detect a DTMF in Asterisk-FXO, I call ast_queue_control() sending
this DTMF to Asterisk. I'm sending only a AST_FRAME_DTMF message (no Begin
or END). The audio path continues to be transfered so the DTMF as audio is
being transmitted as well.

It seems that the DTMF received on the non-asterisk-SIP side is clipped. I
read somewhere that Asterisk emulates the DTMF_BEGIN to make pairs with
DTMF_END. Is it possible that the chan_sip is receiving those messages
wrongly? Should I stop sending the audio (the DTMF audio in this case) when
detecting and ast_queue_frame() a DTMF ?

The problems happens with SIP configured to dtmf=inband or dtmf=rfc2833.


Any thoughts?

Thanks

Paulo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20080313/83b20dbb/attachment.htm 


More information about the asterisk-dev mailing list