[Devel] [ openser-Feature Requests-1583144 ] (Registrar)State information, for currently registered users

SourceForge.net noreply at sourceforge.net
Mon Nov 13 17:59:55 CET 2006

Feature Requests item #1583144, was opened at 2006-10-23 23:36
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: reticent (unspin)
>Assigned to: Bogdan (bogdan_iancu)
Summary: (Registrar)State information, for currently registered users

Initial Comment:
The "registrar" module supports a feature to send SIP 
OPTIONS messages as keepalives, this provides an 
opportunity to determine if the user is currently 
available or not

In the event that a user becomes unavailable their 
location information could be updated to include this 
information and subcequent useage of "lookup()" could 
take this into account

If the UAC is not responding to OPTIONS messages then 
its very likely that its not going to respond to an 
INVITE, in which case you can expediate processing of 
forwarding logic or an unavailable response

It may also be useful to be able to enable/disable 
this feature on a per registration basis as there are 
some UACs that do not support OPTIONS messages


>Comment By: Bogdan (bogdan_iancu)
Date: 2006-11-13 18:59

Logged In: YES 


actually the sent OPTION is not used to see if the clinet is
still reachable, but just for NAT pinging purposes.

The biggest problem with what you are looking for is the
fact that the OPTIONs are statelessly sent, so there is no
matching between the sent requests or received replies (if
any), so you cannot tell which client is up or not. Using a
statefull approach will have a huge performace penalties -
at every 10 secs you will need to send a statefull request
to *all* your registered clients....that will be a bit to

maybe a solution will be keep using stateless OPTIONS but to
encode in VIA (or CALLID) a reference to the contact it
pings to; the usrloc module will check the time difference
between the last sent request and last received reply.....



You can respond by visiting: 

More information about the Devel mailing list