Asterisk
  1. Asterisk
  2. ASTERISK-10438

[Patch] Fix handling RTP RFC2833 events > 16. They are not DTMF digits.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Severity: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Core/RTP
    • Labels:
      None
    • SVN Revision Number:
      84549
    • Mantis ID:
      10877
    • Regression:
      No

      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)

        Activity

        Hide
        Digium Subversion added a comment -

        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)

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

        Show
        Digium Subversion added a comment - 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 ) ------------------------------------------------------------------------
        Hide
        Digium Subversion added a comment -

        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)

        ........

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

        Show
        Digium Subversion added a comment - 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 ) ........ ------------------------------------------------------------------------

          People

          • Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development