Re: [MMUSIC] Associating packets with m-lines in a bundle

Bernard Aboba <> Tue, 28 May 2013 00:10 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5A2CE21F9021 for <>; Mon, 27 May 2013 17:10:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -101.998
X-Spam-Status: No, score=-101.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_14=0.6, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id VDgtPbb2lqyI for <>; Mon, 27 May 2013 17:10:34 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 6D3CF21F8FDD for <>; Mon, 27 May 2013 17:10:34 -0700 (PDT)
Received: from BLU169-W5 ([]) by with Microsoft SMTPSVC(6.0.3790.4675); Mon, 27 May 2013 17:10:34 -0700
X-TMN: [LX8nOgmGmD8YwVwblDMhJn7foVDtrz2M]
X-Originating-Email: []
Message-ID: <BLU169-W5F02AED8725E7A1D94E4D93970@phx.gbl>
Content-Type: multipart/alternative; boundary="_75c751b4-5f9b-4886-bca6-4dd4da63ba7c_"
From: Bernard Aboba <>
To: Colin Perkins <>
Date: Mon, 27 May 2013 17:10:33 -0700
Importance: Normal
In-Reply-To: <>
References: <> <BLU403-EAS11291D50BCA39955DE3C9C393940@phx.gbl> <>, <>
MIME-Version: 1.0
X-OriginalArrivalTime: 28 May 2013 00:10:34.0445 (UTC) FILETIME=[C60DDFD0:01CE5B37]
Subject: Re: [MMUSIC] Associating packets with m-lines in a bundle
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 28 May 2013 00:10:40 -0000

Colin Perkins said: 

RTCP operates at a different level, so it's not clear why it needs to be bound to an m= line. Use the SSRC to group related RTP and RTCP packets according to source, and match them to a de-jitter buffer and the state for RTCP processing. Use the PT to match those sources with the payload format, m= line and the corresponding decoding and rendering context.
[BA] I believe that the stats API requires the mapping of received RTCP packets to a peerConnection object.   Without BUNDLE, there is no issue.  With BUNDLE and without a=ssrc lines, it is possible to receive RTCP RRs from SSRCs that have not yet sent packets, so that it wouldn't be possible yet to group the RTCP and RTP packets according to source and match those sources with the PT and payload format.  So if you had more than one peerConnection object, it might not be clear which object the RTCP packet related to. 
Colin also said: 
Match the RTCP to the RTP based on the SSRC, and process it. There is no need to discard the RTCP in this case.
[BA] What if no RTP has been received from that SSRC, but an RTCP RR arrives?  This is the case I was referring to.   I agree that there is no need to discard the RTCP assuming that an RTP packet from that SSRC arrives first, permitting a mapping of SSRC to PT, corresponding m line and peerConnection object.