To my mind, there are various degrees of "that address doesn't get
anywhere" errors:
A. The call arrived at a suitable UA, but the use is not willing to
answer for some transient reason.
B. The call arrived at a UA which does not handle the URI in question.
(Other servers might handle this URI, but this server does not
know.)
C. The call arrived at a proxy which knows that the AOR is valid, but
there are no contacts registered for it at this moment.
D. The call arrived at a proxy which can authoritatively say that the
user in the AOR is not valid.
E. The address is invalid according to the address assignment plan of
the domain. E.g., wrong number of digits in user, or use contains
a feature code that this domain does not implement.
Looking at RFC 3261, the codes that SIP has assigned for this sort of
response are:
404 Not Found
The server has definitive information that the user does not exist at
the domain specified in the Request-URI. This status is also
returned if the domain in the Request-URI does not match any of the
domains handled by the recipient of the request.
410 Gone
The requested resource is no longer available at the server and no
forwarding address is known. This condition is expected to be
considered permanent. If the server does not know, or has no
facility to determine, whether or not the condition is permanent, the
status code 404 (Not Found) SHOULD be used instead.
480 Temporarily Unavailable
The callee's end system was contacted successfully but the callee is
currently unavailable (for example, is not logged in, logged in but
in a state that precludes communication with the callee, or has
activated the "do not disturb" feature). The response MAY indicate a
better time to call in the Retry-After header field. The user could
also be available elsewhere (unbeknownst to this server). The reason
phrase SHOULD indicate a more precise cause as to why the callee is
unavailable. This value SHOULD be settable by the UA. Status 486
(Busy Here) MAY be used to more precisely indicate a particular
reason for the call failure.
This status is also returned by a redirect or proxy server that
recognizes the user identified by the Request-URI, but does not
currently have a valid forwarding location for that user.
So it looks to me that the response codes to be used for these
conditions are:
A - 480
B - 404 (assuming that the domain of the request URI is an IP address
by this point)
C - 480
D - 404 or 410
E - 404 or 410
Does this scheme match what implementors do?
Dale
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors