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:[email protected] <sip%[email protected]>
>;tag=91682ba296592d12o0.
To: "Extension" <sip:[email protected] <sip%[email protected]>>.
Call-ID: [email protected].
CSeq: 50140 REGISTER.
Max-Forwards: 70.
Contact: "Extension" <sip:[email protected]: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:[email protected] <sip%[email protected]>
>;tag=91682ba296592d12o0.
To: "Extension" <sip:[email protected] <sip%[email protected]>
>;tag=d956cb2540203ca43d36f1e0fd077845.d21c.
Call-ID: [email protected].
CSeq: 50140 REGISTER.
Contact: <sip:[email protected]: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.
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to