Remi Quezada
2007-Mar-02 10:17 UTC
[asterisk-users] Double DTMF digits sent on IAX native bridge
Hi, I have two asterisk servers one is connected to the PSTN and the other one is connected to SIP users. The two servers connect with each other using IAX. When I have an incoming call from PSTN to the asterisk servers and have a forward to go back out to the PSTN the two IAX channel bridge together. Now every time I dial a DTMF digit, the asterisk is sending two DTMF digits. I enable debugging for iax and I do see it sending the DTMF digits two times. Here is what I see: Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 019 Type: IAX Subclass: ACK Timestamp: 50018ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 018 ISeqno: 021 Type: DTMF Subclass: 1 Timestamp: 51523ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 019 Type: IAX Subclass: ACK Timestamp: 51523ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] Tx-Frame Retry[000] -- OSeqno: 019 ISeqno: 022 Type: DTMF Subclass: 1 Timestamp: 51543ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 020 Type: IAX Subclass: ACK Timestamp: 51543ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 019 ISeqno: 021 Type: DTMF Subclass: 2 Timestamp: 52083ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 020 Type: IAX Subclass: ACK Timestamp: 52083ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] Tx-Frame Retry[000] -- OSeqno: 020 ISeqno: 022 Type: DTMF Subclass: 2 Timestamp: 52103ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 021 Type: IAX Subclass: ACK Timestamp: 52103ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 020 ISeqno: 021 Type: DTMF Subclass: 3 Timestamp: 52663ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 021 Type: IAX Subclass: ACK Timestamp: 52663ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] Tx-Frame Retry[000] -- OSeqno: 021 ISeqno: 022 Type: DTMF Subclass: 3 Timestamp: 52683ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 022 Type: IAX Subclass: ACK Timestamp: 52683ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 021 ISeqno: 021 Type: DTMF Subclass: 4 Timestamp: 53223ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 022 Type: IAX Subclass: ACK Timestamp: 53223ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] Tx-Frame Retry[000] -- OSeqno: 022 ISeqno: 022 Type: DTMF Subclass: 4 Timestamp: 53243ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 023 Type: IAX Subclass: ACK Timestamp: 53243ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 021 Type: DTMF Subclass: 5 Timestamp: 53703ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 023 Type: IAX Subclass: ACK Timestamp: 53703ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] Tx-Frame Retry[000] -- OSeqno: 023 ISeqno: 022 Type: DTMF Subclass: 5 Timestamp: 53723ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 024 Type: IAX Subclass: ACK Timestamp: 53723ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 023 ISeqno: 021 Type: DTMF Subclass: 6 Timestamp: 54163ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 024 Type: IAX Subclass: ACK Timestamp: 54163ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] Tx-Frame Retry[000] -- OSeqno: 024 ISeqno: 022 Type: DTMF Subclass: 6 Timestamp: 54183ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 025 Type: IAX Subclass: ACK Timestamp: 54183ms SCall: 00004 DCall: 16385 [192.168.15.201:4569] Any ideas on how I can fix this so it only detects one? I've tried relaxing the DTMF detect, but that didn't seem to work. This is only happening when the two IAX channel bridge together. If I have a call terminating to a SIP user or the PSTN and dial any digit it detects it only once. I verified this by turning on iax debugging also. Thanks Remi
Russell Bryant
2007-Mar-02 12:02 UTC
[asterisk-users] Double DTMF digits sent on IAX native bridge
Remi Quezada wrote:> I have two asterisk servers one is connected to the PSTN and the other > one is connected to SIP users. The two servers connect with each other > using IAX. When I have an incoming call from PSTN to the asterisk > servers and have a forward to go back out to the PSTN the two IAX > channel bridge together. Now every time I dial a DTMF digit, the > asterisk is sending two DTMF digits. I enable debugging for iax and I > do see it sending the DTMF digits two times. Here is what I see:The IAX debug that you show below only shows one of each digit. For each one, it shows Receiving the digit from one leg of the call, and then transmitting it out the other. I have spaced out your debug to separate each digit. Each one shows ... <----- digit ---- ----- ACK -----> ----- digit ---> <---- ACK ------ which is exactly what is supposed to happen.> Rx-Frame Retry[ No] -- OSeqno: 018 ISeqno: 021 Type: DTMF Subclass: 1 > Timestamp: 51523ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] > Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 019 Type: IAX Subclass: > ACK > Timestamp: 51523ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] > Tx-Frame Retry[000] -- OSeqno: 019 ISeqno: 022 Type: DTMF Subclass: 1 > Timestamp: 51543ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] > Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 020 Type: IAX Subclass: > ACK > Timestamp: 51543ms SCall: 00004 DCall: 16385 [192.168.15.201:4569]> Rx-Frame Retry[ No] -- OSeqno: 019 ISeqno: 021 Type: DTMF Subclass: 2 > Timestamp: 52083ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] > Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 020 Type: IAX Subclass: > ACK > Timestamp: 52083ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] > Tx-Frame Retry[000] -- OSeqno: 020 ISeqno: 022 Type: DTMF Subclass: 2 > Timestamp: 52103ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] > Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 021 Type: IAX Subclass: > ACK > Timestamp: 52103ms SCall: 00004 DCall: 16385 [192.168.15.201:4569]> Rx-Frame Retry[ No] -- OSeqno: 020 ISeqno: 021 Type: DTMF Subclass: 3 > Timestamp: 52663ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] > Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 021 Type: IAX Subclass: > ACK > Timestamp: 52663ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] > Tx-Frame Retry[000] -- OSeqno: 021 ISeqno: 022 Type: DTMF Subclass: 3 > Timestamp: 52683ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] > Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 022 Type: IAX Subclass: > ACK > Timestamp: 52683ms SCall: 00004 DCall: 16385 [192.168.15.201:4569]> Rx-Frame Retry[ No] -- OSeqno: 021 ISeqno: 021 Type: DTMF Subclass: 4 > Timestamp: 53223ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] > Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 022 Type: IAX Subclass: > ACK > Timestamp: 53223ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] > Tx-Frame Retry[000] -- OSeqno: 022 ISeqno: 022 Type: DTMF Subclass: 4 > Timestamp: 53243ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] > Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 023 Type: IAX Subclass: > ACK > Timestamp: 53243ms SCall: 00004 DCall: 16385 [192.168.15.201:4569]> Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 021 Type: DTMF Subclass: 5 > Timestamp: 53703ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] > Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 023 Type: IAX Subclass: > ACK > Timestamp: 53703ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] > Tx-Frame Retry[000] -- OSeqno: 023 ISeqno: 022 Type: DTMF Subclass: 5 > Timestamp: 53723ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] > Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 024 Type: IAX Subclass: > ACK > Timestamp: 53723ms SCall: 00004 DCall: 16385 [192.168.15.201:4569]> Rx-Frame Retry[ No] -- OSeqno: 023 ISeqno: 021 Type: DTMF Subclass: 6 > Timestamp: 54163ms SCall: 00003 DCall: 00002 [192.168.15.201:4569] > Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 024 Type: IAX Subclass: > ACK > Timestamp: 54163ms SCall: 00002 DCall: 00003 [192.168.15.201:4569] > Tx-Frame Retry[000] -- OSeqno: 024 ISeqno: 022 Type: DTMF Subclass: 6 > Timestamp: 54183ms SCall: 16385 DCall: 00004 [192.168.15.201:4569] > Rx-Frame Retry[ No] -- OSeqno: 022 ISeqno: 025 Type: IAX Subclass: > ACK > Timestamp: 54183ms SCall: 00004 DCall: 16385 [192.168.15.201:4569]-- Russell Bryant Software Engineer Digium, Inc.