El Thursday 09 August 2007 17:21:52 Iñaki Baz Castillo escribió:
Because I use pua_usrloc I want to apply pua_set_publish() in a REGISTER only if the user wasn't already registered (in order to avoid new NOTIFY with just "online" which can substitute the user client real state PUBLISH).
So I need a function to determine if the user is registered. I can't use: if ( ! lookup("location") { ... because that function checks the URI in "location" table, and in a REGISTER message the URI is just: sip:server
So I need a function to check if the "To:" field ($tu) is registered. Is that exist? or should I make a custom avp_query and so?
As I said, I acn implement this feature with a SQL query as I've done:
avp_db_query("select username,domain from location where username='$tU' AND domain='$td'"); if ($rc == -1) { # User not already registered. pua_set_publish(); }
but this jsut works fine with: modparam("usrloc", "db_mode", 1) and not with: modparam("usrloc", "db_mode", 2)
# Database mode: ## 0 = no database ## 1 = immediately write-through ## 2 = periodically write-back ## 3 = DB-only
That's because I was looking for a way to test if a user is registered or not by testing the To field ($rU) of the REGISTER message.
Thanks for any help. modparam("usrloc", "db_mode", 2)