[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