[OpenSIPS-Users] RLS(Resource List Server)

Yoo Chan Jeon yoojeon at gmail.com
Fri Oct 31 20:27:26 CET 2008


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> 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>> 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>> 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/20081031/792d2b36/attachment-0001.htm 


More information about the Users mailing list