Hi, I have a question regarding the correct behavior of a registrar when receiving a late REGISTER retransmission.
More specifically, I have come across a UAC that, after successfully registering, sends a subsequent refresh request with the same Call-ID and CSeq values as the original (successful) request. This second request arrives after the initial transaction has timed out, so is not recognized as a retransmission. RFC3261 seems to indicate that this second request should fail: "If the Call-ID value in the existing binding differs from the Call- ID value in the request, the binding MUST be removed if the expiration time is zero and updated otherwise. If they are the same, the registrar compares the CSeq value. If the value is higher than that of the existing binding, it MUST update or remove the binding as above. If not, the update MUST be aborted and the request fails." I believe that this UAC is behaving badly, but still desire to handle this case in compliance with RFC3261. Should I: A) Ignore the second request B) Send a 200 OK, but not update the registration information (expiration, etc) C) Send a 200 OK, AND update the registration D) Send a failure (and if so, what? 400?) Thanks for any and all input, Paul _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
