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

Reply via email to