Hi Paul, Thanks for the update.
So the 200OK in step 4 Registrar should respond with only one contact header Contact: ""<sip:+168999@178.21.49.29 <sip%3A%2B1689998@178.21.49.29>:3 694;transport=udp;Hpt=8ea2_16;ssn;TRC=ffffffff-ffffffff;srti=s1_2>;expires=7200 ? But since there is a difference in contact so it has to be overwritten with the previous contact of step1? Currently, the Registrar is working in the below way, Contact: ""<sip:+168999@178.21.49.29:3694 ;transport=udp;Hpt=8ea2_16;ssn;srti=s1_2>;expires=0 Contact: ""<sip:+168999@178.21.49.29:3694 ;transport=udp;Hpt=8ea2_16;ssn;TRC=ffffffff-ffffffff;srti=s1_2>;expires=7200 Since the both the contact are same as per 19.1.4 it is only keeping the contact header value of the second REGISTER request. Can you please clarify? BR/// Rakesh Kumar Mohanty On Mon, Jul 17, 2017 at 10:13 PM, Paul Kyzivat <pkyzi...@alum.mit.edu> wrote: > On 7/17/17 11:08 AM, Rakesh wrote: > >> Hi Expert, >> >> Now I got the full picture for the problem. >> >> SIP Registrar behavior for the URI contact matching >> >> 1) REGISTER request with belwo contact send to Registrar >> >> Contact: ""<sip:+168999@178.21.49.29:3694;transport=udp;Hpt=8ea2_16; >> ssn;srti=s1_2>;expires=7200 >> >> 2) Registrar sent 200OK with below contact >> >> Contact: ""<sip:+168999 >> >> @178.21.49.29 <sip%3A%2B168999@178.21.49.29>:36 >> 94;transport=udp;Hpt=8ea2_16;ssn;srti=s1_2>;expires=7200 >> >> 3) Now there is another REGISTER request send to the Registrar in contact >> with additional parameter mentioned below >> >> Contact: ""<sip:+168999@178.21.49.29 <sip%3A%2B1689998@178.21.49.29>:3 >> 694;transport=udp;Hpt=8ea2_16;ssn;TRC=ffffffff-ffffffff;srti >> =s1_2>;expires=7200 >> >> 4) Then Registrar sent 200OK response with below contact headers. Where >> the Initial contact has value expires= 0 >> >> Contact: ""<sip:+168999 >> >> @178.21.49.29 <sip%3A%2B168999@178.21.49.29>:36 >> 94;transport=udp;Hpt=8ea2_16;ssn;srti=s1_2>;expires=0 >> >> Contact: ""<sip:+168999@178.21.49.29 <sip%3A%2B1689998@178.21.49.29>:3 >> 694;transport=udp;Hpt=8ea2_16;ssn;TRC=ffffffff-ffffffff;srti >> =s1_2>;expires=7200 >> >> >> So is it a valid behavior from Registrar server? Which leads the earlier >> post asked for contact matching. >> > > From 3261: > > 10.2.4 Refreshing Bindings > > Each UA is responsible for refreshing the bindings that it has > previously established. A UA SHOULD NOT refresh bindings set up by > other UAs. > > The 200 (OK) response from the registrar contains a list of Contact > fields enumerating all current bindings. The UA compares each > contact address to see if it created the contact address, using > comparison rules in Section 19.1.4. If so, it updates the expiration > time interval according to the expires parameter or, if absent, the > Expires field value. The UA then issues a REGISTER request for each > of its bindings before the expiration interval has elapsed. It MAY > combine several updates into one REGISTER request. > > A UA SHOULD use the same Call-ID for all registrations during a > single boot cycle. Registration refreshes SHOULD be sent to the same > network address as the original registration, unless redirected. > > We have already discussed those comparison rules. So the second REGISTER > should qualify as a refresh. But apparently the registrar is not > recognizing it as such and instead is treating it as an additional > registration. That appears to be a bug in the registrar. > > Thanks, > Paul > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors