In order to cancel a registration, the recommended way in the spec is to
send a new REGISTER with Expires 0.
With reference to the comment below,
Just to clarify, CANCEL always gets a 200 OK. The current spec (bis-03) does
not allow sending things like 481 in response to CANCEL. The UAC must still
wait for a final response to the REGISTER request (200-OK or 487-Cancelled).

Please see page 31 of bis02, where it is specified that CANCEL should be
responded with a 481, if the request being CANCELed is not found in the UAS.

Actually, you can send any meaningful and appropriate error response to
CANCEL, like 400 BAD REQUEST etc. The spec does not prohibit these.



 -----Original Message-----
From:   [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]  On Behalf Of Bob Penfield
Sent:   Thursday, July 19, 2001 9:45 AM
To:     Jo Hornsby; Ashwani Kumar Kesharwani; [EMAIL PROTECTED]
Cc:     [EMAIL PROTECTED]
Subject:        Re: [Sip-implementors] RE: [Sipping] CANCEL of REGISTER request


----- Original Message -----
From: "Jo Hornsby" <[EMAIL PROTECTED]>
To: "Ashwani Kumar Kesharwani" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, July 18, 2001 12:06 PM
Subject: [Sip-implementors] RE: [Sipping] CANCEL of REGISTER request


> [Moved to SIP Implementors]
>
> > Yes a Register Request can be cancelled.
> > In this case if the Registrar has done the processing(insertion of
> > contact addresses in the database)  required for a register request it
> > will discard the request.
>
> This is not quite right: the CANCEL request will not be
> discarded, but responded to with a 200 OK as long as
> the Registrar can still remember the associated REGISTER.
> Else probably 481.

Just to clarify, CANCEL always gets a 200 OK. The current spec (bis-03) does
not allow sending things like 481 in response to CANCEL. The UAC must still
wait for a final response to the REGISTER request (200-OK or 487-Cancelled).

> > Other wise if no processing has been done for the registrar
> > request it will terminate the registration and send a 200 OK or
> > cancel as well as  487 for Register.
>
> Exactly right.
>
> But I feel compelled to note that I would be very
> surprised if anybody went to the bother of implementing
> some sort of rollback for Registrations, unless the commit
> or whatever took a very very very long time.  Actually,
> even if they took a very very very very long time, I'd be
> surprised if they did this.
>
> I think we're pretty-much learning that CANCEL is
> only useful for INVITEs.

I agree that supporting CANCEL for REGISTER would be quite messy in a
registrar. I think that assuming that somebody else's registrar is going to
support CANCEL would be a bit risky. Probably the best way to "cancel" the
registration is to wait for the final response, and then send another
REGISTER with "Expires:0" to withdraw the registrations.

>
>
>  - Jo.
>
> _______________________________________________
> Sip-implementors mailing list
> [EMAIL PROTECTED]
> http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
>

_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to