From: Alex Hermann <[EMAIL PROTECTED]>

   I'm trying to understand some confusing parts of rfc3261 and rfc3263 on DNS 
   SRV records and failover. I've quoted the relevant parts of both rfc's, but 
   what remains unclear for me is what should happen when a proxy receives a 
   503 from a downstream server and there are still hosts left from the SRV 
   lookup. The key issue is that the 503 has no Retry-After (RA) header. 

I believe that the current consensus is that all of the alternative
SRV records (or other RFC 3263 destinations) for a given request-URI
are treated as "aliases" for the *same* destination.  And so if a
response is obtained from one of the destinations, it is taken to be
definitive.

Switching to an alternative destination when a failure response is
received is only done in a "forking" scenario, where a request-URI is
mapping into a set of alternative destination URIs.

This makes a great deal of sense for, e.g., 486 Busy Here responses.
If a request-URI has two SRV records, if a 486 is received from one
destination, the UAC does not attempt to contact the second
destination.  But if the request-URI forks to two destinations, if the
first destination returns a 486, the second destination is attempted.

Admittedly this makes less sense for a 503 in light of

    rfc3261 section 21.5.4 503 Service Unavailable:

    "A client (proxy or UAC) receiving a 503 (Service Unavailable) SHOULD 
    attempt to forward the request to an alternate server."

but I would not want to make an exception for 503 without much
consideration.

There is a considerable amount of difficult around the problem of such
"transport errors".  One attempt to deal with them is
http://tools.ietf.org/html/draft-worley-redundancy-response-02.html

Dale
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to