draft-ietf-sip-dhcp-04.txt   draft-ietf-sip-dhcp-05.txt 
Internet Engineering Task Force SIP WG Internet Engineering Task Force SIP WG
Internet Draft H.Schulzrinne, G.Nair Internet Draft H.Schulzrinne
draft-ietf-sip-dhcp-04.txt Columbia University draft-ietf-sip-dhcp-05.txt Columbia University
March 24, 2001 November 21, 2001
Expires: September 2001 Expires: May 2002
DHCP Option for SIP Servers DHCP Option for SIP Servers
STATUS OF THIS MEMO STATUS OF THIS MEMO
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
material or to cite them other than as "work in progress". material or to cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
To view the list Internet-Draft Shadow Directories, see To view the list Internet-Draft Shadow Directories, see
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This document defines a DHCP option that contains a single name that This document defines a DHCP option that contains a single name or
can be mapped to one or more SIP outbound proxy servers. This is one IPv4 address that can be mapped to one or more SIP outbound proxy
of the many methods that a SIP client can use to obtain the addresses servers. This is one of the many methods that a SIP client can use
of such a local SIP server. to obtain the addresses of such a local SIP server.
1 Terminology 1 Terminology
DHCP client: A DHCP [1] client is an Internet host that uses DHCP client: A DHCP [1] client is an Internet host that uses
DHCP to obtain configuration parameters such as a network DHCP to obtain configuration parameters such as a network
address. address.
DHCP server: A DHCP server is an Internet host that returns DHCP server: A DHCP server is an Internet host that returns
configuration parameters to DHCP clients. configuration parameters to DHCP clients.
skipping to change at page 2, line 38 skipping to change at page 2, line 38
locate a local SIP server that is to be used for all outbound SIP 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 requests, a so-called outbound proxy server. (SIP clients MAY contact
the address identified in the SIP URL directly, without involving a the address identified in the SIP URL directly, without involving a
local SIP server. However in some circumstances, when firewalls are local SIP server. However in some circumstances, when firewalls are
present, SIP clients need to use a local server for outbound present, SIP clients need to use a local server for outbound
requests.) This is one of many possible solutions for locating the requests.) This is one of many possible solutions for locating the
outbound SIP server; manual configuration is an example of another. outbound SIP server; manual configuration is an example of another.
3 SIP Server DHCP Option 3 SIP Server DHCP Option
The SIP server DHCP option carries a DNS (RFC 1035 [6]) fully- The SIP server DHCP option carries either a 32-bit (binary) IPv4
qualified domain name to be used by the SIP client to locate a SIP address or, preferably, a DNS (RFC 1035 [6]) fully-qualified domain
server. The FQDN is 16-bit Unicode text encoded into an octet stream name to be used by the SIP client to locate a SIP server.
using UTF-8 (RFC 2044 [7]). The FQDN in the SIP server option MUST
NOT be null-terminated. It MUST NOT end with a period.
A SIP client obtains a FQDN through the SIP server option, which the The option has two encodings, specified by the encoding byte ('enc')
client then uses to locate the outbound proxy server by the mechanism that follows the code byte. If the encoding byte has the value 0, it
described in RFC XXXX [3]. In summary, the FQDN is used first in a is followed by a list of domain names, as described below (Section
DNS SRV lookup and, if that fails because of a lack of matching DNS 3.1). If the encoding byte has the value 1, it is followed by one or
SRV records, the FQDN is used in an address record lookup. Normative more IPv4 addresses (Section 3.2). All implementations MUST support
details are contained in RFC XXXX [3]. both encodings. The 'Len' field indicates the total number of octets
in the option following the 'Len' field, including the encoding byte.
It is possible, but NOT RECOMMENDED that the string is the textual The code for this option is TBD.
representation of a network address, e.g., a "dotted quad" for IPv4
and the hexadecimal representation of RFC 2373 [8]. Implementations
MUST detect this case by checking whether all characters are decimal
digits or periods.
The code for this option is TBD. The length of the DNS name string is 3.1 Domain Name List
specified in `Len'. The maximum length of this string is 255 octets If the 'enc' byte has a value of 0, the encoding byte is followed by
and minimum length is 1 octet. For example, a value may be a sequence of labels, encoded according to Section 3.1 of RFC 1035
"sip.example.com". [6], quoted below:
Code Len DNS name of SIP server Domain names in messages are expressed in terms of a
+-----+-----+-----+-----+-----+-----+-----+-- sequence of labels. Each label is represented as a one
| TBD | n | s1 | s2 | s3 | s4 | s5 | ... octet length field followed by that number of octets. Since
+-----+-----+-----+-----+-----+-----+-----+-- every domain name ends 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 accomodate future
internationalized domain name mechanisms.
The minimum length for this encoding is 3.
The option MAY contain multiple domain names, but these SHOULD refer
to different SRV records, rather than different A records. Domain
names SHOULD be listed in order of preference.
A SIP client obtains a domain name through the DHCP SIP server
option, which the client then uses to locate the outbound proxy
server by the mechanism described in RFC XXXX [3]. In summary, the
domain name is used first in a DNS SRV lookup and, if that fails
because of a lack of matching DNS SRV records, the domain name is
used in an address record lookup. Normative details are contained in
RFC XXXX [3].
Use of multiple domain names is not meant to replace SRV
records, but rather to allow a single DHCP server to
indicate outbound proxy servers operated by multiple
providers.
An encoding according to section 4.1.4 of "Domain Names -
Implementation And Specification" [6] does not seem
appropriate here, since the domain names are supposed to be
different domains, so that compression will have little
effect.
If the length of the domain list exceeds the maximum permissible
within a single option (254 octets), then the domain list must be
represented in the DHCP message as specified in "Encoding Long DHCP
Options".
The DHCP option for this encoding has the following format:
Code Len enc DNS name of SIP server
+-----+-----+-----+-----+-----+-----+-----+-----+--
| TBD | n | 0 | s1 | s2 | s3 | s4 | s5 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
As an example, consider the case where the server wants to offer two
outbound proxy servers, "example.com" and "example.net". These would
be encoded as follows:
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|TBD|27 | 0 | 7 |'e'|'x'|'a'|'m'|'p'|'l'|'e'| 3 |'c'|'o'|'m'| 0 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 7 |'e'|'x'|'a'|'m'|'p'|'l'|'e'| 3 |'n'|'e'|'t'| 0 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+
3.2 IPv4 Address List
This option specifies a list of IPv4 addresses indicating SIP
outbound proxy servers available to the client. Servers SHOULD be
listed in order of preference.
Its minimum length is 5, and the length MUST be a multiple of 4 plus
one. The DHCP option for this encoding has the following format:
Code Len enc Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| TBD | n | 1 | a1 | a2 | a3 | a4 | a1 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
4 Security Consideration 4 Security Consideration
There are no security considerations beyond those described in RFC There are no security considerations beyond those described in RFC
2131 [1], RFC 2543 [2] and RFC XXXX [3]. 2131 [1], RFC 2543 [2] and RFC XXXX [3].
5 IANA Considerations 5 IANA Considerations
IANA has assigned a DHCP option number of TBD for the "SIP Servers IANA has assigned a DHCP option number of TBD for the "SIP Servers
DHCP Option" defined in this document. DHCP Option" defined in this document.
6 Acknowledgements 6 Acknowledgements
Robert Elz, Wenyu Jiang, Peter Koch, Thomas Narten, Erik Nordmark, Ralph Droms, Robert Elz, Wenyu Jiang, Peter Koch, Gautam Nair, Thomas
Jonathan Rosenberg, Kundan Singh, Sven Ubik and Bernie Volz provided Narten, Erik Nordmark, Jonathan Rosenberg, Kundan Singh, Sven Ubik,
useful feedback. Bernie Volz and Dean Willis provided useful feedback through the
evolution of this draft.
7 Authors' Addresses 7 Authors' Addresses
Henning Schulzrinne Henning Schulzrinne
Dept. of Computer Science Dept. of Computer Science
Columbia University 1214 Amsterdam Avenue, MC 0401 Columbia University 1214 Amsterdam Avenue, MC 0401
New York, NY 10027 New York, NY 10027
USA USA
electronic mail: schulzrinne@cs.columbia.edu electronic mail: schulzrinne@cs.columbia.edu
Gautam Nair
Dept. of Computer Science
Columbia University 1214 Amsterdam Avenue, MC 0401
New York, NY 10027
USA
electronic mail: gnair@cs.columbia.edu
8 Bibliography 8 Bibliography
[1] R. Droms, "Dynamic host configuration protocol," Request for [1] R. Droms, "Dynamic host configuration protocol," Request for
Comments 2131, Internet Engineering Task Force, Mar. 1997. Comments 2131, Internet Engineering Task Force, Mar. 1997.
[2] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: [2] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP:
session initiation protocol," Request for Comments 2543, Internet session initiation protocol," Request for Comments 2543, Internet
Engineering Task Force, Mar. 1999. Engineering Task Force, Mar. 1999.
[3] H. Schulzrinne and J. Rosenberg, "SIP: Session initiation [3] H. Schulzrinne and J. Rosenberg, "SIP: Session initiation
protocol -- locating SIP servers," Internet Draft, Internet protocol -- locating SIP servers," Internet Draft, Internet
Engineering Task Force, Jan. 2001. Work in progress. Engineering Task Force, Mar. 2001. Work in progress.
[4] S. Bradner, "Key words for use in RFCs to indicate requirement [4] S. Bradner, "Key words for use in RFCs to indicate requirement
levels," Request for Comments 2119, Internet Engineering Task Force, levels," Request for Comments 2119, Internet Engineering Task Force,
Mar. 1997. Mar. 1997.
[5] S. Alexander and R. Droms, "DHCP options and BOOTP vendor [5] S. Alexander and R. Droms, "DHCP options and BOOTP vendor
extensions," Request for Comments 2132, Internet Engineering Task extensions," Request for Comments 2132, Internet Engineering Task
Force, Mar. 1997. Force, Mar. 1997.
[6] P. V. Mockapetris, "Domain names - implementation and [6] P. V. Mockapetris, "Domain names - implementation and
specification," Request for Comments 1035, Internet Engineering Task specification," Request for Comments 1035, Internet Engineering Task
Force, Nov. 1987. Force, Nov. 1987.
[7] F. Yergeau, "UTF-8, a transformation format of unicode and ISO [7] T. Lemon and S. Cheshire, "Encoding long DHCP options," Internet
10646," Request for Comments 2044, Internet Engineering Task Force, Draft, Internet Engineering Task Force, Oct. 2001. Work in progress.
Oct. 1996.
[8] R. Hinden and S. Deering, "IP version 6 addressing architecture,"
Request for Comments 2373, Internet Engineering Task Force, July
1998.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/