> Suppose UAC receives multiple provisional responses > before confirmation of the dialog (2xx), and each > provisional response has a different set of Record-Route > headers. (Each provisional response is within the same > early dialog. i.e. same From-tag and To-tag.) > > In this scenario: > 1. Should UAC update its route set according to latest > Record-Route headers received? > 2. Or should UAC retain the route set formed from first > provisional response? > > It is noted that "final" route set will be built from > Record-Routes in 2xx response.
In my opinion, the answer to the question should be irrelevant since the UAS should be providing the same Record-Route within the 101-299 responses to INVITE (excluding 199 situation mentioned within RFC 6228). However, the answer is relevant since there are vendors not including the Record-Route because they ignore the fact that the sent 1xx might create a dialog because of dropped/reordered responses or UAC forgot dialog (e.g. because of race condition or unwillingness to maintain an infinite number of early dialogs). More specifically for interoperability reasons, I think that the UAS should interpret RFC 3261 section 12.1.1's MUST statement to include Record-Route as applying to every 101-198 response to INVITE during call setup since they don't truly know that it won't create an early dialog. With that said, RFC 6141 updated some of the rules mentioned within RFC 3261 (although I think just associated within Contact instead of also Record-Route). I don't recall either RFC having any normative statements indicating/precluding UAC to allow reliable 1xx's present/missing Record-Route to update the route set during call setup; however from a compliance perspective, it is easier to defend not updating the route set. _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors