[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