[Serusers] global contact list

Vaclav Kubart vaclav.kubart at iptel.org
Tue Apr 3 11:17:38 CEST 2007


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 at 10.22.2.134:9510>
>         To: <sip:bartaj-list at test.intra>
>             SIP to address: sip:bartaj-list at test.intra
>         From: "12345"<sip:12345 at test.intra>;tag=0a48df34
>             SIP Display info: "12345"
>             SIP from address: sip:12345 at test.intra
>             SIP tag: 0a48df34
>         Call-ID:
> ee79a62abd227204 at 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 at 10.22.2.134:9510>
>         To: <sip:12345 at test.intra>
>             SIP to address: sip:12345 at test.intra
>         From: "12345"<sip:12345 at test.intra>;tag=cb3e2c5c
>             SIP Display info: "12345"
>             SIP from address: sip:12345 at test.intra
>             SIP tag: cb3e2c5c
>         Call-ID:
> a46e4b35e4754144 at 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$'
> ~~~Contact(0x405cc5c8)~~~
> 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 at iptel.org] 
> Sent: Wednesday, March 28, 2007 3:46 PM
> To: Barta János
> Cc: serusers at 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 at 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 at test.intra">
> >                 <list name="Human resources">
> >                         <entry uri="sip:test1 at test.intra">
> >                                
> > <display-name>bartaj</display-name>
> >                         </entry>
> >                         <entry uri="sip:test2 at 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



More information about the sr-users mailing list