Asterisk duplicating DTMF between legs

I have a bit of an odd issue, and I am not entirely sure what’s causing it.

We are receiving DTMF inputs via RFC4733 on one leg and Asterisk is then passing these through to another leg, which is also using RFC4733. However, it appears that Asterisk is randomly duplicating inputs.

These are the DTMF events receiving on the inbound leg…

[Oct  6 17:27:18] DTMF[353015][C-00382781] channel.c: DTMF begin '3' received on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:18] DTMF[353015][C-00382781] channel.c: DTMF begin passthrough '3' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF end '3' received on PJSIP/gamma-carrier-sbc1-0070e2a7, duration 260 ms
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF end accepted with begin '3' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF end passthrough '3' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF begin '6' received on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF begin passthrough '6' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF end '6' received on PJSIP/gamma-carrier-sbc1-0070e2a7, duration 260 ms
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF end accepted with begin '6' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF end passthrough '6' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF begin '7' received on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:19] DTMF[353015][C-00382781] channel.c: DTMF begin passthrough '7' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF end '7' received on PJSIP/gamma-carrier-sbc1-0070e2a7, duration 260 ms
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF end accepted with begin '7' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF end passthrough '7' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF begin '0' received on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF begin passthrough '0' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF end '0' received on PJSIP/gamma-carrier-sbc1-0070e2a7, duration 260 ms
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF end accepted with begin '0' on PJSIP/gamma-carrier-sbc1-0070e2a7
[Oct  6 17:27:20] DTMF[353015][C-00382781] channel.c: DTMF end passthrough '0' on PJSIP/gamma-carrier-sbc1-0070e2a7

and these are the corresponding events sent to the bridged leg…

[Oct  6 17:27:22] DTMF[353029][C-00382783] channel.c: DTMF begin '3' received on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:22] DTMF[353029][C-00382783] channel.c: DTMF begin passthrough '3' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end '3' received on PJSIP/santa-route1-0070e2aa, duration 114 ms
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end accepted with begin '3' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end passthrough '3' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF begin '3' received on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF begin ignored '3' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end '3' received on PJSIP/santa-route1-0070e2aa, duration 140 ms
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF begin emulation of '3' with duration 140 queued on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end emulation of '3' queued on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF begin '6' received on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF begin passthrough '6' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end '6' received on PJSIP/santa-route1-0070e2aa, duration 293 ms
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end accepted with begin '6' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:23] DTMF[353029][C-00382783] channel.c: DTMF end passthrough '6' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF begin '7' received on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF begin passthrough '7' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF end '7' received on PJSIP/santa-route1-0070e2aa, duration 242 ms
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF end accepted with begin '7' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF end passthrough '7' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF begin '0' received on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF begin passthrough '0' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF end '0' received on PJSIP/santa-route1-0070e2aa, duration 280 ms
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF end accepted with begin '0' on PJSIP/santa-route1-0070e2aa
[Oct  6 17:27:24] DTMF[353029][C-00382783] channel.c: DTMF end passthrough '0' on PJSIP/santa-route1-0070e2aa

In this instance, the 3 digit was received twice by the recipient of the call.

I have looked and am struggling to find any information regarding the “ignored” statement, as I assume this and the following “emulation” lines indicate where the duplicated digit is coming from. The reason is why?

Has anyone else had this issue, and can they advise what could potentially cause this?

Your post is slightly confusing. The messages you provide in the “corresponding events sent to the bridged leg” aren’t DTMF being sent to that channel, but DTMF received from the channel. Is the log you provided from separate systems, and thus on both sides it’s actually the received logging you’re showing?

The ignore and emulation is because there is an enforced minimum DTMF duration, if this is not met then the new DTMF gets emulated later instead of being done immediately.

Looking at the actual RTP would narrow things down further.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.