[OpenSIPS-Users] RLS(Resource List Server)

Anca Vamanu anca at voice-system.ro
Mon Nov 3 12:14:54 CET 2008


Hi Jeon,

The latest svn trunk( from Thursday) has the fix for this. Please update 
to the latest.

regards,
Anca

Yoo Chan Jeon wrote:
> Hi,  Anca
>  
> I download the codes from trunk side.
> I got a compile error.
>  
> rls/notify.c:765 'subs_t' has no member named 'sockinfo_str'
> rls/notify.c:769 'subs_t' has no member named 'sockinfo_str'
> rls/notify.c:769 'subs_t' has no member named 'sockinfo_str'
>  
> I found out that in presence/subscribe.h
> struct subscription
> {
>  
>  
>    struct socket_info* sockinfo;
>
> } is defined.
>  
>  
> But rls/notify.c use the one  in the 1.4 release which is  
> struct subscription
> {
>  
>  
>    str sockinfo_str;
> }
>  
>  
> Would you fix this one?
> I always appreciate your help.
>  
> Thanks.
>  
> Jeon
>  
>  
>
>  
> On Wed, Oct 29, 2008 at 8:43 AM, Anca Vamanu <anca at voice-system.ro 
> <mailto:anca at voice-system.ro>> wrote:
>
>     Hi Jeon,
>
>     I have committed the fixes on trunk. Could you please update and
>     test?
>
>
>     regards,
>     Anca
>
>     Yoo Chan Jeon wrote:
>
>         Now I understand how Openser RLS works.
>          My answers are in the red texts.
>         I am wondering if I have to change the codes.
>          Thanks.
>         Jeon
>
>         On Tue, Oct 28, 2008 at 12:15 PM, 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,
>
>            You are almost there :) but missing one piece of
>         information that
>            I will provide to you now.
>
>
>            Yoo Chan Jeon wrote:
>
>
>                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.
>
>            When receiving a Subscribe, RLS , as any notifier is obliged to
>            send an immediate Notify. So RLS check what state
>         information it
>            has , and since it has none at that time - it sends a
>         Notify with
>            empty body.
>            On the other hand, does this Notify receive a 200 OK from
>         Eyebeam?
>            
>           I am using the UA built using Sofia SIp
>
>            No, it receives the 400  Bad content Type header
>
>           I looked at the Notify msg which is sent from RLS.
>           It has a minor problem in the  Content-Type header
>           Our RLS has a
>          
>         ("multi-part/related;type="application/rlmi+xml";start=<12223.....>;boundary=..).
>           I checked this type with  rfc 4662
>           rfc 4662 has a
>          
>         (multi-part/related;type="application/rlmi+xml";start="<12223.....>";boundary=..).
>             There are three ''(doulbe quote) difference.
>           After I changed the  rls_notify_extra_hdr()  in the
>         rls/notify.c  to the same as in the rfc 4662 .
>           Notify msg does not inlcude xml body anymore.
>           Before the change, it has a xml body.
>           The chages are made in the following. I only changed the two
>         lines
>          if(start_cid && boundary_string)
>
>          {
>
>          str_hdr->len+= sprintf(str_hdr->s+str_hdr->len,
>
>          //"Content-Type:
>         \"multipart/related;type=\"application/rlmi+xml\"");
>
>          "Content-Type: multipart/related;type=\"application/rlmi+xml\"");
>
>          str_hdr->len+= sprintf(str_hdr->s+str_hdr->len,
>
>          //";start= <%s>;boundary=%s\r\n", start_cid, boundary_string);
>
>          ";start=\"<%s>\";boundary=%s\r\n", start_cid, boundary_string);
>
>         }
>
>            
>
>
>                5. Presence server sends notify msgs to the Openser RLS.
>
>            Now, when receiving a Notify from the presence server, the RLS
>            should send a Notify to Eyebeam with the update of the
>         state. Do
>            you see that?
>
>            I want to mention that there were some problems discovered
>         in RLS
>            at SIPIT, two weeks ago and I am working now at fixing
>         those. They
>            could also appear in your tests. Anyhow any trouble that
>         you find,
>            please report and I will check to see if it is a new or
>         know one.
>
>            Do you use the latest version of Eyebeam? Does it have RLS
>         support
>            again?
>
>            regards,
>            Anca Vamanu
>
>                    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>
>             <mailto: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
>
>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: anca.vcf
Type: text/x-vcard
Size: 208 bytes
Desc: not available
Url : http://lists.opensips.org/pipermail/users/attachments/20081103/22258c87/attachment.vcf 


More information about the Users mailing list