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)
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es