Re: [AVTCORE] Query: Reporting SSRC when you send no streams?
Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 16 June 2015 14:47 UTC
Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B46B1B3A3D for <avt@ietfa.amsl.com>; Tue, 16 Jun 2015 07:47:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 yuMciOj0szBK for <avt@ietfa.amsl.com>; Tue, 16 Jun 2015 07:46:59 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7A47D1B2D7A for <avt@ietf.org>; Tue, 16 Jun 2015 07:46:58 -0700 (PDT)
X-AuditID: c1b4fb25-f79b66d000001131-d2-558036e0e2a4
Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.253.125]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 3A.D2.04401.0E630855; Tue, 16 Jun 2015 16:46:56 +0200 (CEST)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.80) with Microsoft SMTP Server id 14.3.210.2; Tue, 16 Jun 2015 16:46:56 +0200
Message-ID: <558036DF.2020807@ericsson.com>
Date: Tue, 16 Jun 2015 16:46:55 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: Harald Alvestrand <harald@alvestrand.no>, avt@ietf.org, pbos@google.com
References: <556C1EFB.8060005@alvestrand.no>
In-Reply-To: <556C1EFB.8060005@alvestrand.no>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrILMWRmVeSWpSXmKPExsUyM+Jvre4Ds4ZQgx/rDCxe9qxktzjW18Vm 8WbrMmYHZo8rE66weizYVOqxZMlPpgDmKC6blNSczLLUIn27BK6M7uObWQoOm1ZcX7WasYHx nkYXIyeHhICJxO7TXUwQtpjEhXvr2boYuTiEBI4ySsy/OJMFwlnOKHFoxRM2kCpeAW2JH82t YDaLgKrE9DUTWEFsNgELiZs/GsHiogJRElMfr2OBqBeUODnzCZgtIhAosWtdB1i9sICbxOb9 m8DqhQR0JFY0TQWLcwroSmx4NJu9i5GDg1nAXuLB1jKQMLOAvETz1tnMEOXaEg1NHawTGAVm IdkwC6FjFpKOBYzMqxhFi1OLk3LTjYz1Uosyk4uL8/P08lJLNjECw/Tglt+qOxgvv3E8xCjA wajEw5vwszZUiDWxrLgy9xCjNAeLkjjvjM15oUIC6YklqdmpqQWpRfFFpTmpxYcYmTg4pRoY XR5+rZ3gqOv3Q57zuyc305EbrvUcvXr7lk9rMxD95d9/a80HRebHmYw+ITnLJPaFT+ncuEN1 r/HFm9tTF/SctLzDMcXyZdU7hxMNQYIvlrkcvc2pdt12mn+WsPYx+daOPbx226Xl3t55uGLZ nBkZun0Hdv0vu3lkbt8vgd8qpiWFq9maXqrpKbEUZyQaajEXFScCABA27So0AgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/avt/GjhR__biZCulYN_jztOY1CixqCk>
Subject: Re: [AVTCORE] Query: Reporting SSRC when you send no streams?
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 Jun 2015 14:47:03 -0000
Hi,
This is an first draft on some possible text that could be to
RTP-multi-stream to discuss the raised issues. Please review and provide
feedback. I have not shown this to my co-authors prior either. We need
timely feedback on this so that we can improve it prior to the prague
cut-off. I think the most important questions are. Anything wrong, what
can we trim, and anything missing?
6. Adding and Removing SSRCs
The usage of multiple SSRCs will have the additional effect of making
it more likely to have dynamic changes in the set of SSRCs, both in
which SSRCs an endpoint has locally, as well as which the remote
endpoints uses. Changes in the set of SSRC an endpoint uses to send
RTP with are depending on the number of media sources and what
encodings is produced and their packetization into RTP streams. So
these choices affect the number of SSRCs an endpoint currently need
to have as participant in the RTP session. Some endpoints may need
to have a larger number of SSRCs than is currently being used for
sending media to ensure that it can rapidly start sending. This as
the receivers needs the associated context, e.g. clock
synchronization and SDES CNAME, to be in place when the RTP media
arrives.
There are several reasons for why one SSRC may need to be replaced by
another SSRC. Changes in how media sources are encoded can for
example result in the requirement of changing SSRC, see [RFC7160].
SSRC collisions are another where an endpoint is mandated to change
its SSRC.
The transmission of RTCP itself for reporting or feedback also needs
at least one SSRC. Thus, an endpoint will need to use at least one
SSRC even if it currently is in a receiving only mode of operation.
There exist some considerations if an endpoint changes from an mode
of receiving only to sending one or more RTP streams for which some
recommendations can benefit the community.
6.1. Adding RTP Streams
When an endpoint joins an RTP session it can have no, one or more RTP
streams it will or at least is prepared to send. If it has no RTP
stream it plans to send with it needs to still generate one SSRC to
be used for feedback. If it has one or more RTP streams it will need
the corresponding number of SSRC values. The used SSRCs are on RTP
level made known in the RTP session simply by sending RTP and RTCP
according to the existing rules, such as the rules for sending
initial RTCP packets that is clarified in Section 5.2. The endpoint
can at any point determine the need for adding an additional RTP
stream to the RTP session. At that point the endpoint generates the
required number of new SSRCs and commence using it. This, document
does not discuss any signalling outside of RTP/RTCP that may be
required due to such an action.
An endpoint that sent no RTP streams and then determine the need to
send one or more RTP stream is RECOMMENDED to use the existing SSRC
for one of these RTP streams. The reason is that otherwise the
participant count in the RTP session will be unnecessary increased.
The participant count will effect the RTCP transmission interval,
both directly by dividing the RTCP bandwidth between additional
sources, but also cause additional cross reporting requirements.
Thus, using an SSRC that so far in the RTP session being only used
for sending RTCP, and associate it with an RTP stream has no known
issues. That will result in that the SSRC becomes associated with a
particular media type and an RTP timestamp rate from the used payload
type.
When adding an RTP stream one can however not re-purpose an existing
SSRC in many cases, instead one have to add a new SSRC value. An
SSRC that an endpoint no longer has any usage for can instead be
removed from the session. An existing SSRC can't have its media type
be changed, nor its RTP timestamp rate per [RFC7160]. One also needs
to consider what existing bindings that exist to that SSRC in the
applications and what the RTP stream is used for. Only if all
information in the context that exist bound to the SSRC value matches
the new one can one reuse an SSRC.
6.2. Removing RTP Streams
An SSRC is removed from an RTP session in one of two ways. If no RTP
or RTCP packets are sent with the SSRC value as source it will time
out. However, it is RECOMMENDED to be explicit about when one
removes an SSRC from usage in an RTP session and send an RTCP BYE
[RFC3550]. Note, that per RFC3550 the RTCP BYE SHOULD be the last
RTP/RTCP packet sent in the RTP session for that SSRC at all. After
having sent RTCP BYE, if an endpoint needs to send that RTP stream
again, it needs to generate a new SSRC value as this is now a new
stream.
The finality of sending RTCP BYE, means that endpoints needs to
consider if the ceasing of transmission of an RTP stream is temporary
or more permanent. Temporary suspension of media transmission using
a particular RTP stream (SSRC) should maintain that SSRC as an active
participant, by continuing RTCP transmission for it. That way the
media sending can be resume immediately, knowing that the context is
in place. Permanent transmission halting should however, send RTCP
BYE to allow the other participants to use the RTCP bandwidth
resources and clean up their state databases.
When ceasing transmission of RTP streams permanently and intending to
send RTCP BYE for the streams the endpoint that still will be
participant in the RTP session needs to keep at least one SSRC in the
RTP session to be used for RTCP reporting and feedback packets. As
some Feedback packets may be bound to media type there might be need
to maintain one SSRC per media type within an RTP session. An
alternative can be to create a new SSRC to use for RTCP reporting and
feedback. However, to avoid the perception that an endpoint drops
completely out of an RTP session such a new SSRC is recommended to be
first established before terminating the existing SSRCs.
Cheers
Magnus Westerlund
----------------------------------------------------------------------
Services, Media and Network features, Ericsson Research EAB/TXM
----------------------------------------------------------------------
Ericsson AB | Phone +46 10 7148287
Färögatan 6 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------
- [AVTCORE] Query: Reporting SSRC when you send no … Harald Alvestrand
- Re: [AVTCORE] Query: Reporting SSRC when you send… Magnus Westerlund
- Re: [AVTCORE] Query: Reporting SSRC when you send… Harald Alvestrand
- Re: [AVTCORE] Query: Reporting SSRC when you send… Simon Perreault
- Re: [AVTCORE] Query: Reporting SSRC when you send… Simon Perreault
- Re: [AVTCORE] Query: Reporting SSRC when you send… Magnus Westerlund
- Re: [AVTCORE] Query: Reporting SSRC when you send… Simon Perreault
- Re: [AVTCORE] Query: Reporting SSRC when you send… Magnus Westerlund
- Re: [AVTCORE] Query: Reporting SSRC when you send… Simon Perreault
- Re: [AVTCORE] Query: Reporting SSRC when you send… Harald Alvestrand
- Re: [AVTCORE] Query: Reporting SSRC when you send… Simon Perreault
- Re: [AVTCORE] Query: Reporting SSRC when you send… Magnus Westerlund