]> 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:57 +0000 (08:39 -0600)
commitfd823225a6e80cc3974c9ca45eb74d433a7d689b
tree71a385496e121d73106f827b84d159130fc81ce0
parent366da90f74cf2d6010e031650d013ff3f97fa7b4
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