[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sip] Question regarding correct SIP behaviour in unregistration



On Friday, September 5, 2003, at 01:39 AM, Szelényi Csaba wrote:
Hello,

I am sorry about cross-posting this mail to the lists SIP, SIP Forum Discussion and SIP CTWG. I could not decide, which forum is or which forums are appropriate to be addressed with these questions.
if you are not sure which list to post to, feel free to email the chairs or moderators individually and ask. alternatively it is better to pick *one* list (even if it the wrong one), as your request will probably be referred to the correct list anyway.

the correct list for these questions is actually sip-implementors@cs.columbia.edu

Q1: IMHO RFC 3261 Section 10.3 Item 6 does not cover a case: what is the right behaviour of the Registrar on receipt an unregistration request for bindings that cannot be found in its database?
I think of a REGISTER request with Expires: 0 meaning "make sure there is no registration for this AOR with this contact". If the AOR exist then the correct behavior is to send a 200-class response. If the AOR does not exist, then a 404 is appropriate.

thanks,
-rohan

6. The registrar checks whether the request contains the Contact
header field. If not, it skips to the last step. If the
Contact header field is present, the registrar checks if there
is one Contact field value that contains the special value "*"
and an Expires field. If the request has additional Contact
fields or an expiration time other than zero, the request is
invalid, and the server MUST return a 400 (Invalid Request) and
skip the remaining steps. If not, the registrar checks whether
the Call-ID agrees with the value stored for each binding. If
not, it MUST remove the binding. If it does agree, it MUST
remove the binding only if the CSeq in the request is higher
than the value stored for that binding. Otherwise, the update
MUST be aborted and the request fails.

When no binding is registered for the specified AOR, upon receiving a REGISTER request with Expires header field value of zero and Contact header field value set to '*' (i.e. there is no binding to be removed for the given AOR, therefore the Registrar is unable to check the Call-ID), what response must/should be sent? Is a '404 Not Found' response or a '200 OK' response appropriate?

Q2: Similarly to Q1, what would be the right response ('404 Not Found' or '200 OK') for unregistration requests, if the binding requested for removal already expired? The binding may exist in the database for a short time after expiration, as we have seen it checking some implementations. If the record of the binding has been removed, we get beck to Q1.

Would it be a possible answer to the questions, that it is not regulated by RFC 3261, therefore it is up to the implementation, what to do?

Any help, URL or reference would be highly appreciated.

Thank you in anticipation,

Szelenyi Csaba
T-Systems RIC
mailto:Csaba.Szelenyi@t-systems.co.hu
+36 1 456 5507
+36 20 477 7778


_______________________________________________
Sip mailing list https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip