I am trying to determine how a forking proxy (and UAC for that matter)
should handle a UAS 1xx response and another UAS responding with a 3xx.
I'm unable to find a definitive answer in RFC3261. While 3xx responses
are typically sent by servers performing a location service, there are
SIP-UA (UE) that do this for some types of call forwarding/deflection.

Shall the behavior be as documented in RFC3267 section 16.7, 6. Choosing
the best response or something different?

- Immediately act upon the 3xx, retargeting the request for the
responding UAS dialog and let the others continue.
 
- Treat the 3xx as the best final response upon reception, send it to
the UAC, cancel all existing dialogs, and expect the UAC to handle the
3xx.

- Hold the 3xx response until all UAS's have responded with a either a
200 OK or 3xx-6xx final response and then pick the most appropriate
final response.

- Implement something new like sending a 199 response for the early
dialogs, canceling these dialogs downstream, and having the proxy send
the 3xx response or retarget itself based on the 3xx contact.

- Have the proxy ignore the 3xx as a matter of policy. 

- Other possibilities?

- Are proxies free to choose any of the above approaches?

I'd like to also consider the other possibility where the initial UAS
response is the 3xx, followed by 1xx response(s). Hopefully it's the
same rule.

In general it seems more appropriate to inform the UAC if retargeting is
going to proceed since the UAC's perspective of the dialog may be
changing even though it has an already established early dialog with
another UAS. If retargeting should not immediately proceed, then the 3xx
effectively becomes a NO-OP or is delayed until all other UAS's respond
with a 4xx-5xx.
    
Thanks in advance,
Chuck
  

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

Reply via email to