draft-ietf-straw-b2bua-rtcp-04.txt   draft-ietf-straw-b2bua-rtcp-05.txt 
STRAW Working Group L. Miniero STRAW Working Group L. Miniero
Internet-Draft Meetecho Internet-Draft Meetecho
Intended status: Standards Track S. Garcia Murillo Intended status: Standards Track S. Garcia Murillo
Expires: September 10, 2015 Medooze Expires: September 25, 2015 Medooze
V. Pascual V. Pascual
Quobis Quobis
March 9, 2015 March 24, 2015
Guidelines to support RTCP end-to-end in Back-to-Back User Agents Guidelines to support RTCP end-to-end in Back-to-Back User Agents
(B2BUAs) (B2BUAs)
draft-ietf-straw-b2bua-rtcp-04 draft-ietf-straw-b2bua-rtcp-05
Abstract Abstract
SIP Back-to-Back User Agents (B2BUAs) are often envisaged to also be SIP Back-to-Back User Agents (B2BUAs) are often envisaged to also be
on the media path, rather than just intercepting signalling. This on the media path, rather than just intercepting signalling. This
means that B2BUAs often implement an RTP/RTCP stack as well, whether means that B2BUAs often implement an RTP/RTCP stack as well, whether
to act as media transcoders or to just passthrough the media to act as media transcoders or to just passthrough the media
themselves, thus leading to separate multimedia sessions that the themselves, thus leading to separate multimedia sessions that the
B2BUA correlates and bridges together. If not disciplined, though, B2BUA correlates and bridges together. If not disciplined, though,
this behaviour can severely impact the communication experience, this behaviour can severely impact the communication experience,
skipping to change at page 1, line 46 skipping to change at page 1, line 46
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 10, 2015. This Internet-Draft will expire on September 25, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 32 skipping to change at page 2, line 32
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Signalling/Media Plane B2BUAs . . . . . . . . . . . . . . . . 5 3. Signalling/Media Plane B2BUAs . . . . . . . . . . . . . . . . 5
3.1. Media Relay . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Media Relay . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Media-aware Relay . . . . . . . . . . . . . . . . . . . . 6 3.2. Media-aware Relay . . . . . . . . . . . . . . . . . . . . 6
3.3. Media Terminator . . . . . . . . . . . . . . . . . . . . 10 3.3. Media Terminator . . . . . . . . . . . . . . . . . . . . 10
4. Media Path Security . . . . . . . . . . . . . . . . . . . . . 11 4. Media Path Security . . . . . . . . . . . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12
7. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 12 7. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 12
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . 14 9.1. Normative References . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . 14 9.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
Session Initiation Protocol [RFC3261] Back-to-Back User Agents Session Initiation Protocol [RFC3261] Back-to-Back User Agents
(B2BUAs) are SIP entities that can act as a logical combination of (B2BUAs) are SIP entities that can act as a logical combination of
both a User Agent Server (UAS) and a User Agent Client (UAC). As both a User Agent Server (UAS) and a User Agent Client (UAC). As
skipping to change at page 4, line 12 skipping to change at page 4, line 12
timestamps, etc.). In particular, whenever Alice sends an audio RTP timestamps, etc.). In particular, whenever Alice sends an audio RTP
packet, she sets her SSRC (SSRC1) to the RTP header of her RTP source packet, she sets her SSRC (SSRC1) to the RTP header of her RTP source
stream; the B2BUA rewrites the SSRC (SSRC3) before relaying the stream; the B2BUA rewrites the SSRC (SSRC3) before relaying the
packet to Bob. At the same time, RTP packets sent by Bob (SSRC4) get packet to Bob. At the same time, RTP packets sent by Bob (SSRC4) get
their SSRC rewritten as well (SSRC2) before being relayed to Alice. their SSRC rewritten as well (SSRC2) before being relayed to Alice.
Assuming now that Alice needs to inform Bob she has lost several Assuming now that Alice needs to inform Bob she has lost several
audio packets in the last few seconds, maybe because of a network audio packets in the last few seconds, maybe because of a network
congestion, she would of course place the related received RTP stream congestion, she would of course place the related received RTP stream
SSRC she is aware of (SSRC2), together with her own (SSRC1), in RTCP SSRC she is aware of (SSRC2), together with her own (SSRC1), in RTCP
Reports and/or NACKS to do so, hoping for a retransmission or for Bob Reports and/or NACKS to do so, hoping for a retransmission [RFC4588]
to slow down. Since the B2BUA is making use of different SSRCs for or for Bob to slow down. Since the B2BUA is making use of different
the RTP streams in the RTP session it established with each SSRCs for the RTP streams in the RTP session it established with each
participant, a blind relaying of the RTCP packets to Bob would in participant, a blind relaying of the RTCP packets to Bob would in
this case result, from Bob's perspective, in unknown SSRCs being this case result, from Bob's perspective, in unknown SSRCs being
addressed, thus resulting in the precious information being dropped. addressed, thus resulting in the precious information being dropped.
In fact, Bob is only aware of SSRCs SSRC4 (the one his source RTP In fact, Bob is only aware of SSRCs SSRC4 (the one his source RTP
stream uses) and SSRC3 (the one he's receiving from the B2BUA in the stream uses) and SSRC3 (the one he's receiving from the B2BUA in the
received RTP stream), and knows nothing about SSRCs SSRC1 and SSRC2 received RTP stream), and knows nothing about SSRCs SSRC1 and SSRC2
in the RTCP packets he would receive instead. As a consequence of in the RTCP packets he would receive instead. As a consequence of
the feedback being dropped, unaware of the issue Bob may continue to the feedback being dropped, unaware of the issue Bob may continue to
flood Alice with even more media packets and/or not retransmit Alice flood Alice with even more media packets and/or not retransmit Alice
the packets she missed, which may easily lead to a very bad the packets she missed, which may easily lead to a very bad
skipping to change at page 8, line 40 skipping to change at page 8, line 40
each sender participant, and the Requesting Client SSRC in case each sender participant, and the Requesting Client SSRC in case
the message is a response, which MUST be rewritten using the the message is a response, which MUST be rewritten using the
related sender participant(s) SSRC. related sender participant(s) SSRC.
Feedback messages: [RFC4585] Feedback messages: [RFC4585]
All Feedback messages have a common packet format, which includes All Feedback messages have a common packet format, which includes
the SSRC of the packet sender and the one of the media source the the SSRC of the packet sender and the one of the media source the
feedack is related to. Just as described for the previous feedack is related to. Just as described for the previous
messages, these SSRC identifiers MUST be updated if the B2BUA has messages, these SSRC identifiers MUST be updated if the B2BUA has
changed any SSRC in any direction. It MUST NOT, though, change a changed any SSRC in any direction. It MUST NOT, though, change a
media source SSRC that was originally set to zero. Besides, media source SSRC that was originally set to zero, unless zero is
considering that many feedback messages also include additional actually the SSRC that was chosen by one of the involved
data as part of their specific Feedback Control Information (FCI), endpoints, in which case the above mentioned rules as to SSRC
a media-aware B2BUA MUST take care of them accordingly, if it can rewriting apply. Besides, considering that many feedback messages
parse and regenerate them, according to the following guidelines. also include additional data as part of their specific Feedback
Control Information (FCI), a media-aware B2BUA MUST take care of
them accordingly, if it can parse and regenerate them, according
to the following guidelines.
NACK: [RFC4585] NACK: [RFC4585]
Besides the common packet format management for feedback messages, Besides the common packet format management for feedback messages,
a media-aware B2BUA MUST also properly rewrite the Packet ID (PID) a media-aware B2BUA MUST also properly rewrite the Packet ID (PID)
of all addressed lost packets in the NACK FCI if it changed the of all addressed lost packets in the NACK FCI if it changed the
RTP sequence numbers before forwarding a packet. RTP sequence numbers before forwarding a packet.
TMMBR/TMMBN/FIR/TSTR/TSTN/VBCM: [RFC5104] TMMBR/TMMBN/FIR/TSTR/TSTN/VBCM: [RFC5104]
Besides the common packet format management for feedback messages, Besides the common packet format management for feedback messages,
a media-aware B2BUA MUST also properly rewrite the additional SSRC a media-aware B2BUA MUST also properly rewrite the additional SSRC
skipping to change at page 12, line 41 skipping to change at page 12, line 43
for a user, may lead to missing information to its peer, who may end for a user, may lead to missing information to its peer, who may end
up increasing the encoder bitrate up to a point where the user with up increasing the encoder bitrate up to a point where the user with
poor connectivity will inevitably be choked by an amount of data it poor connectivity will inevitably be choked by an amount of data it
cannot process. This scenario may as such result in what looks like cannot process. This scenario may as such result in what looks like
a Denial of Service (DOS) attack towards the user. a Denial of Service (DOS) attack towards the user.
7. Change Summary 7. Change Summary
Note to RFC Editor: Please remove this whole section. Note to RFC Editor: Please remove this whole section.
The following are the major changes between the 04 and the 05
versions of the draft:
o Clarified behaviour when SSRC is zero.
o Fixed a couple of nits found by the Idnits tool.
The following are the major changes between the 03 and the 04 The following are the major changes between the 03 and the 04
versions of the draft: versions of the draft:
o Addressed review by Magnus Westerlund. o Addressed review by Magnus Westerlund.
o Added guidelines for ECN RTCP messages. o Added guidelines for ECN RTCP messages.
o Clarified that if an RTCP packet is dropped because unsupported, o Clarified that if an RTCP packet is dropped because unsupported,
only the unsupported packet is dropped and not the compound packet only the unsupported packet is dropped and not the compound packet
that contains it. that contains it.
skipping to change at page 13, line 47 skipping to change at page 14, line 7
discussion in London. discussion in London.
o Added more RTCP packet types to the Media-Aware section. o Added more RTCP packet types to the Media-Aware section.
o Clarified that fixing the 'rtcp' SDP attribute is important. o Clarified that fixing the 'rtcp' SDP attribute is important.
o Added a new section on the impact of media security. o Added a new section on the impact of media security.
8. Acknowledgements 8. Acknowledgements
TBD. The authors would like to thank Flavio Battimo and Pierluigi Palma
for their invaluable feedback in the early stages of the document.
The authors would also like to thank Colin Perkins, Bernard Aboba,
Albrecht Schwarz, Hadriel Kaplan, Keith Drage, Jonathan Lennox,
Stephen Farrell and Magnus Westerlund for their constructive
comments, suggestions, and reviews that were critical to the
formulation and refinement of this document.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
skipping to change at page 14, line 28 skipping to change at page 14, line 38
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, June with Session Description Protocol (SDP)", RFC 3264, June
2002. 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003. Applications", STD 64, RFC 3550, July 2003.
9.2. Informative References
[RFC7092] Kaplan, H. and V. Pascual, "A Taxonomy of Session [RFC7092] Kaplan, H. and V. Pascual, "A Taxonomy of Session
Initiation Protocol (SIP) Back-to-Back User Agents", RFC Initiation Protocol (SIP) Back-to-Back User Agents", RFC
7092, December 2013. 7092, December 2013.
9.2. Informative References
[RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117, [RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
January 2008. January 2008.
[I-D.ietf-avtcore-rtp-topologies-update] [I-D.ietf-avtcore-rtp-topologies-update]
Westerlund, M. and S. Wenger, "RTP Topologies", draft- Westerlund, M. and S. Wenger, "RTP Topologies", draft-
ietf-avtcore-rtp-topologies-update-06 (work in progress), ietf-avtcore-rtp-topologies-update-06 (work in progress),
March 2015. March 2015.
[I-D.ietf-avtext-rtp-grouping-taxonomy] [I-D.ietf-avtext-rtp-grouping-taxonomy]
Lennox, J., Gross, K., Nandakumar, S., and G. Salgueiro, Lennox, J., Gross, K., Nandakumar, S., and G. Salgueiro,
 End of changes. 11 change blocks. 
16 lines changed or deleted 32 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/