Network Working Group M. Boucadair Internet-Draft France Telecom Intended status: Informational June 26, 2013 Expires: December 28, 2013 PCP for IPv6-enabled SIP Deployments draft-boucadair-pcp-sip-ipv6-00 Abstract This document discusses how PCP can be used in IPv6-enabled SIP deployments. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on December 28, 2013. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Boucadair Expires December 28, 2013 [Page 1] Internet-Draft PCP & SIP June 2013 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. PCP Features . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Learn External IP Address and Port . . . . . . . . . . . 3 2.2. Allow Unidirectional Media Flows . . . . . . . . . . . . 3 2.3. Preserve Port Parity . . . . . . . . . . . . . . . . . . 4 2.4. Preserve Port Contiguity . . . . . . . . . . . . . . . . 4 2.5. Learn PREFIX64 . . . . . . . . . . . . . . . . . . . . . 4 2.6. Compliant with "a=rtcp" Attribute . . . . . . . . . . . . 4 2.7. DSCP Marking Policy . . . . . . . . . . . . . . . . . . . 4 3. Avoid Crossing CGNs . . . . . . . . . . . . . . . . . . . . . 4 3.1. Avoid NAT64 . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Avoid Crossing DS-Lite AFTR . . . . . . . . . . . . . . . 5 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 6.1. Normative References . . . . . . . . . . . . . . . . . . 5 6.2. Informative References . . . . . . . . . . . . . . . . . 5 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction The base PCP specification allows to retrieve the external IP address and external port to be conveyed in the SIP signaling messages [RFC3261]. Therefore SIP Proxy Servers do not need to support means to ease the NAT traversal of SIP messages (e.g., [RFC5626], [RFC6223], etc.). Another advantage of using the external IP address and port is this provides a hint to the proxy server there is no need to return a small expire timer (e.g., 60s). In addition, the outbound proxy does not need any further feature to be supported in order to assist the remote endpoint to successfully establish media sessions. In particular, ALGs are not required in the NAT for this purpose and no dedicated functions at the media gateway are needed. This document discusses how PCP can be used in IPv6-enabled SIP deployments. The benefits of using PCP for SIP deployments are listed below: o Avoid embedding an ALG in the middleboxes. Note, ALGs are not recommended since the evolution of the service would depend on the ALG maintenance. o Not require any Hosted NAT Traversal function (e.g., [I-D.ietf-mmusic-latching]) to be embedded in the SIP server. Intermediate NATs and firewalls are transparent to the SIP service platform. Boucadair Expires December 28, 2013 [Page 2] Internet-Draft PCP & SIP June 2013 o Avoid overloading the network with keepalive message to maintain the mapping in the middleboxe. o Not require symmetric RTP/RTCP to work. o Not require symmetric SIP to work (i.e., rport [RFC3581]). o Easily support unidirectional sessions. o No early media issues. o The combination of PCP and ALTC [RFC6947] allows to optimize IPv4-IPv6 interworking function resources. o Because there is no need for connectivity checks, session establishment delay is not impacted (pairs of ports can be pre- reserved). Experimentation results are documented in [I-D.boucadair-pcp-nat64-experiments]; no particular issue has been reported in that document. Even in deployments where ICE [RFC5245] is required, PCP can be of great help as discussed in [I-D.penno-rtcweb-pcp]. The document is targeting SIP deployments in managed networks. 2. PCP Features 2.1. Learn External IP Address and Port The PCP base specification allows to create mappings in PCP- controlled devices and therefore prepare for receiving incoming packets. A SIP User Agent can use PCP to create one mapping for SIP signalling messages and other mappings for media session purposes. The SIP UA uses the external IP address and port number to build SIP headers. In particular, this information is used to build the VIA and CONTACT headers. The external IP address and port(s) instantiated for media streams, are used to build the SDP offer/answer. In particular, the "c" line and "m" lines. 2.2. Allow Unidirectional Media Flows As a consequence of instantiating mappings for media/session flows, incoming packets can be successfully forwarded to the appropriate SIP Boucadair Expires December 28, 2013 [Page 3] Internet-Draft PCP & SIP June 2013 UA. Particularly, unidirectional media flows (e.g., announcement server) will be forwarded accordingly. 2.3. Preserve Port Parity For deployments relying on classic RTP/RTCP odd/even port numbers assignment scheme, PORT_SET option [I-D.ietf-pcp-port-set] can be use by a SIP UA to request port parity be preserved by the PCP Server. 2.4. Preserve Port Contiguity For deployments assuming RTCP port number can be deduced from the RTP port number, PORT_SET option [I-D.ietf-pcp-port-set] can be used by a SIP UA to retrieve a pair of contiguous ports from the PCP server. 2.5. Learn PREFIX64 If the SIP UA is located behind a NAT64 device [RFC6146], the option defined in [I-D.ietf-pcp-nat64-prefix64] can be used to retrieve the PREFIX64 used by that NAT64 device. The retrieved prefix will be used to locally build an IPv6-converted IPv4 address corresponding to the IPv4 address included in the SDP message received from a remote IPv4-only SIP UA in a SDP offer or answer. 2.6. Compliant with "a=rtcp" Attribute The base PCP specification can be used to retrieve the port number to be singled if "a=rtcp" attribute is in use [RFC3550]. 2.7. DSCP Marking Policy PCP can be used to discover the DSCP value to be used when sending real-time flows. This can be achieved using the DSCP option defined in [I-D.boucadair-pcp-extensions]. DSCP setting value is configured by the network and not the SIP UA. 3. Avoid Crossing CGNs 3.1. Avoid NAT64 Because an IPv6-only SIP UA is not aware of the connectivity capabilities of the remote UA, the IPv6-only SIP UA uses the ALTC attribute to signal the assigned IPv6 address and the IPv4 address learned via PCP. If the remote SIP UA is IPv6-enabled, IPv6 transfer capabilities will be used to place the session. If the remote SIP UA is IPv4-only, IPv4 transfer capabilities will be used. NAT64 devices will be crossed only if the remote UA is IPv4-only. Boucadair Expires December 28, 2013 [Page 4] Internet-Draft PCP & SIP June 2013 3.2. Avoid Crossing DS-Lite AFTR SIP UAs co-located with the B4 [RFC6333] or located behind the CPE can behave as dual-stack UAs: o Native IPv6 address is assigned locally. o The external IPv4 address and port is retrieved using PCP To avoid unnecessary invocation of AFTR resources, ALTC attribute is used to signal both IPv4 and IPv6 addresses. If the remote SIP UA is IPv6-enabled, IPv6 transfer capabilities will be used to place the session (i.e., the flows will avoid crossing the DS-Lite AFTR device). If the remote SIP UA is IPv4-only, IPv4 transfer capabilities will be used. AFTR devices will be crossed only if the remote UA is IPv4-only. 4. Security Considerations PCP-related security considerations are discussed in [RFC6887]. 5. IANA Considerations This document does not require any action from IANA. 6. References 6.1. Normative References [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003. [RFC3581] Rosenberg, J. and H. Schulzrinne, "An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing", RFC 3581, August 2003. [RFC6887] Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 2013. 6.2. Informative References Boucadair Expires December 28, 2013 [Page 5] Internet-Draft PCP & SIP June 2013 [I-D.boucadair-pcp-extensions] Boucadair, M., Penno, R., and D. Wing, "Some Extensions to Port Control Protocol (PCP)", draft-boucadair-pcp- extensions-03 (work in progress), April 2012. [I-D.boucadair-pcp-nat64-experiments] Abdesselam, M., Boucadair, M., Hasnaoui, A., and J. Queiroz, "PCP NAT64 Experiments", draft-boucadair-pcp- nat64-experiments-00 (work in progress), September 2012. [I-D.ietf-mmusic-latching] Ivov, E., Kaplan, H., and D. Wing, "Latching: Hosted NAT Traversal (HNT) for Media in Real-Time Communication", draft-ietf-mmusic-latching-02 (work in progress), June 2013. [I-D.ietf-pcp-nat64-prefix64] Boucadair, M., "Learning NAT64 PREFIX64s using PCP", draft-ietf-pcp-nat64-prefix64-03 (work in progress), June 2013. [I-D.ietf-pcp-port-set] Sun, Q., Boucadair, M., Sivakumar, S., Zhou, C., Tsou, T., and S. Perreault, "Port Control Protocol (PCP) Extension for Port Set Allocation", draft-ietf-pcp-port-set-01 (work in progress), May 2013. [I-D.penno-rtcweb-pcp] Penno, R., Reddy, T., Wing, D., and M. Boucadair, "PCP Considerations for WebRTC Usage", draft-penno-rtcweb- pcp-00 (work in progress), May 2013. [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols", RFC 5245, April 2010. [RFC5626] Jennings, C., Mahy, R., and F. Audet, "Managing Client- Initiated Connections in the Session Initiation Protocol (SIP)", RFC 5626, October 2009. [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers", RFC 6146, April 2011. [RFC6223] Holmberg, C., "Indication of Support for Keep-Alive", RFC 6223, April 2011. Boucadair Expires December 28, 2013 [Page 6] Internet-Draft PCP & SIP June 2013 [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- Stack Lite Broadband Deployments Following IPv4 Exhaustion", RFC 6333, August 2011. [RFC6947] Boucadair, M., Kaplan, H., Gilman, R., and S. Veikkolainen, "The Session Description Protocol (SDP) Alternate Connectivity (ALTC) Attribute", RFC 6947, May 2013. Author's Address Mohamed Boucadair France Telecom Rennes 35000 France Email: mohamed.boucadair@orange.com Boucadair Expires December 28, 2013 [Page 7]