RE: Issue 243: RtpListener / mux id and RTP header extension issues

There may be additional inputs to the RtpListener, other than the  parameters passed to receive() and the matching rules.

For example, in addition to the RTP MID Header Extension described in Section 14.3 of draft-ietf-mmusic-sdp-bundle-negotiation, there is also an RTCP MID
SDES Item defined in Section 14.2.   So if an RTCP SDES packet has been received with a MID item relating to an SSRC, then when an RTP packet arrives with that
SSRC, the receiver is able to determine the associated MID, even without being able to parse the MID RTP header extension.


        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
header |V=2|P|    SC   |  PT=SDES=202  |             length            |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
chunk  |                          SSRC/CSRC_1                          |
  1    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           SDES items                          |
       |                              ...                              |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
chunk  |                          SSRC/CSRC_2                          |
  2    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           SDES items                          |
       |                              ...                              |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+


>From Robin Raymond:


Let's say your create an RtpListener without any RtpReceivers attached. Then an RTP packet arrives with muxid header extension assigned to header extension id of 3.

How can the lRtpListener fire an onunhandledrtp event and give the application developer the muxid value if the listener is unaware that header extension 3 means muxid?

Further, if two RtpReceivers get attached to the same RtpListener but one RtpReceiver uses header extension 3 for muxid and header extension 4 for custom-ext but second RtpReciever uses header extension 4 for muxid and header extension 3 for custom-ext and an RTP packet arrives. How does theRtpListener disambiguate between header extension 3 or 4 meaning muxid?

Finally, if two RtpReceiver are created. Once is created with muxid header extension set to 3, attached to the listener, then stopped. The second is created with muxid header extension set to 4, attached to the listener, then stopped. An new SSRC with RTP packet arrives with header extension 3 or 4. Do both header extension value 3, or 4, imply this value must be a muxid?

Received on Thursday, 24 September 2015 07:00:56 UTC