Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's example
Paul Kyzivat <pkyzivat@alum.mit.edu> Mon, 29 April 2013 17:06 UTC
Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48C4121F9E43 for <mmusic@ietfa.amsl.com>; Mon, 29 Apr 2013 10:06:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.763
X-Spam-Level:
X-Spam-Status: No, score=0.763 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, J_CHICKENPOX_111=0.6, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, RDNS_NONE=0.1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D8FYrHzL1oBc for <mmusic@ietfa.amsl.com>; Mon, 29 Apr 2013 10:05:59 -0700 (PDT)
Received: from qmta02.westchester.pa.mail.comcast.net (qmta02.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:24]) by ietfa.amsl.com (Postfix) with ESMTP id EC4F821F9E47 for <mmusic@ietf.org>; Mon, 29 Apr 2013 10:05:58 -0700 (PDT)
Received: from omta01.westchester.pa.mail.comcast.net ([76.96.62.11]) by qmta02.westchester.pa.mail.comcast.net with comcast id Vt3P1l0060EZKEL51t5yBS; Mon, 29 Apr 2013 17:05:58 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta01.westchester.pa.mail.comcast.net with comcast id Vt5y1l0053ZTu2S3Mt5yvf; Mon, 29 Apr 2013 17:05:58 +0000
Message-ID: <517EA875.1020002@alum.mit.edu>
Date: Mon, 29 Apr 2013 13:05:57 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: Christer Holmberg <christer.holmberg@ericsson.com>
References: <7594FB04B1934943A5C02806D1A2204B1C3682C9@ESESSMB209.ericsson.se>
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B1C3682C9@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1367255158; bh=8JUmJIggvGYMtuJm4Q6mSlBFgChTsGVR9B4gSQCFmXY=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=eRYCY/eD+LGIXxrX2/5QM+v0lLShVHaYuSkpKaqq/Ire54ZVKiMwQ19k8qZiN8q7q XOoNh8hqPKEYaXYuWQSzwEuu/jG87NnxoFl2/B8wu4jLnJKU0/8b6/G7Xb7kmpBG6/ 9kAUKs38GShWZ6KnfSKtDlJpg0pZyVXrY8RD/5c4nD1/JEs9/XY/ADvVW6dTA35Jkq ipwJ4P6WL1DMwKM8smZSW081ltwTHUJyRVuK/AfcVgT7BLZ06Cmx7nl31MQjHPz6q7 AWqKKAEqVf4m1rKJkRx34AysFTDyw2cUhnEWNcbJ92K++KLc3kIEWGR3ZkVkmMiyIx pV6wWWihXNxTA==
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's example
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 29 Apr 2013 17:06:04 -0000
On 4/29/13 10:41 AM, Christer Holmberg wrote: > > Hi, > >> For instance, consider the following: >> >> ... >> c=IN IP4 host.biloxi.com >> a=group:BUNDLE m1 m2 m3 m4 >> m=audio 20000 RTP/SAVPF 0 >> a=mid:m1 >> a=ssrc:12345 cname:user@example.com >> a=max-send-ssrc:{*:1} >> a=max-recv-ssrc:{*:1} >> ... >> m=video 20000 RTP/SAVPF 96 98 >> a=mid:m2 >> a=ssrc:5678 cname:user@example.com >> a=max-send-ssrc:{*:1} >> a=max-recv-ssrc:{*:1} >> ... >> m=video 20000 RTP/SAVPF 96 98 >> a=mid:m3 >> a=max-send-ssrc:{*:4} >> a=max-recv-ssrc:{*:4} >> ... >> m=application 20000 DTLS/SCTP ... >> a=mid:m4 >> ... >> >> We have four bundled m-lines. We have one proto (RTP/SAVPF) in three >> m-lines, and another (DTLS/SCTP) in the other m-line. From a protocol >> layering perspective we have: >> >> m1 m2 m3 m4 >> ===== ===== ===== ==== >> SAVPF SAVPF SAVPF SCTP >> RTP RTP RTP DTLS >> UDP UDP UDP UDP >> IP IP IP IP >> >> So, the first demux that must be done is to distinguish RTP from DTLS. >> DTLS has been designed to have a field that distinguishes it from >> RTP/RTCP/ICE, so that can perhaps be considered a default demux >> algorithm for that. > > Correct. > >> Because there is only one SCTP m-line, that is enough to identify those >> packets that should be bound to m4. > > In your example there is only one SCTP m- line, and in WebRTC I guess it will also be the case, but SDP doesn't prevent you from using multiple SCTP m- lines - unless BUNDLE explicitly forbids it, that is. I agree. If we want to support that, then the obvious way (for DTLS/SCTP) is via SCTP port. That depends on there being a way to specify the SCTP with DTLS/SCTP. That has come and gone from the SDP proposal for SCTP. If we were talking about just plain SCTP then I don't think bundling makes any sense. And for SCTP/DTLS I suppose it might be possible to bundle with some other things running over DTLS. I'm not sure if we want to think about that now. >> But we need to use something else to sort out the RTP. >> >> In this example, payload type can be used to distinguish audio from >> video. But there may be cases where that isn't possible. If we want to >> allow this mechanism, then perhaps we need some way to signal that it >> should be used. Or *maybe* we could count on it being inferred. Assuming >> that is used, then it is sufficient to identify those packets that >> belong to m1. >> >> Or, because m1 is marked as having at most one ssrc, and the ssrc value >> (1234) is specified, that could be used to bind packets to m1. >> >> Similarly, RTP packets having ssrc=5678 can be bound to m2. >> >> m3 supports multiple unspecified SSRCs. Since there is only one m-line >> that does, all the packets with pt 96 or 98 and with an ssrc other than >> 1234 or 5678 can be bound to m3. >> >> I'm undecided if we can count on inferring this decision logic from >> existing signaling options, or if we ought to signal the choices more >> explicitly. > > At least I think that, based on e-mail discussions, we most likely cannot rely on unique payload type values for each RTP flow. What I saw from the discussions was the possibility of bundling *one* audio m-line and *one* video m-line, and potentially running multiple flows within each of those. In that usage, using PT for demux is feasible. > (Nothing of course forbids users from using unique payload type values.) Its unclear to me how the usage of bundlling is going to evolve. So I don't have a clear idea how much flexibility we need to allow for a multitude of different demux strategies. BTW, another demux strategy appears if you use bundling with the shim proposal. To me the key is to provide a framework for signalling the mux/demux strategy in SDP. And part of that is deciding whether the strategy is declarative or negotiated in O/A. (It is hard for me to see how it could be *negotiated* in one O/A cycle. So I'm imagining that the offer makes a proposal and it succeeds or fails - with failure meaning no bundling.) Thanks, Paul
- Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's exa… Christer Holmberg
- Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's exa… Paul Kyzivat
- Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's exa… Martin Thomson
- Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's exa… Paul Kyzivat
- Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's exa… Paul Kyzivat
- Re: [MMUSIC] BUNDLE and DATA CHANNEL - Paul's exa… Martin Thomson
- Re: [MMUSIC] BUNDLE and DATA CHANNEL and SHIM Magnus Westerlund
- Re: [MMUSIC] BUNDLE and DATA CHANNEL and SHIM Paul Kyzivat
- Re: [MMUSIC] BUNDLE and DATA CHANNEL and SHIM Martin Thomson