draft-ietf-sip-srv-01.txt   draft-ietf-sip-srv-02.txt 
Internet Engineering Task Force SIP WG Internet Engineering Task Force SIP WG
Internet Draft Schulzrinne/Rosenberg Internet Draft Schulzrinne/Rosenberg
draft-ietf-sip-srv-01.txt Columbia U./dynamicsoft draft-ietf-sip-srv-02.txt Columbia U./dynamicsoft
January 15, 2001 March 24, 2001
Expires: June 2001 Expires: June 2001
SIP: Session Initiation Protocol -- Locating SIP Servers SIP: Session Initiation Protocol -- Locating 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
skipping to change at page 2, line 4 skipping to change at page 2, line 4
1 Introduction 1 Introduction
This document updates Sections 1.3 and 1.4.2 and supersedes Appendix This document updates Sections 1.3 and 1.4.2 and supersedes Appendix
D of RFC 2543 [1]. Inter alia, it defines the term outbound proxy and D of RFC 2543 [1]. Inter alia, it defines the term outbound proxy and
replaces references to the obsoleted RFC 2052 with current references replaces references to the obsoleted RFC 2052 with current references
to RFC 2782. to RFC 2782.
1.1 Terminology 1.1 Terminology
In this document, the key words "MUST", "MUSTNOT", "REQUIRED", In this document, the key words "MUST", "MUSTNOT", "REQUIRED",
"SHALL", "SHALLNOT", "SHOULD", "SHOULDNOT", "RECOMMENDED", "MAY", and "SHALL", "SHALLNOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
"OPTIONAL" are to be interpreted as described in RFC 2119 [2] and and "OPTIONAL" are to be interpreted as described in RFC 2119 [2] and
indicate requirement levels for compliant SIP implementations. indicate requirement levels for compliant SIP implementations.
1.2 Definitions 1.2 Definitions
Outbound proxy: A proxy that is located near the originator of Outbound proxy: A proxy that is located near the originator of
requests. It receives all outgoing requests from a requests. It receives all outgoing requests from a
particular UAC, including those requests whose Request-URLs particular UAC, including those requests whose Request-URLs
identify a host other than the outbound proxy. The outbound identify a host other than the outbound proxy. The outbound
proxy sends these requests, after any local processing, to proxy sends these requests, after any local processing, to
the address indicated in the Request-URI. (All other proxy the address indicated in the Request-URI. (All other proxy
skipping to change at page 2, line 34 skipping to change at page 2, line 34
port corresponding to the Request-URI. The outbound proxy can be port corresponding to the Request-URI. The outbound proxy can be
configured by any mechanism, including DHCP [3] and can be specified configured by any mechanism, including DHCP [3] and can be specified
either as a set of parameters such as network address or host name, either as a set of parameters such as network address or host name,
protocol port and transport protocol, or as a SIP URI. protocol port and transport protocol, or as a SIP URI.
If the Request-URI is used, the client needs to determine the If the Request-URI is used, the client needs to determine the
protocol, port and IP address of a server to which to send the protocol, port and IP address of a server to which to send the
request. A client SHOULD follow the steps below to obtain this request. A client SHOULD follow the steps below to obtain this
information. information.
Clients MUST determine the destination address once per transaction Clients MUST re-run the above selection algorithm, re-drawing any
rather than for each request, i.e., requests within the same random numbers involved, once per transaction rather than for each
transaction MUST be sent to the same network address. A stateless request, i.e., requests within the same transaction MUST be sent to
proxy can accomplish this, for example, by using the modulo N of a the same network address. Thus, the same address is used for the
hash of the Call-ID value or some other combination of transaction- request, any retransmissions, any associated CANCEL requests and ACK
identifying headers as the uniform random number described in the requests for non-2xx responses. However, ACKs for 2xx responses use
weighting algorithm of RFC 2782. Here, N is the sum of weights within another iteration of the selection algorithm. (Indeed, in many cases,
the priority class. they may have different request URIs.)
A stateless proxy can accomplish this, for example, by using the
modulo N of a hash of the Call-ID value or some other combination of
transaction-identifying headers as the uniform random number
described in the weighting algorithm of RFC 2782. Here, N is the sum
of weights within the priority class.
A client SHOULD be able to interpret explicit network notifications A client SHOULD be able to interpret explicit network notifications
(such as ICMP messages) which indicate that a server is not (such as ICMP messages) which indicate that a server is not
reachable, rather than relying solely on timeouts. (For socket-based reachable, rather than relying solely on timeouts. (For socket-based
programs: For TCP, connect() returns ECONNREFUSED if the client programs: For TCP, connect() returns ECONNREFUSED if the client
could not connect to a server at that address. For UDP, the socket could not connect to a server at that address. For UDP, the socket
needs to be bound to the destination address using connect() rather needs to be bound to the destination address using connect() rather
than sendto() or similar so that a second write() or send() fails than sendto() or similar so that a second write() or send() fails
with ECONNREFUSED if there is no server listening) If the client with ECONNREFUSED if there is no server listening) If the client
finds the server is not reachable at a particular address, it SHOULD finds the server is not reachable at a particular address, it SHOULD
 End of changes. 

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