[OpenSIPS-Users] RLS(Resource List Server)]
Anca Vamanu
anca at voice-system.ro
Wed Oct 29 11:21:12 CET 2008
Hi Sireesha,
If you want to forward the SUBSCRIBE message to a different server, then
in the SUBSCRIBE section from route[2] you should have something like this:
if(is_method("SUBSCRIBE"))
{
if($hdr("User-Agent") =~"Eyebeam") /* this is an optional
check - if you have can identify RLS request after the SIP client*/
{
$var(ret_code)= rls_handle_subscribe();
if($var(ret_code)== 10)
{
setdsturi("sip:ip_of_presence_server:port")
route(1);
}
}
else
{
if($var(ret_code)== 10)
{
setdsturi("sip:ip_of_presence_server:port")
route(1);
}
}
t_release();
}
As for the Subscribes sent by RLS, you can check in the main proxy if
the source is the rls server, and then forward them to the presence server.
if(src_ip==ip_of_rls_server)
{
setdsturi("sip:ip_of_presence_server:port")
route(1);
}
I am working now at a patch in rls which adds an exported parameter to
rls modules - presence_server - which should be set to the ip address of
the presence module.
With this you will no longer need a special processing for Subscribes
from RLS in the main proxy, as they will be sent directly to the
presence server.
regards,
Anca
PS: Notice that I have put the users list at cc. Please do not e-mail me directly.
Sireesha Jakku wrote:
> Hi,
>
> I am also working on RLS and very new to openser..
>
> I follwed the config file given at :
> http://opensips.org/index.php?n=Resources.RlsConfig
> It is working fine ...but it is doing the work of both presence and RLS..
>
> Is there any way, that i can configure RLS separately as an
> application server?
> so that i can have presence server and RLS running as separate servers..
>
> One point where I struck was, when subscribe message comes to RLS, how
> to forward to presence server?
> if you people can send me a snippet of config file, on how to forward,
> that will be very helpful for me..
>
> Thankyou in advace.
>
> Regards,
> Sireesha
>
>
>
> ----- Original Message -----
> *From:* Yoo Chan Jeon <mailto:yoojeon at gmail.com>
> *To:* Anca Vamanu <mailto:anca at voice-system.ro>
> *Cc:* users at lists.opensips.org <mailto:users at lists.opensips.org>
> *Sent:* Tuesday, October 28, 2008 9:36 PM
> *Subject:* Re: [OpenSIPS-Users] RLS(Resource List Server)
>
>
> Thanks Anca.
> I checked the Wireshark trace, and your presentation.
> Openser RLS seems to send a notify to the user before it
> receives notify msgs from the presence server.
> The Wireshark trace steps are following:
> I explained the trace using your presentation:
>
> 1.Eyebeam subscibes to my list
> 2. Openser RLS subscribes to Presence server.
> 3. Openser RLS sends a 200 to the Eyebeam.
> 4. Openser RLS sends a full notify to the Eyebeam without presence
> states.
> 5. Presence server sends notify msgs to the Openser RLS.
>
> I guess that step 4 should be called after step 5.
>
> I checked the codes again.
> The rls_handle_subscribe() calls resource_subscription(),
> reply_200(), and send_full_notify().
> The resource_suscription() does the step 2.
> The reply_200() does the step 3.
> The send_full_notify() dose the step 4.
>
> The rls_handle_subscribe() never wait for step 5.
> What did I do wrong ?
>
> Thanks
> Jeon
>
>
> On Tue, Oct 28, 2008 at 9:14 AM, Anca Vamanu <anca at voice-system.ro
> <mailto:anca at voice-system.ro>> wrote:
>
> You can also find the slide presentation here:
> http://opensips.org/index.php?n=Resources.DocsPapPa.
>
> Anca
>
> Anca Vamanu wrote:
>
> Hi Jeon,
>
> You are missing something.
> Here is a link at the slides from the presentation I held
> at VON, San Jose this year -
> http://www.slideshare.net/alwaysoncarl/vamanu-anca/ ( we
> will put it on our site also).
> At page 24 there is a scheme with how RLS works.
> It interacts with the client by receiving a Subscribe to a
> list and sending it an aggregate Notify.
> To get the info to put in the Notify it sends Notifies for
> each buddy in list to the presence server ( where the
> clients have sent Publish messages). The server will then
> reply with Notifies that will be processed with
> rls_handle_notify function.
>
> regards,
> Anca
>
>
> Yoo Chan Jeon wrote:
>
>
> Hi,
> I looked at the codes.
> The send_full_notify() api in the rls/notif.c sends
> the notify msg. That api is called in the
> rls_handle_subscribe().
> It is checking the rls_presentity table if the list
> has presence states.
> The rls_presentity table is written in the
> rls_handle_notify() which is called if the server
> receives a notify msg.
> The server recieves a subscribe(list) msg , sends a
> 200 msg, and a notify msg.
> I do not think the notify msg will never have the
> presence states.
> Is this a bug in the codes or am I missing something?
> Thanks.
> Jeon
>
>
> On Mon, Oct 27, 2008 at 10:49 AM, Yoo Chan Jeon
> <yoojeon at gmail.com <mailto:yoojeon at gmail.com>
> <mailto:yoojeon at gmail.com <mailto:yoojeon at gmail.com>>>
> wrote:
>
> Thanks Anca.
> I copied the xml file to the xcap.doc column. I
> put the
> username(list), doc_type(4), and domain(domain)
> I published the joe, bob and tom's state. I
> sent a subscribe msg to the list at domain
> <mailto:list at domain <mailto:list at domain>>.
> I received the notify msg with the following xml
> message body.
> I got a list of uri, but the xml body did not have
> a each uri's state.
> I checekd the presentity database. it has the joe,
> bob, and
> tom presentity state.
> What am I missing?
> <?xml version="1.0" encoding="UTF-8"?>
> <list uri="sip:list at domain"
> xmlns="urn:ietf:params:xml:ns:rlmi"
> version="1" fullState="true">
> <resource uri="sip: joe at domain"
> <mailto:joe at domain <mailto:joe at domain>>>
> <resource uri="sip: bob at domain">
> <resource uri="sip: tom at domain"
> <mailto:tom at domain <mailto:tom at domain>%22>> </list>
>
> Thanks.
> Jeon
>
> On Thu, Oct 23, 2008 at 7:08 AM, Anca Vamanu
> <anca at voice-system.ro <mailto:anca at voice-system.ro>
> <mailto:anca at voice-system.ro
> <mailto:anca at voice-system.ro>>> wrote:
>
> Hi Jeon,
>
> The column was changed from type text to type
> blob because
> there was a problem with postgres db. However
> the text is not
> transformed into binary but written as text and
> extracted as text.
> And yes, you should put the whole xml in the
> doc column.
>
> regards,
> Anca
>
> Yoo Chan Jeon wrote:
>
> Hi, Anca
> Thanks for your information.
> I was busy doing other issues in the
> presence server.
> Now I am back to this issue.
> I checked the xcap data structure, and
> source codes.
> The xcap doc column's type is a BLOB in the
> database. But
> I looked at the codes. It seems to save the
> doc as a
> string not a BLOB.
> I am still confused.
> How do I save the xml sample you wrote to
> the doc column?
> I mean the list.
> Should I put the whole xml to the doc
> column in the xcap
> table?
> Thanks.
> Jeon
>
> On Thu, Oct 2, 2008 at 9:38 AM, Anca Vamanu
> <anca at voice-system.ro
> <mailto:anca at voice-system.ro>
> <mailto:anca at voice-system.ro
> <mailto:anca at voice-system.ro>>
> <mailto:anca at voice-system.ro
> <mailto:anca at voice-system.ro>
> <mailto:anca at voice-system.ro
> <mailto:anca at voice-system.ro>>>> wrote:
>
> Hi Jeon,
>
> If you want to simulate an xcap server
> for rls you can
> do that by
> doing the following:
> 1. set integrated_xcap_server parameter
> in rls module to 1.
> 2. write the list in xcap table ,
> putting value '4' in
> 'doc_type'
> column.
> You should complete only columns:
> username, domain, doc and
> doc_type, because these are the only
> ones used by the
> rls server.
> The list must have the format described
> in RFC 4826
> <http://www.ietf.org/rfc/rfc4826.txt>.
> For the example
> that you
> gave it would look something like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <resource-lists
> xmlns="urn:ietf:params:xml:ns:resource-lists">
> <list name="SIMPLE Buddy List">
> <display-name>SIMPLE Buddy
> List</display-name>
> <entry uri="sip: joe at domain
> <mailto:joe at domain <mailto:joe at domain>
> <mailto:joe at domain <mailto:joe at domain>>
> <mailto:joe at domain <mailto:joe at domain>
> <mailto:joe at domain <mailto:joe at domain>>>>">
>
> <display-name>joe</display-name>
> </entry>
> <entry uri="sip: bob at domain
> <mailto:joe at domain <mailto:joe at domain>
> <mailto:joe at domain <mailto:joe at domain>>
> <mailto:joe at domain <mailto:joe at domain>
> <mailto:joe at domain <mailto:joe at domain>>>>">
>
> <display-name>bob</display-name>
> </entry>
> <entry uri="sip:tom at domain
> <mailto:tom at domain <mailto:tom at domain>
> <mailto:tom at domain <mailto:tom at domain>>
> <mailto:tom at domain <mailto:tom at domain>
> <mailto:tom at domain <mailto:tom at domain>>>>">
>
> <display-name>tom</display-name>
> </entry>
> </list></resource-lists>
>
> regards,
> Anca Vamanu
>
> Yoo Chan Jeon wrote:
>
>
> Hi,
> I just want to know how RLS handles
> SUBSCRIBE
> messages without
> using XCAP.
> I assume that the server already has
> the list
> information.
> I want send the SUBSRIBE message
> with resource list
> format:
>
> SUBSCRIBE sip:list at domain
> .
> .
> supported:eventlist
> Accept:application/rlmi+xml
> Accept:multipart/related
> I added rls, presence,
> presence_xml, and pua
> modlues in the
> configuration file.
> I do not have any problems to run
> the server.
> Which database should I add list at doamin
> <mailto:list at doamin <mailto:list at doamin>
> <mailto:list at doamin <mailto:list at doamin>>
> <mailto:list at doamin
> <mailto:list at doamin> <mailto:list at doamin
> <mailto:list at doamin>>>> to?
>
> How do I add the resource list?
> What kind of format do I need to add
> a list if I
> want to add
> joe at domain <mailto:joe at domain
> <mailto:joe at domain> <mailto:joe at domain
> <mailto:joe at domain>>
> <mailto:joe at domain <mailto:joe at domain>
> <mailto:joe at domain <mailto:joe at domain>>>>, bob at domain
> <mailto:bob at domain
> <mailto:bob at domain> <mailto:bob at domain
> <mailto:bob at domain>>
> <mailto:bob at domain <mailto:bob at domain>
> <mailto:bob at domain <mailto:bob at domain>>>>, tom at domain
> <mailto:tom at domain
> <mailto:tom at domain> <mailto:tom at domain
> <mailto:tom at domain>>
> <mailto:tom at domain <mailto:tom at domain>
> <mailto:tom at domain <mailto:tom at domain>>>> ?
>
>
> Do you have some kind of examples?
>
> Thanks you.
> Jeon
>
>
> ------------------------------------------------------------------------
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> <mailto:Users at lists.opensips.org>
> <mailto:Users at lists.opensips.org
> <mailto:Users at lists.opensips.org>>
> <mailto:Users at lists.opensips.org
> <mailto:Users at lists.opensips.org>
> <mailto:Users at lists.opensips.org
> <mailto:Users at lists.opensips.org>>>
>
>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
>
> ------------------------------------------------------------------------
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
More information about the Users
mailing list