Still the figure is not very clear. But as Vikram pointed out that contact header is an optional header in 1xx responses. If no contact header is present in 1xx response then if a method has to be sent out immediately after this 1xx response ( prior to receiving another response with contact header ) then the message will be routed back to the same location where the initial INVITE was sent out ( assuming no record-route is involved, since you mentioned RR below. For RR case we need more info as in that case the routing will happen based on route set built based on RR present in 1xx responses and also the type of RR LooseRoute or no LooseRoute ).
Based on your figure below it seems that you rcvd a 18x without contact and then you rcvd a 18x with contact and then a BYE is being sent by originator. In that case BYE should be sent based on the latest contact header information received in 18x header ( if any assuming Record-Routing is not involved ). I also do not think that it is mandatory for the case of even reliable 18x response as well. I do not think if a 18x response is received without contact header a PRACK request can not be constructed. Vikram could you kindly explain why would this be the case as mentioned below ?? >>> a unreliable 18x response without Contact as it is optional. >>> It is definitely needed in a reliable 18x as without it, a >>UAC can not >>> construct a PRACK request. In this case, 18x will timeout and the >>> early dialog will be terminated. Best Regards, Indresh K Singh >>-----Original Message----- >>From: [email protected] >>[mailto:[email protected]] On >>Behalf Of ext raikkme rrrrr >>Sent: Tuesday, August 18, 2009 12:27 AM >>To: [email protected] >>Subject: Re: [Sip-implementors] 18X response with no Contact Header >> >>I tried to translate the picture in notepad. I hope, it is received as >>intended. Please find below. >> >>A >>side >>B side >> ______________ >>---------------------------------> | B | >>Invite | >>|-------------------------------> Invite >> | >>|<------------------------------ 100 Trying >><--------------------------------- | | 18x >>without contact >>header >>100 Trying | 2 >>|<------------------------------ >> | | >><--------------------------------- | | >>18x with contact | | >>---------------------------------->| B >>|---------------------------------> ???????? >>BYE | | >> >> >>18x from B side received without contact header. 18x response >>has "To tag" >>and without Record Route. >> >>Thanks, >>kumar >> >> >> >>On Mon, Aug 17, 2009 at 11:24 PM, Vikram Chhibber >><[email protected] >>> wrote: >> >>> We can not see the attachment. A UAC should have no problem >>processing >>> a unreliable 18x response without Contact as it is optional. >>> It is definitely needed in a reliable 18x as without it, a >>UAC can not >>> construct a PRACK request. In this case, 18x will timeout and the >>> early dialog will be terminated. >>> On Wed, Aug 12, 2009 at 3:03 AM, raikkme >>rrrrr<[email protected]> >>> wrote: >>> > What should be the behaviour, in case 18X response is >>received with no >>> > Contact header for the below case? >>> > >>> > Please refer the attached document for sample scenario. >>> > >>> > The entity is behaving as a B2B, where BYE is received >>from one side. >>> > >>> > Thanks, >>> > kumar >>> > >>> > _______________________________________________ >>> > Sip-implementors mailing list >>> > [email protected] >>> > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors >>> > >>> >>_______________________________________________ >>Sip-implementors mailing list >>[email protected] >>https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors >> _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
