2011/4/25 Vijay K. Gurbani <[email protected]>:
> IMHO, 6xx responses are globally authoritative in that
> the chance of using the same R-URI to perform a lookup somewhere
> else does not have any higher probability of success. 4xx response
> are repairable; if you can't get to the resource at one server,
> maybe another server can help.
DNS is supposed to have global scope. This is, a domain is supposed to
exist (or not to exist) regardless o the nameserver you ask. So in the
case of non existing domain, I still see no benefict in using 604
instead of 404. Perhaps I miss something.
> I will give you two examples.
>
> 1) Assume that an outbound SIP proxy gets a tel URI to perform
> routing on. It converts the tel URI using ENUM to a
> sip URI. Now, if ENUM returns a non-existent domain, then
> using the same tel URI somewhere else to do an ENUM lookup
> will not magically result in a new sip transform. In such a
> case, a 6xx-class is more appropriate.
Yes, but AFAIK a 404 should not trigger a new client transaction in an
UAC or a proxy as 404 means "destination doesn't exist". What is the
real difference between receiving a 404 and a 604? From the client
transaction point of view, it should be the same, am I wrong?
> 2) Assume that the US Library of Congress has implemented a
> SIP event package that allows people to issue SUBS requests
> against the books and be notified when a new edition is
> released. They have defined a process whereby a ISBN URN
> can be transformed to a sip URI. When the US Library of
> Congress get a SUBS request with an invalid URN number,
> what should it do? Issue a 4xx or a 6xx? IMHO, a 6xx is
> more appropriate here since ISBN numbers are issued by a
> national organization (NISO/ANSI/ISO 2108:1992) and
> presumably the US Library of Congress works closely with
> this organization and therefore has a knowledge about all books
> published in the US.
>
> Trying the request elsewhere with the same ISBN number will not
> make a non-existent book magically appear.
Ok, but as I tell above, DNS has global scope, so receiving a 404 must
mean that the destination doesn't exist.
>>> Case 1: The forking is done at the outbound proxy, and let's
>>> assume that a location server was contacted and it responds with
>>> multiple URIs for the AoR, one of which is a URI rooted in the
>>> "invalid- domain.net". Here, the correct behaviour would be for
>>> the proxy to generate a 408 on the branch that included the
>>> "invalid-domain.net" host.
>>
>> I assume you mean 404 :)
>
> No, I meant 408 (c.f. step 7 of section 16.6, rfc3261), last
> paragraph. Here, the client transaction will report failure
> since invalid-domain.net does not exist.
I'm lost now. I missed such section of the RFC. Does it mean that, for
my initial question (the outbound proxy receives a request or a non
existing domain), the proxy must reply 408 rather than 404/604?
However, note that RFC 3261 16.6 section 7 says:
The proxy does not need to place anything in
the response context, but otherwise acts as if this element of
the target set returned a 408 (Request Timeout) final response.
But take into account that in case of a non-existing domain, there is
no target set (as RFC 3263 procedures returned no transport:IP:port
tuple) so, wouldn't be 404/604 the appropriate choice?
> Now, the proxy itself may end up sending a 404 upstream, but
> the client transaction corresponding to invalid-domain.net will
> most probably result in a 408.
Thanks for your comments.
--
Iñaki Baz Castillo
<[email protected]>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors