[OpenSIPS-Users] RLS(Resource List Server)

Yoo Chan Jeon yoojeon at gmail.com
Mon Nov 3 22:01:26 CET 2008


Hello, Anca

I download this morning. I built and ran the presence server.
I guess that  rls_handle_suscribe() still has a problem.
After receving the SUBSCRIBR msg, it returns the NOTIFY msg without any
body,
and did not send  SUBSCRIBE msgs to each list.

Thanks.
Jeon


On Mon, Nov 3, 2008 at 6:14 AM, Anca Vamanu <anca at voice-system.ro> wrote:

> 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 --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20081103/e3045a84/attachment-0001.htm 


More information about the Users mailing list