<div>Hello, Anca</div>
<div> </div>
<div>I download this morning. I built and ran the presence server.</div>
<div>I guess that rls_handle_suscribe() still has a problem.</div>
<div>After receving the SUBSCRIBR msg, it returns the NOTIFY msg without any body,</div>
<div>and did not send SUBSCRIBE msgs to each list.</div>
<div> </div>
<div>Thanks.</div>
<div>Jeon</div>
<div> </div>
<div> </div>
<div class="gmail_quote">On Mon, Nov 3, 2008 at 6:14 AM, Anca Vamanu <span dir="ltr"><<a href="mailto:anca@voice-system.ro">anca@voice-system.ro</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Jeon,<br><br>The latest svn trunk( from Thursday) has the fix for this. Please update to the latest.
<div class="Ih2E3d"><br><br>regards,<br>Anca<br><br>Yoo Chan Jeon wrote:<br></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="Ih2E3d">Hi, Anca<br> I download the codes from trunk side.<br>I got a compile error.<br> rls/notify.c:765 'subs_t' has no member named 'sockinfo_str'<br>rls/notify.c:769 'subs_t' has no member named 'sockinfo_str'<br>
rls/notify.c:769 'subs_t' has no member named 'sockinfo_str'<br> I found out that in presence/subscribe.h<br>struct subscription<br>{<br> struct socket_info* sockinfo;<br><br>} is defined.<br> But rls/notify.c use the one in the 1.4 release which is struct subscription<br>
{<br> str sockinfo_str;<br>}<br> Would you fix this one?<br>I always appreciate your help.<br> Thanks.<br> Jeon<br> <br></div>
<div class="Ih2E3d"> On Wed, Oct 29, 2008 at 8:43 AM, Anca Vamanu <<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a> <mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a>>> wrote:<br>
<br> Hi Jeon,<br><br> I have committed the fixes on trunk. Could you please update and<br> test?<br><br><br> regards,<br> Anca<br><br> Yoo Chan Jeon wrote:<br><br> Now I understand how Openser RLS works.<br>
My answers are in the red texts.<br> I am wondering if I have to change the codes.<br> Thanks.<br> Jeon<br><br> On Tue, Oct 28, 2008 at 12:15 PM, Anca Vamanu<br> <<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a> <mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a>><br>
</div> <mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a> <mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a>>>>
<div>
<div></div>
<div class="Wj3C7c"><br> wrote:<br><br> Hi Jeon,<br><br> You are almost there :) but missing one piece of<br> information that<br> I will provide to you now.<br><br><br> Yoo Chan Jeon wrote:<br>
<br><br> Thanks Anca.<br> I checked the Wireshark trace, and your presentation.<br> Openser RLS seems to send a notify to the user before it<br> receives notify msgs from the presence server.<br>
The Wireshark trace steps are following:<br> I explained the trace using your presentation: 1.Eyebeam subscibes to my list<br> 2. Openser RLS subscribes to Presence server.<br>
3. Openser RLS sends a 200 to the Eyebeam.<br> 4. Openser RLS sends a full notify to the Eyebeam without<br> presence states.<br><br> When receiving a Subscribe, RLS , as any notifier is obliged to<br>
send an immediate Notify. So RLS check what state<br> information it<br> has , and since it has none at that time - it sends a<br> Notify with<br> empty body.<br> On the other hand, does this Notify receive a 200 OK from<br>
Eyebeam?<br> I am using the UA built using Sofia SIp<br><br> No, it receives the 400 Bad content Type header<br><br> I looked at the Notify msg which is sent from RLS.<br> It has a minor problem in the Content-Type header<br>
Our RLS has a<br> ("multi-part/related;type="application/rlmi+xml";start=<12223.....>;boundary=..).<br> I checked this type with rfc 4662<br> rfc 4662 has a<br>
(multi-part/related;type="application/rlmi+xml";start="<12223.....>";boundary=..).<br> There are three ''(doulbe quote) difference.<br> After I changed the rls_notify_extra_hdr() in the<br>
rls/notify.c to the same as in the rfc 4662 .<br> Notify msg does not inlcude xml body anymore.<br> Before the change, it has a xml body.<br> The chages are made in the following. I only changed the two<br>
lines<br> if(start_cid && boundary_string)<br><br> {<br><br> str_hdr->len+= sprintf(str_hdr->s+str_hdr->len,<br><br> //"Content-Type:<br> \"multipart/related;type=\"application/rlmi+xml\"");<br>
<br> "Content-Type: multipart/related;type=\"application/rlmi+xml\"");<br><br> str_hdr->len+= sprintf(str_hdr->s+str_hdr->len,<br><br> //";start= <%s>;boundary=%s\r\n", start_cid, boundary_string);<br>
<br> ";start=\"<%s>\";boundary=%s\r\n", start_cid, boundary_string);<br><br> }<br><br> <br><br> 5. Presence server sends notify msgs to the Openser RLS.<br><br>
Now, when receiving a Notify from the presence server, the RLS<br> should send a Notify to Eyebeam with the update of the<br> state. Do<br> you see that?<br><br> I want to mention that there were some problems discovered<br>
in RLS<br> at SIPIT, two weeks ago and I am working now at fixing<br> those. They<br> could also appear in your tests. Anyhow any trouble that<br> you find,<br> please report and I will check to see if it is a new or<br>
know one.<br><br> Do you use the latest version of Eyebeam? Does it have RLS<br> support<br> again?<br><br> regards,<br> Anca Vamanu<br><br> I guess that step 4 should be called after step 5.<br>
I checked the codes again.<br> The rls_handle_subscribe() calls resource_subscription(),<br> reply_200(), and send_full_notify().<br> The resource_suscription() does the step 2.<br>
The reply_200() does the step 3.<br> The send_full_notify() dose the step 4.<br> The rls_handle_subscribe() never wait for step 5.<br> What did I do wrong ? Thanks<br>
Jeon<br><br> On Tue, Oct 28, 2008 at 9:14 AM, Anca Vamanu<br> <<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a> <mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a>><br>
<mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a><br></div></div>
<div>
<div></div>
<div class="Wj3C7c"> <mailto:<a href="mailto:anca@voice-system.ro" target="_blank">anca@voice-system.ro</a>>>> wrote:<br><br> You can also find the slide presentation here:<br> <a href="http://opensips.org/index.php?n=Resources.DocsPapPa" target="_blank">http://opensips.org/index.php?n=Resources.DocsPapPa</a>.<br>
<br> Anca<br><br> Anca Vamanu wrote:<br><br> Hi Jeon,<br><br> You are missing something.<br> Here is a link at the slides from the<br>
presentation I held<br> at VON, San Jose this year -<br> <a href="http://www.slideshare.net/alwaysoncarl/vamanu-anca/" target="_blank">http://www.slideshare.net/alwaysoncarl/vamanu-anca/</a> ( we<br>
will put it on our site also).<br> At page 24 there is a scheme with how RLS works.<br> It interacts with the client by receiving a<br> Subscribe to<br>
a list and sending it an aggregate Notify.<br> To get the info to put in the Notify it sends<br> Notifies<br> for each buddy in list to the presence server (<br>
where the<br> clients have sent Publish messages). The server<br> will then<br> reply with Notifies that will be processed with<br> rls_handle_notify function.<br>
<br> regards,<br> Anca<br><br><br><br></div></div></blockquote><br></blockquote></div><br>