I think there is an issue when DTMF are handled with SIP INFO and direct media is enabled.
When I receive a SIP INFO, the logs tell me that a “DTMF begin” is generated, but no related “DTMF end” is generated, unless the call is ended. Here is an excerpt of the logs :
*— SIP INFO received **on **SIP/xxx-00000004:*
[Dec 13 11:56:16] DTMF[C-00000005] channel.c: DTMF end ‘#’
received on SIP/xxx-00000004, duration 257 ms
[Dec 13 11:56:16] DTMF[C-00000005] channel.c: DTMF begin emulation of ‘#’ with duration 257 queued on SIP/xxx-00000004
*— **SIP/xxx-00000004 **is hanged up:*
[Dec 13 11:56:19] VERBOSE[C-00000005] bridge_channel.c: Channel SIP/xxx-00000004 left ‘native_rtp’ basic-bridge
[Dec 13 11:56:19] DTMF[C-00000005] bridge_channel.c: DTMF end ‘#’
simulated to bridge 4a5905ac-29f8-41c5-9981-e9d0f4966c56 because SIP/xxx-00000004 left. Duration 3012 ms.
Do you think it is a bug ? I would tend to say yes, but I’m not so sure.