summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3319.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3319.txt')
-rw-r--r--doc/rfc/rfc3319.txt395
1 files changed, 395 insertions, 0 deletions
diff --git a/doc/rfc/rfc3319.txt b/doc/rfc/rfc3319.txt
new file mode 100644
index 0000000..78d5270
--- /dev/null
+++ b/doc/rfc/rfc3319.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group H. Schulzrinne
+Request for Comments: 3319 Columbia University
+Category: Standards Track B. Volz
+ Ericsson
+ July 2003
+
+
+ Dynamic Host Configuration Protocol (DHCPv6) Options
+ for Session Initiation Protocol (SIP) Servers
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+Abstract
+
+ This document defines a Dynamic Host Configuration Protocol version 6
+ (DHCPv6) option that contains a list of domain names or IPv6
+ addresses that can be mapped to one or more Session Initiation
+ Protocol (SIP) outbound proxy servers. This is one of the many
+ methods that a SIP client can use to obtain the addresses of such a
+ local SIP server.
+
+1. Terminology
+
+ This document uses the DHCP terminology defined in [1].
+
+ A SIP server is defined in RFC 3261 [2]. This server MUST be an
+ outbound proxy server, as defined in [3]. In the context of this
+ document, a SIP server refers to the host the outbound SIP proxy
+ server is running on.
+
+ A SIP client is defined in RFC 3261 [2]. The client can be a user
+ agent client or the client portion of a proxy server. In the context
+ of this document, a SIP client refers to the host the SIP client is
+ running on.
+
+
+
+
+
+
+
+Schulzrinne & Volz Standards Track [Page 1]
+
+RFC 3319 DHCPv6 Options for SIP Servers July 2003
+
+
+ In this document, the key words "MUST", "MUST NOT", "REQUIRED",
+ "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
+ and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119
+ [4].
+
+2. Introduction
+
+ The Session Initiation Protocol (SIP) [2] is an application-layer
+ control protocol that can establish, modify and terminate multimedia
+ sessions or calls. A SIP system has a number of logical components:
+ user agents, proxy servers, redirect servers and registrars. User
+ agents MAY contain SIP clients, proxy servers always do.
+
+ This document specifies two DHCPv6 options [1] that allow SIP clients
+ to locate a local SIP server that is to be used for all outbound SIP
+ requests, a so-called outbound proxy server. (SIP clients MAY
+ contact the address identified in the SIP URL directly, without
+ involving a local SIP server. However in some circumstances, such as
+ when firewalls are present, or local dialing plans, local emergency
+ and other services need to be provided, SIP clients need to use a
+ local server for outbound requests.) This is one of many possible
+ solutions for locating the outbound SIP server; manual configuration
+ is an example of another.
+
+3. SIP Server DHCPv6 Option
+
+ This document defines two DHCPv6 options that describe a local
+ outbound SIP proxy: one carries a list of domain names (Section 3.1),
+ the other a list of 128-bit (binary) IPv6 addresses (Section 3.2).
+
+ Since DHCPv6 does not suffer from a shortage of option codes, we
+ avoid the encoding byte found in the IPv4 DHCP option for SIP
+ servers [6]. This makes the option shorter, easier to parse,
+ simplifies appropriate word alignment for the numeric addresses
+ and allows the client to request either numeric or domain name
+ options using the "option request option".
+
+ An implementation implementing this specification MUST support both
+ options.
+
+3.1 SIP Servers Domain Name List
+
+ The option length is followed by a sequence of labels, encoded
+ according to Section 3.1 of RFC 1035 [5], quoted below:
+
+ "Domain names in messages are expressed in terms of a sequence of
+ labels. Each label is represented as a one octet length field
+ followed by that number of octets. Since every domain name ends
+
+
+
+Schulzrinne & Volz Standards Track [Page 2]
+
+RFC 3319 DHCPv6 Options for SIP Servers July 2003
+
+
+ with the null label of the root, a domain name is terminated by a
+ length byte of zero. The high order two bits of every length
+ octet must be zero, and the remaining six bits of the length field
+ limit the label to 63 octets or less. To simplify
+ implementations, the total length of a domain name (i.e., label
+ octets and label length octets) is restricted to 255 octets or
+ less."
+
+ RFC 1035 encoding was chosen to accommodate future
+ internationalized domain name mechanisms.
+
+ The option MAY contain multiple domain names, but these SHOULD refer
+ to different NAPTR records, rather than different A records. The
+ client MUST try the records in the order listed, applying the
+ mechanism described in Section 4.1 of RFC 3263 [3] for each. The
+ client only resolves the subsequent domain names if attempts to
+ contact the first one failed or yielded no common transport protocols
+ between client and server or denote a domain administratively
+ prohibited by client policy. Domain names MUST be listed in order of
+ preference.
+
+ Use of multiple domain names is not meant to replace NAPTR or SRV
+ records, but rather to allow a single DHCP server to indicate
+ outbound proxy servers operated by multiple providers.
+
+ The DHCPv6 option has the format shown in Fig. 1.
+
+ option-code: OPTION_SIP_SERVER_D (21)
+
+ option-length: Length of the 'SIP Server Domain Name List' field
+ in octets; variable.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | OPTION_SIP_SERVER_D | option-length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SIP Server Domain Name List |
+ | ... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 1: DHCPv6 option for SIP Server Domain Name List
+
+ SIP Server Domain Name List: The domain names of the SIP outbound
+ proxy servers for the client to use. The domain names are encoded
+ as specified in Section 8 ("Representation and use of domain
+ names") of the DHCPv6 specification [1].
+
+
+
+
+Schulzrinne & Volz Standards Track [Page 3]
+
+RFC 3319 DHCPv6 Options for SIP Servers July 2003
+
+
+3.2 SIP Servers IPv6 Address List
+
+ This option specifies a list of IPv6 addresses indicating SIP
+ outbound proxy servers available to the client. Servers MUST be
+ listed in order of preference.
+
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | OPTION_SIP_SERVER_A | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ | SIP server (IP address) |
+ | |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ | SIP server (IP address) |
+ | |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code: OPTION_SIP_SERVER_A (22)
+
+ option-length: Length of the 'options' field in octets; must be a
+ multiple of 16.
+
+ SIP server: IPv6 address of a SIP server for the client to use.
+ The servers are listed in the order of preference for
+ use by the client.
+
+4. Client Operation
+
+ A client may request either or both of the SIP Servers Domain Name
+ List and SIP Servers IPv6 Address List options in an Options Request
+ Option (ORO) as described in [1],
+
+ If a client receives both the SIP Servers Domain Name List and SIP
+ Servers IPv6 Address List options, it SHOULD use the SIP Servers
+ Domain Name List option. Only if no server in the SIP Servers Domain
+ Name List can be resolved or reached, the client MAY use the SIP
+ Servers IPv6 Address List option.
+
+
+
+
+
+
+
+
+Schulzrinne & Volz Standards Track [Page 4]
+
+RFC 3319 DHCPv6 Options for SIP Servers July 2003
+
+
+5. Server Operation
+
+ A server MAY send a client one or both of the SIP Servers Domain Name
+ List and SIP Servers IPv6 Address List options.
+
+ If a client requests both options and the server is configured for
+ both, the server MAY send a client only one of these options and
+ SHOULD send the SIP Servers Domain Name List.
+
+ A server configured with the SIP Servers IPv6 Address List option
+ MUST send a client the SIP Servers IPv6 Address List option if that
+ client requested the SIP Servers IPv6 Address List option and not the
+ SIP Servers Domain Name List option in an ORO (see [1]).
+
+ The following table summarizes the server's response:
+
+ Client sends in ORO Domain Name List IPv6 Address List
+ __________________________________________________________________
+ Neither option SHOULD MAY
+ SIP Servers Domain Name List SHOULD MAY
+ SIP Servers IPv6 Address List MAY MUST
+ Both options SHOULD MAY
+
+6. Security Consideration
+
+ The security considerations in RFC 3315 [1], RFC 3261 [2] and RFC
+ 3263 [3] apply. If an adversary manages to modify the response from
+ a DHCP server or insert its own response, a SIP user agent could be
+ led to contact a rogue SIP server, possibly one that then intercepts
+ call requests or denies service. A modified DHCP answer could also
+ omit host names that translated to TLS-based SIP servers, thus
+ facilitating intercept.
+
+7. IANA Considerations
+
+ The IANA has assigned a DHCPv6 option number of 21 for the "SIP
+ Servers Domain Name List" and the DHCPv6 option number of 22 for the
+ "SIP Servers IPv6 Address List" defined in this document.
+
+8. Acknowledgements
+
+ Erik Nordmark and Alex Zinin provided helpful comments.
+
+
+
+
+
+
+
+
+
+Schulzrinne & Volz Standards Track [Page 5]
+
+RFC 3319 DHCPv6 Options for SIP Servers July 2003
+
+
+9. Normative References
+
+ [1] Droms, R., Editor, Bounds, J., Volz, B., Lemon, T., Perkins, C.
+ and M. Carney, "Dynamic Host Configuration Protocol for IPv6
+ (DHCPv6)", RFC 3315, July 2003.
+
+ [2] 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.
+
+ [3] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
+ (SIP): Locating SIP Servers", RFC 3263, June 2002.
+
+ [4] Bradner, S., "Key words for use in RFCs to indicate requirement
+ levels", BCP 14, RFC 2119, March 1997.
+
+ [5] Mockapetris, P., "Domain names - implementation and
+ specification", STD 13, RFC 1035, November 1987.
+
+10. Informative References
+
+ [6] Schulzrinne, H., "Dynamic Host Configuration Protocol (DHCP-for-
+ IPv4) Option for Session Initiation Protocol (SIP) Servers," RFC
+ 3361, August 2002.
+
+11. Authors' Addresses
+
+ Henning Schulzrinne
+ Department of Computer Science
+ Columbia University
+ 1214 Amsterdam Avenue, MC 0401
+ New York, NY 10027
+ USA
+
+ EMail: schulzrinne@cs.columbia.edu
+
+
+ Bernie Volz
+ 116 Hawkins Pond Road
+ Center Harbor, NH 03226-3103
+ USA
+
+ EMail: volz@metrocast.net
+
+
+
+
+
+
+
+
+Schulzrinne & Volz Standards Track [Page 6]
+
+RFC 3319 DHCPv6 Options for SIP Servers July 2003
+
+
+12. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schulzrinne & Volz Standards Track [Page 7]
+