]> git.ipfire.org Git - thirdparty/asterisk.git/commit
channel.c: Resolve issue with receiving SIP INFO packets for DTMF
authorGeorge Joseph <gjoseph@digium.com>
Fri, 22 Nov 2019 16:39:36 +0000 (09:39 -0700)
committerGeorge Joseph <gjoseph@digium.com>
Mon, 2 Dec 2019 14:39:26 +0000 (08:39 -0600)
commit43d4c0e3c9ac27ea0b3cd49085e72465b63e3014
treed9e3a89d7e0bbb87dc1250b01a2044d3f5508415
parent80199cd67f48642dc5e2a6b37a2452ee74b757ca
channel.c: Resolve issue with receiving SIP INFO packets for DTMF

The problem is essentially the same as in ASTERISK~28245. Besides
the direct media scenario we have an additional scenario where a
special client is involved. This device mutes audio by default in
transmit direction (no rtp frames) and activates audio only by a
foot switch. In this situation dtmf input (pin for conferences,
transfer features codes , etc) using SIP INFO mode is not
understood properly especially when SIP INFO messages are sent
quickly.

This patch ensures that SIP INFO frames are properly queued and
processed in the above scenario. The patch also corrects situations
where successive dtmf events are received quicker than the
signalled event duration (plus minimum gap/pause) allows, i.e. DTMF
events have to be buffered in the ast channel read queue and
emulation has to be processed asynchronously at slower speed.

Reported by: Thomas Arimont
patches:
  trigger_dtmf_emulation.patch submitted by Thomas Arimont (license 5525)

Change-Id: I309bf61dd065c9978c8e48f5b9a936ab47de64c2
main/channel.c