I've looked so much on the internet, but I could not find a any SIP unregister example, and when I search RFC 3261,3665 the word does not even appear, perhaps I'm searching for the wrong phrase. I manage to understand the part of setting the expires to zero, but it still does not work and I could not find documentation about how a formal unregister should be.

Does anyone knows how to compose an Unregister SIP Request? or what should I search for it?

3 Answers
3

An "unregister" is a REGISTER wherein you set the expires for one or more Contact URIs to 0. You may do so either with the Expires header - "Expires: 0" - which applies to all Contact URIs in the REGISTER, or with a parameter - "Contact: ;expires=0 - which will only affect that URI's registration.

You may also unregister ALL contact URIs for your address-of-record by adding "Contact: *" and "Expires: 0".

Well, I asked this question after hours of searching, and finally I found something relevant:

I cloned my initial Registration request, took the contact headers, and added expires(0) values to them, and I added an expires=0 header, worked like a charm though I didn't get the contact headers back from the server with expires=0, but it did unregister me since I stoped getting 102 Options from it (it used to send 5 of these every few seconds).

A UA requests the immediate removal of a binding by specifying an expiration interval of "0" for that contact address in a REGISTER request. Check out 10.2.2 Removing Bindings in RFC 3261 for more detailed information.