Re: [Dart] multiplexing different media types

Harald Alvestrand <> Sun, 15 June 2014 14:35 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id A6A171B285A for <>; Sun, 15 Jun 2014 07:35:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.55
X-Spam-Status: No, score=-2.55 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.651] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Zy6ZepAloD5i for <>; Sun, 15 Jun 2014 07:35:50 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 6FC821B2854 for <>; Sun, 15 Jun 2014 07:35:50 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id BB1E47C37ED; Sun, 15 Jun 2014 16:35:49 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id i1uxO8Je8QCk; Sun, 15 Jun 2014 16:35:48 +0200 (CEST)
Received: from [IPv6:2001:470:de0a:27:cfe:6103:ed28:a97f] (unknown [IPv6:2001:470:de0a:27:cfe:6103:ed28:a97f]) by (Postfix) with ESMTPSA id 29E147C37E5; Sun, 15 Jun 2014 16:35:48 +0200 (CEST)
Message-ID: <>
Date: Sun, 15 Jun 2014 16:35:45 +0200
From: Harald Alvestrand <>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: "Paul E. Jones" <>,, Eric Rescorla <>
References: <emcef68d3e-8260-40c5-9b7d-c6838a595d8b@sydney> <> <>
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------090308080008010207050904"
Subject: Re: [Dart] multiplexing different media types
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"DiffServ Applied to RTP Transports discussion list\"" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 15 Jun 2014 14:35:53 -0000

On 06/15/2014 04:24 PM, Paul E. Jones wrote:
> Harald,
> Thanks for the clarification. If you'll indulge, allow me to ask one 
> more basic question...
> In draft-ietf-avtcore-multiplex-guidelines, it goes to great length to 
> explain that multiplexing is on the SSRC. It also says no two media 
> sources shall use the same PT value.

No, it does not say that - in fact, it says exactly the opposite.

It says that it cannot use the same SSRC for two different media streams 
and depend on PT to distinguish between them. PT is not a multiplexing 

The PT value is a single byte, and is sometimes used for other purposes 
(with RTP/RTCP multiplexing, for example, some numbers are unusable 
because RTCP uses the same field for operation codes). Trying to use it 
to distinguish between streams would reduce the max number of possible 
streams to a seriously ridiculously low number.

Can you point me at the language you interpreted that way? If it can be 
read that way, it *must* be changed.

> Thus, a payload type could be used when demultiplexing, though the 
> text says otherwise. Perhaps this language exists to support 
> multipoint?  Thus, a receiver first looks at the SSRC to identify the 
> source, then the PT to determine what the packet contains? Is SSRC 
> demuxing there only for multipoint?

No. The PT tells the receiver what format the packet contains. The SSRC 
tells you which RTP packet flow it belongs to. In some cases one RTP 
packet flow will switch between different payload types (audio, DTMF and 
comfort noise being the most common examples), while still representing 
only one media flow.

> Why not allow the PT number space to be distinct per SSRC?

I have problems parsing this question into the context above. What are 
you asking?

> Paul
> ------------------------------------------------------------------------
> *From:* Harald Alvestrand <>
> *Sent:* June 15, 2014 3:18:09 AM EDT
> *To:* "Paul E. Jones" <>,, Eric 
> Rescorla <>
> *Subject:* Re: multiplexing different media types
> (Adding EKR to thread to get a definitive DTLS answer)
> On 06/15/2014 06:52 AM, Paul E. Jones wrote:
>     Harald,
>         "SCTP ... can be multiplexed with one or more RTP sessions".
>         Actually we can only multiplex SCTP with a single RTP session.
>         There have been proposals that would allow multiplexing of
>         multiple RTP sessions (each containing multiple media flows)
>         over a single 5-tuple, but these were not accepted. 
>     Your draft (draft-ietf-rtcweb-transports) says: RTCWEB
>     implementations MUST support multiplexing of DTLS and RTP over the
>     same port pair, as described in the DTLS_SRTP specification
>     [RFC5764], section 5.1.2. A! ll application layer protocol
>     payloads over this DTLS connection are SCTP packets. I had a
>     question about this as we discussed the DART draft. I assumed the
>     only DTLS connection would be one used for key negotiation for
>     SRTP. Is that not the case? Would there be multiple DTLS
>     connections multiplexed? If so, how would one be differentiated
>     from another? 
> EKR is the expert here.
> As I understand it, the key material for DTLS-SRTP is derived from the
> session keys from the DTLS session. This does not in any way affect the
> usage of the same DTLS session for passing DTLS data.
>     As for RTP Session multiplexing, it's interesting to hear that
>     proposals are dead. Is there a proposal for multiplexing different
>     media types (e.g., audio and video) within the sa! me RTP Session,
>     then? RFC 3550 discourages that, but it was my understanding that
>     browser makers wanted to multiplex the different media types
>     somehow. What's the plan? 
> draft-ietf-avtcore-multiplex-guidelines covers the RTP aspects.
> draft-ietf-mmusic-sdp-bundle-negotiation has the details on SDP.
> The only thing in RTP itself that prevents such multiplexing is the
> words in RFC 3550; technically there is no barrier at the RTP level.
> At the SDP level things are a bit more complex, which is why -bundle-
> isn't an RFC yet.
>     Paul