[OpenSIPS-Users] Userloc, Registrar, and issues with location entries being removed and user agents ignore expires enforcing

Bobby Smith bobby.smith at gmail.com
Thu Apr 16 23:18:46 CEST 2009


We're having an issue with userloc, registrar, and entries being removed
from the store.

Some devices, if behind home consumer routers, can not keep the nat pinhole
open long enough to actually receive calls if it's a very long duration
(say, 3600 seconds).  So, we try to enforce by the following:

modparam("usrloc", "db_mode",   2)
modparam("usrloc", "db_url",
        "dburl_here")
modparam("registrar", "default_expires", 30)
modparam("registrar", "min_expires", 15)
modparam("registrar", "max_expires", 45)

And the register message:

U 2009/04/16 16:55:13.922594 1.2.3.4:1076 -> 4.3.2.1:5060
REGISTER sip:4.3.2.1 SIP/2.0.
Via: SIP/2.0/UDP 1.2.3.4:1085;branch=z9hG4bK-12b688e4;rport.
From: "Extension" <sip:username at 4.3.2.1 <sip%3Ausername at 4.3.2.1>
>;tag=91682ba296592d12o0.
To: "Extension" <sip:username at 4.3.2.1 <sip%3Ausername at 4.3.2.1>>.
Call-ID: f2edcb48-8f3ca203 at 10.0.4.13.
CSeq: 50140 REGISTER.
Max-Forwards: 70.
Contact: "Extension" <sip:username at 1.2.3.4:1085>;expires=3600.
User-Agent: Linksys/SPA941-5.1.8.
Content-Length: 0.
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER.
Supported: replaces.
.

U 2009/04/16 16:55:13.922777 4.3.2.1:5060 -> 1.2.3.4:1076
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 1.2.3.4:1085;branch=z9hG4bK-12b688e4;rport=1076.
From: "Extension" <sip:username at 4.3.2.1 <sip%3Ausername at 4.3.2.1>
>;tag=91682ba296592d12o0.
To: "Extension" <sip:username at 4.3.2.1 <sip%3Ausername at 4.3.2.1>
>;tag=d956cb2540203ca43d36f1e0fd077845.d21c.
Call-ID: f2edcb48-8f3ca203 at 10.0.4.13.
CSeq: 50140 REGISTER.
Contact: <sip:username at 1.2.3.4:1076>;expires=45;received="sip:1.2.3.4:1076".
Server: OSips SIP (1.4.5).
Content-Length: 0.


Opensips removes the contact from the database after the replied timer,
which is 45 seconds -- however, the phone doesn't register again for 3600
seconds.

We know that other technologies will simply store the entries in a database
as stale, but lookups for that contact will work arbitrarily for an
indefinite amount of time.  I would like to limit the amount of contacts for
each user to just one (we don't support multiple contacts or presence), but
that as well in the issues seem to cause phones to deregister after the 45
second interval.

Is there an option or a flag that I'm missing so that even though I want to
enforce a default/min/max time, if the phone doesn't register in that
period, the contact still lingers around in memory for a predefined amount
of time?


Thanks again for all your help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20090416/a42f4dd1/attachment.htm 


More information about the Users mailing list