rfc-3361

Dynamic Host Configuration Protocol (DHCP-for-IPv4) Option for Session Initiation Protocol (SIP) Servers

H. Schulzrinne
date2002-08 streamIETF arearai wgsip statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc3361 doi10.17487/RFC3361
This document defines a DHCP-for-IPv4 option that contains a list of domain names or IPv4 addresses that can be mapped to one or more 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.

Extracted elements (17)

design-rationale §3.1

Multiple domain names are intended to let a single DHCP server indicate outbound proxies operated by multiple providers, not to replace NAPTR and SRV records.

sip

design-rationale §3.1

RFC 1035 label encoding was chosen for domain names (over other formats) to accommodate future internationalized domain name mechanisms.

sip, dns

design-rationale §3

The option carries domain names preferably rather than raw IPv4 addresses because domain names allow NAPTR/SRV-based server selection and transport negotiation per RFC 3263, while IPv4 addresses bypass that mechanism.

sip, dns

interoperability-note §4

The security considerations of RFC 2131 (DHCP), RFC 2543 (SIP), and RFC 3263 (SIP server location) all apply to this option; implementations must be aware of the combined threat model.

sip

normative-requirement §3 MUST NOT

A DHCP server MUST NOT mix the two encodings (domain name and IPv4 address) in the same DHCP message, even if it sends two different instances of option 120, because DHCP processing concatenates multiple instances of the same option before processing.

sip

normative-requirement §3 MUST

All implementations MUST support both the domain name encoding (enc=0) and the IPv4 address encoding (enc=1) of the SIP Server DHCP option.

sip

normative-requirement §3.1 MUST

Clients MUST support DNS name compression as defined in RFC 1035 Section 4.1.4 when processing the domain name list encoding.

sip, dns

normative-requirement §3.1 MUST

If the domain list exceeds 254 octets, it MUST be split across multiple option instances in the DHCP message per the long options encoding specification.

sip

normative-requirement §3.2 MUST

In the IPv4 address encoding, servers MUST be listed in order of preference.

sip

normative-requirement §3.1 SHOULD

Multiple domain names in the option SHOULD refer to different NAPTR records rather than different A records, to allow a single DHCP server to indicate proxies from multiple providers.

sip, dns

normative-requirement §1 MUST

The SIP server referenced in the option MUST be an outbound proxy server as defined in RFC 3263.

sip

normative-requirement §3.1 MUST

When the domain name list is provided, the client MUST try the domain names in the order listed, applying the RFC 3263 Section 4.1 mechanism for each, and only resolves subsequent names if the first fails, yields no common transport protocols, or is administratively prohibited.

sip, dns

protocol-element §3

The SIP Server DHCP option (code 120) carries either a list of DNS fully-qualified domain names or a list of IPv4 addresses identifying SIP outbound proxy servers. An encoding byte ('enc') immediately follows the code byte: value 0 indicates domain names, value 1 indicates IPv4 addresses.

sip, dns, ip

registry §5

IANA assigned DHCP option code 120 for the 'SIP Servers DHCP Option' defined in this document.

sip, registry

security-consideration §4

An adversary who modifies or spoofs a DHCP server response could redirect SIP user agents to a rogue SIP server that intercepts call requests or denies service. A modified DHCP answer could also omit TLS-capable SIP server names, facilitating interception.

sip, security

wire-format §3.1

Domain name encoding (enc=0): Code=120, Len=n, enc=0, followed by DNS labels encoded per RFC 1035 Section 3.1. Each label is a one-octet length field followed by that many octets; a zero-length byte terminates each name. Minimum length is 3.

sip, dns

wire-format §3.2

IPv4 address encoding (enc=1): Code=120, Len=n, enc=1, followed by one or more 4-octet IPv4 addresses. Minimum length is 5; total length MUST be a multiple of 4 plus one.

sip, ip