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

Reply via email to