draft-ietf-sipcore-sip-websocket-07.txt   draft-ietf-sipcore-sip-websocket-08.txt 
SIPCORE Working Group I. Baz Castillo SIPCORE Working Group I. Baz Castillo
Internet-Draft J. Millan Villegas Internet-Draft J. Millan Villegas
Updates: 3261 (if approved) Versatica Updates: 3261 (if approved) Versatica
Intended status: Standards Track V. Pascual Intended status: Standards Track V. Pascual
Expires: August 22, 2013 Acme Packet Expires: September 12, 2013 Acme Packet
February 18, 2013 March 11, 2013
The WebSocket Protocol as a Transport for the Session Initiation The WebSocket Protocol as a Transport for the Session Initiation
Protocol (SIP) Protocol (SIP)
draft-ietf-sipcore-sip-websocket-07 draft-ietf-sipcore-sip-websocket-08
Abstract Abstract
The WebSocket protocol enables two-way realtime communication between The WebSocket protocol enables two-way realtime communication between
clients and servers in web-based applications. This document clients and servers in web-based applications. This document
specifies a WebSocket sub-protocol as a reliable transport mechanism specifies a WebSocket sub-protocol as a reliable transport mechanism
between SIP (Session Initiation Protocol) entities to enable usage of between SIP (Session Initiation Protocol) entities to enable usage of
SIP in web-oriented deployments. This document normatively updates SIP in web-oriented deployments. This document normatively updates
RFC 3261. RFC 3261.
skipping to change at page 1, line 38 skipping to change at page 1, line 38
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 August 22, 2013. This Internet-Draft will expire on September 12, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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 37 skipping to change at page 2, line 37
7. Authentication . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Authentication . . . . . . . . . . . . . . . . . . . . . . . . 8
8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1. Registration . . . . . . . . . . . . . . . . . . . . . . . 9 8.1. Registration . . . . . . . . . . . . . . . . . . . . . . . 9
8.2. INVITE dialog through a proxy . . . . . . . . . . . . . . 11 8.2. INVITE dialog through a proxy . . . . . . . . . . . . . . 11
9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15
9.1. Secure WebSocket Connection . . . . . . . . . . . . . . . 15 9.1. Secure WebSocket Connection . . . . . . . . . . . . . . . 15
9.2. Usage of SIPS Scheme . . . . . . . . . . . . . . . . . . . 16 9.2. Usage of SIPS Scheme . . . . . . . . . . . . . . . . . . . 16
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
10.1. Registration of the WebSocket SIP Sub-Protocol . . . . . . 16 10.1. Registration of the WebSocket SIP Sub-Protocol . . . . . . 16
10.2. Registration of new NAPTR service field values . . . . . . 16 10.2. Registration of new NAPTR service field values . . . . . . 16
10.3. SIP/SIPS URI Parameters Sub-Registry . . . . . . . . . . . 16 10.3. SIP/SIPS URI Parameters Sub-Registry . . . . . . . . . . . 17
10.4. Header Fields Sub-Registry . . . . . . . . . . . . . . . . 17 10.4. Header Fields Sub-Registry . . . . . . . . . . . . . . . . 17
10.5. Header Field Parameters and Parameter Values 10.5. Header Field Parameters and Parameter Values
Sub-Registry . . . . . . . . . . . . . . . . . . . . . . . 17 Sub-Registry . . . . . . . . . . . . . . . . . . . . . . . 17
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 10.6. SIP Transport Sub-Registry . . . . . . . . . . . . . . . . 17
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
12.1. Normative References . . . . . . . . . . . . . . . . . . . 18 12.1. Normative References . . . . . . . . . . . . . . . . . . . 18
12.2. Informative References . . . . . . . . . . . . . . . . . . 18 12.2. Informative References . . . . . . . . . . . . . . . . . . 19
Appendix A. Implementation Guidelines . . . . . . . . . . . . . . 19 Appendix A. Implementation Guidelines . . . . . . . . . . . . . . 20
A.1. SIP WebSocket Client Considerations . . . . . . . . . . . 20 A.1. SIP WebSocket Client Considerations . . . . . . . . . . . 21
A.2. SIP WebSocket Server Considerations . . . . . . . . . . . 21 A.2. SIP WebSocket Server Considerations . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
The WebSocket [RFC6455] protocol enables message exchange between The WebSocket [RFC6455] protocol enables message exchange between
clients and servers on top of a persistent TCP connection (optionally clients and servers on top of a persistent TCP connection (optionally
secured with TLS [RFC5246]). The initial protocol handshake makes secured with TLS [RFC5246]). The initial protocol handshake makes
use of HTTP [RFC2616] semantics, allowing the WebSocket protocol to use of HTTP [RFC2616] semantics, allowing the WebSocket protocol to
reuse existing HTTP infrastructure. reuse existing HTTP infrastructure.
skipping to change at page 16, line 21 skipping to change at page 16, line 21
connections. connections.
9.2. Usage of SIPS Scheme 9.2. Usage of SIPS Scheme
The SIPS scheme in a SIP URI dictates that the entire request path to The SIPS scheme in a SIP URI dictates that the entire request path to
the target be secure. If such a path includes a WebSocket connection the target be secure. If such a path includes a WebSocket connection
it MUST be a secure WebSocket connection. it MUST be a secure WebSocket connection.
10. IANA Considerations 10. IANA Considerations
RFC Editor Note: Please set the RFC number assigned for this document
in the sub-sections below and remove this note.
10.1. Registration of the WebSocket SIP Sub-Protocol 10.1. Registration of the WebSocket SIP Sub-Protocol
This specification requests IANA to register the WebSocket SIP sub- This specification requests IANA to register the WebSocket SIP sub-
protocol under the "WebSocket Subprotocol Name" Registry with the protocol under the "WebSocket Subprotocol Name" Registry with the
following data: following data:
Subprotocol Identifier: sip Subprotocol Identifier: sip
Subprotocol Common Name: WebSocket Transport for SIP (Session Subprotocol Common Name: WebSocket Transport for SIP (Session
Initiation Protocol) Initiation Protocol)
skipping to change at page 17, line 30 skipping to change at page 17, line 36
This specification requests IANA to add a reference to this document This specification requests IANA to add a reference to this document
under the "Header Field Parameters and Parameter Values" Sub-Registry under the "Header Field Parameters and Parameter Values" Sub-Registry
within the "Session Initiation Protocol (SIP) Parameters" Registry: within the "Session Initiation Protocol (SIP) Parameters" Registry:
Predefined Predefined
Header Field Parameter Name Values Reference Header Field Parameter Name Values Reference
------------ -------------- ------ --------- ------------ -------------- ------ ---------
Via received No [RFC3261][TBD: this document] Via received No [RFC3261][TBD: this document]
10.6. SIP Transport Sub-Registry
This document adds a new registry, "SIP Transport", to the "Session
Initiation Protocol (SIP) Parameters" Registry. Its format and
initial values are as shown in the following table:
+------------+------------------------+
| Transport | Reference |
+------------+------------------------+
| UDP | [RFC 3261] |
| TCP | [RFC 3261] |
| TLS | [RFC 3261] |
| SCTP | [RFC 3261], [RFC 4168] |
| TLS-SCTP | [RFC 4168] |
| WS | [TBD: this document] |
| WSS | [TBD: this document] |
+------------+------------------------+
The policy for registration of values in this registry is "Standards
Action", as that term is defined by [RFC5226].
11. Acknowledgements 11. Acknowledgements
Special thanks to the following people who participated in Special thanks to the following people who participated in
discussions on the SIPCORE and RTCWEB WG mailing lists and discussions on the SIPCORE and RTCWEB WG mailing lists and
contributed ideas and/or provided detailed reviews (the list is contributed ideas and/or provided detailed reviews (the list is
likely to be incomplete): Hadriel Kaplan, Paul Kyzivat, Adam Roach, likely to be incomplete): Hadriel Kaplan, Paul Kyzivat, Robert
Ranjit Avasarala, Xavier Marjou, Nataraju A. B., Martin Vopatek, Sparks, Adam Roach, Ranjit Avasarala, Xavier Marjou, Nataraju A. B.,
Alexey Melnikov. Martin Vopatek, Alexey Melnikov, Alan Johnston, Christer Holmberg,
Salvatore Loreto, Kevin P. Fleming (complete grammatical review),
Special thanks to Alan Johnston, Christer Holmberg and Salvatore Saul Ibarra Corretge.
Loreto for their full reviews, and also to Saul Ibarra Corretge for
his contribution and suggestions.
Special thanks to Kevin P. Fleming for his complete grammatical
review along with suggestions, comments and improvements.
12. References 12. References
12.1. Normative References 12.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.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
skipping to change at page 18, line 22 skipping to change at page 18, line 38
June 2002. June 2002.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
Protocol (SIP): Locating SIP Servers", RFC 3263, Protocol (SIP): Locating SIP Servers", RFC 3263,
June 2002. June 2002.
[RFC3403] Mealling, M., "Dynamic Delegation Discovery System (DDDS) [RFC3403] Mealling, M., "Dynamic Delegation Discovery System (DDDS)
Part Three: The Domain Name System (DNS) Database", Part Three: The Domain Name System (DNS) Database",
RFC 3403, October 2002. RFC 3403, October 2002.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC6455] Fette, I. and A. Melnikov, "The WebSocket Protocol", [RFC6455] Fette, I. and A. Melnikov, "The WebSocket Protocol",
RFC 6455, December 2011. RFC 6455, December 2011.
12.2. Informative References 12.2. Informative References
[RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS [RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS
Names", BCP 32, RFC 2606, June 1999. Names", BCP 32, RFC 2606, June 1999.
 End of changes. 11 change blocks. 
19 lines changed or deleted 43 lines changed or added

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