Hi, this part of config file is not sufficient for me, but I guess that RLS related things stayed as in the original config you mentioned... In which way it doesn't work? (For example it returns non OK responses?) Please could you try to capture HTTP traffic between XCAP server and SER? (If SER really queries the right resource list document.)
You can add more log information around important config parts (query_rls_services and query_resource_list functions are most important here).
BTW the second message you sent is not subscription to resource list or user, it is subscription to event package 'sip-profile' (content of Event header field) which is not supported by SER.
It is possible to use registration status as source for presence - in this case you have to have PA module on your server handling registrations and PA module parameter 'use_callbacks' must be set to 1.
Vaclav
On Fri, Mar 30, 2007 at 12:11:33PM +0200, Barta János wrote:
Hello!
Thanks for your answer. I'm using the standard config file (http://ftp.iptel.org/pub/ser/presence/cfg/full-no-failover.cfg), with a little modification, because I'm using radius authentication, accounting and media proxy.
loadmodule "/opt/lib/ser/modules/acc_radius.so" loadmodule "/opt/lib/ser/modules/mediaproxy.so" loadmodule "/opt/lib/ser/modules/auth_radius.so"
modparam("acc_radius","radius_config","/etc/radiusclient-ng/radiusclient.conf") modparam("acc_radius", "log_flag", 1) modparam("acc_radius", "log_missed_flag", 2)
modparam("rls", "db_url", "mysql://yyyyyyy:xxxxxx@10.22.1.222/ser_pa") modparam("domain|uri_db|auth_db|usrloc|msilo", "db_url", "mysql://yyyyyyy:xxxxxx@10.22.1.222/ser_pa")
if ((method=="INVITE") or (method=="BYE") or (method=="CANCEL")) { setflag(1); }
if (!radius_www_authorize("test.intra")) { www_challenge("test.intra", "0"); break; }; handle_rls_subscription("1");
route[1] {
if (method=="INVITE") { t_on_reply("1"); t_on_failure("1"); use_media_proxy(); } else if (method=="BYE|CANCEL") { end_media_session(); } # send it out now; use stateful forwarding as it works
reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; }
onreply_route[1] { if (status=~"(183)|2[0-9][0-9]") { use_media_proxy(); }; if (status=~"[3-6]0[0-9]") { end_media_session(); break; } } failure_route[1] { # forwarding failed -- check if the request was a MESSAGE if (!method=="MESSAGE") { break; }; log(1, "MSILO: MESSAGE forward failed - storing it\n"); # we have changed the R-URI with the contact address, ignore it now if (m_store("0", "")) { t_reply("202", "Accepted"); } else { log(1, "MSILO: offline message NOT stored\n"); t_reply("503", "Service Unavailable"); }; end_media_session(); }
I made a capture with Ethereal, and I can see that eyeBeam sent the "Supported: eventlist" field.
I inserted the lists of both type:
Global-list:
Message Header Via: SIP/2.0/UDP
10.22.2.134:9510;branch=z9hG4bK-d87543-dd118615e6316f41-1--d87543- Max-Forwards: 70 Contact: sip:12345@10.22.2.134:9510 To: sip:bartaj-list@test.intra SIP to address: sip:bartaj-list@test.intra From: "12345"sip:12345@test.intra;tag=0a48df34 SIP Display info: "12345" SIP from address: sip:12345@test.intra SIP tag: 0a48df34 Call-ID: ee79a62abd227204@S2FhbGlhLXhwLndlc3RlbC53ZXN0ZWw5MDAuaHU. CSeq: 1 SUBSCRIBE Expires: 60 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO Supported: eventlist User-Agent: CounterPath eyeBeam Event: presence Content-Length: 0
User-list:
Message Header Via: SIP/2.0/UDP
10.22.2.134:9510;branch=z9hG4bK-d87543-6300f275d049656e-1--d87543- Max-Forwards: 70 Contact: sip:12345@10.22.2.134:9510 To: sip:12345@test.intra SIP to address: sip:12345@test.intra From: "12345"sip:12345@test.intra;tag=cb3e2c5c SIP Display info: "12345" SIP from address: sip:12345@test.intra SIP tag: cb3e2c5c Call-ID: a46e4b35e4754144@S2FhbGlhLXhwLndlc3RlbC53ZXN0ZWw5MDAuaHU. CSeq: 1 SUBSCRIBE Expires: 3600 Accept: message/external-body Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO Supported: eventlist User-Agent: CounterPath eyeBeam Event: sip-profile;profile-type=application;app-id=resource-lists Content-Length: 0
The second case is working, but the first one is not. Is this maybe an EyeBeam problem? Which version of EyeBeam works fine (or which other client can I test it with)?
And I have another question. What can I do with those clients, that does not support the presence information (can I do something anyway?). For example: I have a "Cisco Call Manager Express" box, and some Cisco IP Phones, that reach other PC clients through the SER. The Cisco makes the registration (and reregistration) with the phone's identifiers too into the SER (but the presence information is not handled by the Cisco), and therefore if a PC client would like to add the Cisco phone into his buddy list, the presence won't be working.
...Record(0x405cc588)... domain: 'location' aor : '101$'
domain : 'location' aor : '101$' Contact : 'sip:101$@10.22.2.233:5060' Expires : Expired q : Call-ID : '9C5717E5-D7D211DB-804EA958-71810899' CSeq : 4103 User-Agent: 'Cisco-SIPGateway/IOS-12.x' received : '' State : CS_SYNC Flags : 0 next : (nil) prev : (nil) ~~~/Contact~~~~ .../Record... ...Record(0x405cc698)... domain: 'location' aor : '100$' ~~~Contact(0x405cc6d8)~~~ domain : 'location' aor : '100$' Contact : 'sip:100$@10.22.2.233:5060' Expires : Expired q : Call-ID : '9C5717E5-D7D211DB-804DA958-71810899' CSeq : 1364 User-Agent: 'Cisco-SIPGateway/IOS-12.x' received : '' State : CS_SYNC Flags : 0 next : (nil) prev : (nil) ~~~/Contact~~~~ .../Record... Is it possible, that the SER (in these cases) simulates a presence client (if the user registration is active, then the user is online, anyway offline)? Thanks, Jani -----Original Message----- From: Vaclav Kubart [mailto:vaclav.kubart@iptel.org] Sent: Wednesday, March 28, 2007 3:46 PM To: Barta János Cc: serusers@iptel.org Subject: Re: [Serusers] global contact list Hi, please can you send here your config file? By the way, in some EyeBeam versions was not possible to use "Subscribe to contact list" feature because in such cases EyeBeam didn't send header "Supported: eventlist". Vaclav On Tue, Mar 27, 2007 at 08:54:15AM +0200, Barta János wrote: > Hello! > > I have a little problem with the (global) contact list subscription > of the presence, please help me. > I installed the presence server (0.10.99-dev35-pa-4.1), and it works > without any problems. > But I can not use the "Subscribe to contact list" of the eyeBeam. (The > user subscribe list works fine.) I typed the next content into this > field (of the eyeBeam): > > sip:bartaj-list@test.intra > > > and my config file contains: > > sip:/var/xcap-root/rls-services/global# cat ./index <?xml > version="1.0" encoding="UTF-8"?> <rls-services> > > <service uri="sip:bartaj-list@test.intra"> > <list name="Human resources"> > <entry uri="sip:test1@test.intra"> > > <display-name>bartaj</display-name> > </entry> > <entry uri="sip:test2@test.intra"> > > <display-name>12345</display-name> > </entry> > </list> > <packages> > <package>presence</package> > </packages> > </service> > > </rls-services> > > But I can see only the user subscribe list, and can't see the global > one. > Why? > Can anybody help me? > Thx, > Jani > _____________________________________________________________________________________________________ Jean Michel Jarre: Téo és Téa, az új, ünnepi album 1990 Forintért, kizárólag a T-Online Zeneáruházban! http://zenearuhaz.t-online.hu/index.php?m=info&albumid=30593&sp=1&sty=21