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