Skip to main content

Module registrar

Module registrar 

Source
Expand description

Registration (RFC 3261 §10): telling a registrar where to reach you, and keeping it told.

A registration is not a request, it is a lease. The interesting parts are all about the lease rather than the message:

  • The registrar decides the expiry, not the client. Asking for 3600 and being granted 60 is normal, and a client that refreshes on its own number instead of the granted one de-registers itself every time.
  • The refresh has to happen before the lease ends, with enough margin to retry. sipx uses 90% of the granted interval, floored so a very short lease still leaves room.
  • Call-ID stays the same across refreshes and CSeq increases. A new Call-ID makes it a new registration rather than a refresh, which is how a client ends up with duplicate contacts at the registrar.
  • A 401 or 407 is expected on the first attempt, not an error.

Structs§

Lease
How long a registration lease has left, and when to refresh it.
PathSet
The proxies a registrar recorded as being on the path back to this contact (RFC 3327).
Registered
A successful registration: the lease, and the two route vectors that came back with it.
Registration
What to register.
ServiceRoute
The proxies a registrar says this UA’s own requests must traverse (RFC 3608).

Enums§

Outcome
What a registration attempt produced.
RegistrationObservation
What the registrar’s top response Via says it observed as this registration’s source.
RegistrationObservationError
Why a successful REGISTER response did not contain one usable path observation.

Functions§

authorize
Add credentials answering a challenge to a request.
interpret
Read what a registrar said.