I don't know if there was a response to this. Wei BJ Lu wrote:
> Thanks for your helpful input. It's much clear to me now. > Would you please confirm my understanding as following: > > Proxy: 1. forward all 1xx responses Not 100, only 101-199. > 2. if a 2xx arrives, forward it, CANCEL all other branches, > drop all non 2xx final responses already received Yes. > 3. if no 2xx received, pick the best among all 3xx/4xx/5xx/6xx > responses and forward to UAC Yes. > 4. if final responses arrives after a 2xx is forwarded > (this is caused by CANCEL and the response cross on the wire), > send ACK for non-2xx and forward 2xx to UAC Yes. > 5. proxy could add To tag to responses generates by its own Yes. Another way to think about it is this. A proxy can always fork another branch to ITSELF, respond to that branch with any response it likes with any tag. Then, it receives that response from itself, chooses that response as the best, and forwards it upstream. > > UAC: 1. create dialog when receives state-invoking provisional response > (e.g 180), if receives several provisional responses with > different To tag, multiple dialogs will be created Yes. > 2. non-2xx final response arrives when all the dialogs in 1xx > state, > terminate all dialogs, the transaction is finished You still need to ACK the non-2xx, and the transaction hangs around for retransmits, but otherwise yes. > 3. 2xx response arrives on one dialog when all the dialogs in 1xx > state, > a timer starts to make sure all the other dialogs will terminate > after some time and no 2xx arrives on them Yes. > 4. if another 2xx arrives on another dialog before the timer > triggers, > the UAC is free to keep multiple dialogs going or it could send > BYE > on it after ACK the 2xx Yes. > 5. it's impossible for multiple non-2xx final responses reach UAC > since > the proxy will only pick the best one among them Yes. It could happen under conditions where a forking proxy fails mid-transaction, but it is not normal operation. > 6. it's impossible for a non-2xx final responses reach UAC after > UAC > receives a 2xx since all the non-2xx final responses are eaten > by > the proxy after 2xx arrives at proxy Yes. -Jonathan R. -- Jonathan D. Rosenberg, Ph.D. 72 Eagle Rock Avenue Chief Scientist First Floor dynamicsoft East Hanover, NJ 07936 [EMAIL PROTECTED] FAX: (973) 952-5050 http://www.jdrosen.net PH: (973) 952-5000 http://www.dynamicsoft.com _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
