Hi,<br><br>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.<br><br>When bridging our channel with a SIP channel I have the following scenario:<br>
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Test Side (non-asterisk) ASTERISK-side</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> SIP ----------------------------------> SIP \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> |</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> |</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> FXS <-------------------------------- FXO /</span><br style="font-family: courier new,monospace;">
<br><br>When I issue a DTMF sequence (lets say 000012345) from FXS , the SIP side (non-asterisk) only receives part o this sequence.<br>I've checked that Asterisk-FXO is detecting all DTMF sent by FXS.<br><br>Here is my question. <br>
<br>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.<br>
<br>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 ?<br>
<br>The problems happens with SIP configured to dtmf=inband or dtmf=rfc2833.<br><br><br>Any thoughts?<br><br>Thanks<br><br>Paulo<br><br><br>