Hi Expert,
When a SUBSCRIBE message is received, OpenSER creates an entries in the ActiveWatcher table. This is used to generate NOTIFY message to watchers. The problem I have seen is that OpenSER keeps on creating new entries to the ActiveWatchers if the SIP UA deregister, register, deregister, register, etc. for several times. This triggers multiple NOTIFY messages to be sent to watchers. How does OpenSER remove entries in the ActiveWatcher table? It deosn't look like a SUBSCRIBE with expires=0 would delete an entry in the table.
Thanks, George
George Lee schrieb:
Hi Expert,
When a SUBSCRIBE message is received, OpenSER creates an entries in the ActiveWatcher table. This is used to generate NOTIFY message to watchers. The problem I have seen is that OpenSER keeps on creating new entries to the ActiveWatchers if the SIP UA deregister, register, deregister, register, etc. for several times. This triggers multiple NOTIFY messages to be sent to watchers. How does OpenSER remove entries in the ActiveWatcher table? It deosn't look like a SUBSCRIBE with expires=0 would delete an entry in the table.
It should, if not this is a bug. Of course there may be some delay as the write back to DB is not synchronous.
klaus
Thanks, George
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Klaus Darilion writes:
When a SUBSCRIBE message is received, OpenSER creates an entries in the ActiveWatcher table. This is used to generate NOTIFY message to watchers. The problem I have seen is that OpenSER keeps on creating new entries to the ActiveWatchers if the SIP UA deregister, register, deregister, register, etc. for several times. This triggers multiple NOTIFY messages to be sent to watchers. How does OpenSER remove entries in the ActiveWatcher table? It deosn't look like a SUBSCRIBE with expires=0 would delete an entry in the table.
It should, if not this is a bug. Of course there may be some delay as the write back to DB is not synchronous.
i just tested with twinkle and kamailio 1.4 and when twinkle un-susbcribes, it is deleted from active_watchers table.
perhaps you should try to upgrade your proxy.
-- juha
I don't have a proxy. I have Kamailio running as both SIP server and Presence server. When I subscribe and un-subscribe, subscribe and un-subscribe, it creates 2 entries for every contacts during subscribe but not removing the entries when un-subscribe. I don't know what's wrong. Here is my setup:
modparam("presence|presence_xml", "db_url", "mysql://openser:openserrw@10.1.20.43/openser") modparam("presence_xml", "force_active", 1) modparam("presence", "server_address", "sip:10.1.20.23:5060") modparam("presence", "fallback2db", 1)
Should I use the "fallback2db" option? If not, how big is the cache memory Kamailio needs to support a large subscriber base with thousands of contact lists.
Thanks,
On Wed, Oct 15, 2008 at 5:38 AM, Juha Heinanen jh@tutpro.com wrote:
Klaus Darilion writes:
When a SUBSCRIBE message is received, OpenSER creates an entries in the ActiveWatcher table. This is used to generate NOTIFY message to watchers. The problem I have seen is that OpenSER keeps on creating new entries to the ActiveWatchers if the SIP UA deregister, register, deregister, register, etc. for several times. This triggers multiple NOTIFY messages to be sent to watchers. How does OpenSER remove entries in the ActiveWatcher table? It deosn't look like a SUBSCRIBE with expires=0 would delete an entry in the table.
It should, if not this is a bug. Of course there may be some delay as the write back to DB is not synchronous.
i just tested with twinkle and kamailio 1.4 and when twinkle un-susbcribes, it is deleted from active_watchers table.
perhaps you should try to upgrade your proxy.
-- juha