[Home]

Summary:ASTERISK-10438: [Patch] Fix handling RTP RFC2833 events > 16. They are not DTMF digits.
Reporter:Julian J. M. (julianjm)Labels:
Date Opened:2007-10-03 16:15:58Date Closed:2007-10-03 17:45:26
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/RTP
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) asterisk-rtp-ignore-nondigit-rfc2833-events-v1.diff
Description:My provider's gateway sends an RTP RFC2833 event (0x8f MF S3) shortly after dialing out.

This causes asterisk to try to forward a NULL DTMF digit (not '0', but 0x00) to the SIP phone.

From that point, RTP packets coming from the provider are not passed to the SIP phone, thus causing one-way audio.

Using dtmfmode=inband doesn't trigger the problem. I just made a little patch to stop handling those rfc2833 events as DTMF digits, and simply ignore them.

****** ADDITIONAL INFORMATION ******

RTP debug output. Provider gw, SIP phone 10.200.0.203

Got  RTP packet from    10.200.0.203:5004 (type 18, seq 019579, ts 1299136934, len 000020)
Sent RTP packet to      213.254.231.9:6010 (type 08, seq 065528, ts 006760, len 000160)
Got  RTP packet from    213.254.231.9:6010 (type 08, seq 033806, ts 547324824, len 000160)
Sent RTP packet to      10.200.0.203:5004 (type 18, seq 017027, ts 007008, len 000020)
Got  RTP packet from    10.200.0.203:5004 (type 18, seq 019580, ts 1299137094, len 000020)
Sent RTP packet to      213.254.231.9:6010 (type 08, seq 065529, ts 006920, len 000160)
Got  RTP packet from    213.254.231.9:6010 (type 08, seq 033807, ts 547324984, len 000160)
Sent RTP packet to      10.200.0.203:5004 (type 18, seq 017028, ts 007168, len 000020)
Got  RTP packet from    10.200.0.203:5004 (type 18, seq 019581, ts 1299137254, len 000020)
Sent RTP packet to      213.254.231.9:6010 (type 08, seq 065530, ts 007080, len 000160)
Got  RTP packet from    213.254.231.9:6010 (type 101, seq 033808, ts 547324960, len 000004)
****** THE NEXT PACKET IS THE OFFENDING ONE *****
Got  RTP RFC2833 from   213.254.231.9:6010 (type 101, seq 033808, ts 547324960, len 000004, mark 0, event 0000008f, end 0, duration 00024)
****** PAST THIS POINT. NO RTP IS FORWARDED TO SIP PHONE ON 10.200.0.203 ****
Got  RTP packet from    213.254.231.9:6010 (type 08, seq 033809, ts 547325144, len 000160)
Got  RTP packet from    10.200.0.203:5004 (type 18, seq 019582, ts 1299137414, len 000020)
Sent RTP packet to      213.254.231.9:6010 (type 08, seq 065531, ts 007240, len 000160)
Got  RTP packet from    213.254.231.9:6010 (type 08, seq 033810, ts 547325304, len 000160)
Got  RTP packet from    10.200.0.203:5004 (type 18, seq 019583, ts 1299137574, len 000020)
Sent RTP packet to      213.254.231.9:6010 (type 08, seq 065532, ts 007400, len 000160)
Got  RTP packet from    213.254.231.9:6010 (type 08, seq 033811, ts 547325464, len 000160)
Got  RTP packet from    10.200.0.203:5004 (type 18, seq 019584, ts 1299137734, len 000020)
Sent RTP packet to      213.254.231.9:6010 (type 08, seq 065533, ts 007560, len 000160)


This is from the asterisk full log. There is a formatting problem, because it tries to print a NULL char (string end):

[Oct  3 22:27:40] DEBUG[17412] rtp.c: - RTP 2833 Event: 0000008f (len = 4)
[Oct  3 22:27:40] DEBUG[17412] rtp.c: Sending dtmf: 0 ([Oct  3 22:27:40] VERBOSE[17412] logger.c: Got  RTP packet from    213.254.231.9:6010 (type 08, seq 033809, ts 547325144, len 000160)
Comments:By: Digium Subversion (svnbot) 2007-10-03 17:38:57

Repository: asterisk
Revision: 84581

U   branches/1.4/main/rtp.c

------------------------------------------------------------------------
r84581 | tilghman | 2007-10-03 17:38:57 -0500 (Wed, 03 Oct 2007) | 2 lines

When an RFC 2833 event is sent that we don't recognize, ignore it, don't queue a NULL digit (closes issue ASTERISK-10438)

------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-10-03 17:45:26

Repository: asterisk
Revision: 84582

_U  trunk/
U   trunk/main/rtp.c

------------------------------------------------------------------------
r84582 | tilghman | 2007-10-03 17:45:25 -0500 (Wed, 03 Oct 2007) | 10 lines

Merged revisions 84581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84581 | tilghman | 2007-10-03 17:59:17 -0500 (Wed, 03 Oct 2007) | 2 lines

When an RFC 2833 event is sent that we don't recognize, ignore it, don't queue a NULL digit (closes issue ASTERISK-10438)

........

------------------------------------------------------------------------