RFC 3263 Section specifies: "For SIP requests, failure occurs if the transaction layer reports a 503 error response or a transport failure of some sort (generally, due to fatal ICMP errors in UDP or connection failures in TCP). Failure also occurs if the transaction layer times out without ever having received any response, provisional or final (i.e., timer B or timer F in RFC 3261 [1] fires). If a failure occurs, the client SHOULD create a new request, which is identical to the previous, but has a different value of the Via branch ID than the previous (and therefore constitutes a new SIP transaction). That request is sent to the next element in the list as specified by RFC 2782."
Begs the question, when the UAS returns a non-503 5XX, is that response converted to a 503 back to the Transaction User layer? If not, then the retry of a transaction with another server should be on any 5XX as another server may be able to respond to the transaction. And 3261 is pretty well silent regarding the handling of a 5XX… I mean, obviously no one converts other 5XX to 503. The text is just unclear, but my advice was “do the right thing”, meaning retry and eventually give up and try another server if there is one (via SRV or DNS). Not something we are going to fix, but checking to see if I missed something somewhere. Brian _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
