Re: [rtcweb] SDP and ssrc-group,

Justin Uberti <juberti@google.com> Wed, 29 October 2014 19:34 UTC

Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5AE861A89AE for <rtcweb@ietfa.amsl.com>; Wed, 29 Oct 2014 12:34:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.788
X-Spam-Level:
X-Spam-Status: No, score=-0.788 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CaQ8vLLILb9R for <rtcweb@ietfa.amsl.com>; Wed, 29 Oct 2014 12:34:54 -0700 (PDT)
Received: from mail-oi0-x234.google.com (mail-oi0-x234.google.com [IPv6:2607:f8b0:4003:c06::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 86F0A1A89A8 for <rtcweb@ietf.org>; Wed, 29 Oct 2014 12:34:54 -0700 (PDT)
Received: by mail-oi0-f52.google.com with SMTP id u20so2836891oif.39 for <rtcweb@ietf.org>; Wed, 29 Oct 2014 12:34:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=Ek3OlInYZotzAMGD6C1omNyKKM3+z654RKSVlKjtDRM=; b=eY5MrW436U0ETVEZUKoLGFBGmCLBURfikg2dDEoJbM4DEV/kOk/1YRsZNriDg25cMI iv8A7kCb3dr10WVT2nfbpQ9j/odEBzgQw54GqyuD48YpYd2CkAYhdZ+S+w2zC8g/9USc gJLoSesgIrruITzRjXt8aVg9usp0xgmbKh7nKPX8EI5lfa4QJ68UTbFhZ6htwuCu0JBx s9d6VrlZRZWFZwGosOasBzmzQCqvqgmYymjJ+1819lGFOJW17bNDeLF85Gred5rXYbUZ GKItM0QSaeGpuCipJL9ZQXlMJesKzysQ+W6c8AQ8TyMGhhj0ttYhsIjPRMop9NK3DId1 i92g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=Ek3OlInYZotzAMGD6C1omNyKKM3+z654RKSVlKjtDRM=; b=Y31xfvGUd+SXRC6AWvCwF/KPP5n5jsXIJ9KDeRDnc3u4kHCx4g/kNsEECdYQMWb0ys wuKOBzOP9Tbr9Sh5nNDcQNdp40xrCnmXCwSIFGPXU7U8XG0Lczm73DYvbRjYYROCPOmC 5S9B8WRKXFn61E+L0Kjy+1kXdI83COLJ0cmHBfH3SfXOTTOYk9tuOgmVEDQSqOBQgFfl RoMPiKpvFFfym2DjAHcP6nAiVo8CdY2YguMyFK5yfusJtTXILke1vfi5yyCbuwAgY2Qw qpUIrCujPhBcWUdDvc+0nQfQHygfA/yayxMUhtNumJQHUs7wUBWQGxZpyMqJP2mC3lMN PrbQ==
X-Gm-Message-State: ALoCoQn+DwPbi0+s2TYLVWficSm2vmwmf2/OyeuTE6YDMhlb+ys+7vCDd4VE1i6gW0VxALijBRPB
X-Received: by 10.60.57.41 with SMTP id f9mr10183986oeq.17.1414611293859; Wed, 29 Oct 2014 12:34:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.248.170 with HTTP; Wed, 29 Oct 2014 12:34:33 -0700 (PDT)
In-Reply-To: <54510608.1030301@gmail.com>
References: <CALiegfmH8rRyEDbJjQ=kzMv0nGC=S9gNsE7roE=kqJyVcfgy8g@mail.gmail.com> <095701cff34c$ad1089c0$07319d40$@gmail.com> <5450DDDE.5020802@gmail.com> <09a801cff38a$ffb28640$ff1792c0$@gmail.com> <54510608.1030301@gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Wed, 29 Oct 2014 12:34:33 -0700
Message-ID: <CAOJ7v-1LD-RHA25kPb6UgT2mu-VUmVRy8Pi5VGmHsLM23HKaag@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Content-Type: multipart/alternative; boundary="089e015389eeaaa3ae050694dbb6"
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/_tRQsAiqLXugxctWSJ6F8oFnUdM
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] SDP and ssrc-group,
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Oct 2014 19:34:57 -0000

Correlation of RTP flow to m= line is being done by the mid header
extension. Correlation of an individual RTP flow to its 'role' (e.g. FEC,
RTX) within a m= line can be inferred from received data (e.g. either FEC
or RTX), or determined explicitly from a=ssrc-group attributes, perhaps
with the addition of some additional meta-information.

To be absolutely clear, I was trying to suggest that the first SSRC in an
a=ssrc-group line should indicate the primary stream, and subsequent ones
the secondary streams (e.g. FID/FEC). I was not trying to suggest any other
ordering within the SDP has any bearing on this question.

On Wed, Oct 29, 2014 at 8:21 AM, Sergio Garcia Murillo <
sergio.garcia.murillo@gmail.com> wrote:

> Hi Roni,
>
> I agree that knowing ssrcs in the SDP is a burden, but it is not only
> related to FEC/RTX. IMHO that should be handled in Plan A/B/C/whatever
> discussions which I have to confess that have not been actively following.
>
> Best regards
> Sergio
>
> On 29/10/2014 16:14, Roni Even wrote:
>
>> Hi,
>> In the application token proposal we were trying to address two FEC
>> issues:
>>
>> 1. You assume that the SDP layer will know the SSRCs of the streams when
>> making an offer. This may be true for point to point call but there are
>> topologies (https://tools.ietf.org/html/draft-ietf-avtcore-rtp-
>> topologies-update-04) where the SSRCs may not be known to a Mixer who
>> projects incoming RTP streams as is. This was the reason for the
>> application token. (this is a general issue with other use cases when using
>> SSRC in SDP and bundle tried to address part of it for identifying the
>> received RTP streams using the SDP group mid values)
>>
>> 2. For this case instead of using ssrc-group we proposed appId-group and
>> define the mapping between an appId and the pt number to help identify the
>> relation in the SDP between the FEC streams and the source streams.
>>
>>
>> We had the feeling that the using the SSRC in SDP was causing multiple
>> issues and by using a token that does not have an RTP layer semantics we
>> can have a cleaner solution.
>>
>>
>> Roni
>>
>>  -----Original Message-----
>>> From: rtcweb [mailto:rtcweb-bounces@ietf.org] On Behalf Of Sergio Garcia
>>> Murillo
>>> Sent: 29 October, 2014 2:30 PM
>>> To: rtcweb@ietf.org
>>> Subject: Re: [rtcweb] SDP and ssrc-group,
>>>
>>>   From a formal perspective, I don't feel it is correct to describe the
>>> semantical
>>> meaning of an ssrc by referring to a payload.
>>>
>>> Best regards
>>> Sergio
>>> On 29/10/2014 8:48, Roni Even wrote:
>>>
>>>> Hi,
>>>> We discussed this mapping issue in a previous version of the
>>>> application token
>>>>
>>> draft http://tools.ietf.org/html/draft-even-mmusic-application-token-02
>>> example in section 1.
>>>
>>>> We thought of having a mapping from appId to "pt" (section 3.3.1) Roni
>>>>
>>>>  -----Original Message-----
>>>>> From: rtcweb [mailto:rtcweb-bounces@ietf.org] On Behalf Of I?aki Baz
>>>>> Castillo
>>>>> Sent: 21 October, 2014 7:26 PM
>>>>> To: rtcweb@ietf.org
>>>>> Subject: [rtcweb] SDP and ssrc-group,
>>>>>
>>>>> Hi,
>>>>>
>>>>> May I know which SSRC (345259865 or 2693756249) will be used for the
>>>>> real media stream (plus RED and FEC) and which SSRC will be used for
>>>>> RTX?
>>>>>
>>>>>
>>>>>
>>>>> --------------------------
>>>>> m=video 62164 RTP/SAVPF 100 116 117 96 a=mid:video
>>>>> a=rtpmap:100 VP8/90000
>>>>> a=rtpmap:116 red/90000
>>>>> a=rtpmap:117 ulpfec/90000
>>>>> a=rtpmap:96 rtx/90000
>>>>> a=fmtp:96 apt=100
>>>>> a=ssrc-group:FID 345259865 2693756249
>>>>> a=ssrc:345259865 cname:erS7E/KHLYKTejNs
>>>>> a=ssrc:345259865 msid:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>>> c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>>> a=ssrc:345259865 mslabel:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>>> a=ssrc:345259865 label:c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>>> a=ssrc:2693756249 cname:erS7E/KHLYKTejNs
>>>>> a=ssrc:2693756249 msid:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>>> c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>>> a=ssrc:2693756249 mslabel:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>>> a=ssrc:2693756249 label:c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>>> -------------------------------
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> RFC 5576 does not clarify it at all:
>>>>>
>>>>> http://tools.ietf.org/html/rfc5576#section-4.2
>>>>>
>>>>> --------------------------------------------------
>>>>> 4.2.  The "ssrc-group" Media Attribute
>>>>>
>>>>>      a=ssrc-group:<semantics> <ssrc-id> ...
>>>>>
>>>>>      [..]
>>>>>
>>>>>      The <semantics> parameter is taken from the specification of the
>>>>>      "group" attribute [RFC3388].  The initial semantic values defined
>>>>> for
>>>>>      the "ssrc-group" attribute are FID (Flow Identification) [RFC3388]
>>>>>      and FEC (Forward Error Correction) [RFC4756].  In each case, the
>>>>>      relationship among the grouped sources is the same as the
>>>>>      relationship among corresponding sources in media streams grouped
>>>>>      using the SDP "group" attribute.
>>>>> --------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>> The referenced RFC 3388 neither clarifies it:
>>>>>
>>>>> ---------------------------------------------------
>>>>> 7.4 FID Semantics
>>>>>
>>>>>      Several "m" lines grouped together using FID semantics form a
>>>>> media
>>>>>      flow.  A media agent handling a media flow that comprises several
>>>>> "m"
>>>>>      lines MUST send a copy of the media to every "m" line part of the
>>>>>      flow as long as the codecs and the direction attribute present in
>>>>> a
>>>>>      particular "m" line allow it.
>>>>>
>>>>>      It is assumed that the application uses only one codec at a time
>>>>> to
>>>>>      encode the media produced.  This codec MAY change dynamically
>>>>> during
>>>>>      the session, but at any particular moment only one codec is in
>>>>> use.
>>>>>
>>>>>      The application encodes the media using the current codec and
>>>>> checks
>>>>>      one by one all the "m" lines that are part of the flow.  If a
>>>>>      particular "m" line contains the codec being used and the
>>>>> direction
>>>>>      attribute is "sendonly" or "sendrecv", a copy of the encoded
>>>>> media is
>>>>>      sent to the address/port specified in that particular media
>>>>> stream.
>>>>>      If either the "m" line does not contain the codec being used or
>>>>> the
>>>>>      direction attribute is neither "sendonly" nor "sendrecv", nothing
>>>>> is
>>>>>      sent over this media stream.
>>>>> ----------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> So, how is the usage of ssrc-group? Where is it really defined?
>>>>>
>>>>> Can I put more than 2 ssrc together in the same ssrc-group line?
>>>>>
>>>>> How should the receiver interpret it?
>>>>>
>>>>> Does a ssrc-group always mean RTX usage? Where is that specified in the
>>>>> above SDP?
>>>>>
>>>>> Does not the above SDP look a complete mixture of hacks and
>>>>> workarounds?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -
>>>>>
>>>>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>