Sebastian Murray-Roberts wrote:
Hi,
I'm trying to set up OpenSER as a presence server without using
force_active
(ie to allow authorization). I have two x-lite clients which register with
OpenSER and can subscribe to each other. I get a prompt on each client
asking whether to authorize the other, but if I click yes no presence info
is displayed.
This is because xlite does not support XCAP. Usually the SIP client
would (after clicking on yes) update the presrules and upload it via
xcap to the server. Then, the server sets subscriptions to "active".
AFAIK with xlite you have to use force_active=1 as it does not support XCAP.
regards
klaus
If I restart either of the x-lites the authorization message
appears again. I know this is because the subs_status
field of the watchers
table is not being changed from "pending" to "active". If I run a
packet
capture when starting up x-lite, it sends the 200 OK to the notify provided
by OpenSER, but when I click "allow" in the authorization box, nothing is
sent to OpenSER.
Has anyone got presence working with x-lite without using force_active? If
so, is there anything I'm missing? My config file is as follows:
debug=7 # debug level (cmd line: -dddddddddd)
fork=no
log_stderror=yes
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
listen=udp:192.168.1.107:5060
children=4
mpath="/usr/local/lib/openser/modules/"
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "maxfwd.so "
loadmodule "textops.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "presence.so"
loadmodule "avpops.so"
loadmodule "mi_fifo.so"
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
modparam("usrloc", "db_mode", 3)
modparam("rr", "enable_full_lr", 1)
modparam("presence|^usrloc$", "db_url","
mysql://user:pass@localhost
/openser")
modparam("presence", "force_active", 0)
modparam("presence", "max_expires", 3600)
modparam("presence", "server_address", "sip:
192.168.1.107:5060")
route{
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
if (!is_method("REGISTER"))
record_route();
if (loose_route()) {
route(1);
exit;
};
if (!uri==myself) {
route(1);
exit;
};
if (uri==myself) {
if (method=="REGISTER") {
save("location");
exit;
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
};
if( is_method("PUBLISH|SUBSCRIBE")) {
route(2);
exit;
};
route(1);
}
route[1] {
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[2]
{
sl_send_reply("100","trying");
if (!t_newtran())
{
sl_reply_error();
exit;
};
if(is_method("PUBLISH"))
{
handle_publish();
t_release();
}
else if( is_method("SUBSCRIBE"))
{
handle_subscribe();
t_release();
};
exit;
}
Thanks in advance,
Sebastian
------------------------------------------------------------------------
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users