[asterisk-bugs] [JIRA] (ASTERISK-29436) core/channel : DTMF emulation doesn't queue the end when last RTP received is the END frame
Arnaud Willem (JIRA)
noreply at issues.asterisk.org
Thu May 20 02:05:17 CDT 2021
Arnaud Willem created ASTERISK-29436:
----------------------------------------
Summary: core/channel : DTMF emulation doesn't queue the end when last RTP received is the END frame
Key: ASTERISK-29436
URL: https://issues.asterisk.org/jira/browse/ASTERISK-29436
Project: Asterisk
Issue Type: Bug
Security Level: None
Components: Core/Channels
Affects Versions: 16.2.1
Environment: Debian/stable - Xen HVM - Linux 4.19
Reporter: Arnaud Willem
Severity: Major
Attachments: ast_bugreport.txt
In this specific context, a PJSIP peer (peerA) is sending RFC4733 DTMF towards Asterisk.
Asterisk then forwards it to the PSTN over chan_pjsip (peerB).
peerA sends sequences of 2-3 DTMF digits. When the last digit is sent, it stops sending RTP frames and awaits responses from the called party.
This appears to trigger an odd "off-by-one" bug in main/channel.c:__ast_read() where an additional frame is expected to stop DTMF emulation in the queue.
Attached log shows this happening twice, around lines 92 (begin emulation of DTMF 8 to peerB ... but no END until line 257 where a new rfc4733 frame has previously been received from peerA.) and 286, (begin emulation of DTMF C to peerB, then the call is hung up after a while.)
A pcap dump can also be provided if necessary.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list