<div>Hi, Anca</div>
<div> </div>
<div>I download the codes from trunk side.</div>
<div>I got a compile error.</div>
<div> </div>
<div>rls/notify.c:765 'subs_t' has no member named 'sockinfo_str'</div>
<div>rls/notify.c:769 'subs_t' has no member named 'sockinfo_str'</div>
<div>rls/notify.c:769 'subs_t' has no member named 'sockinfo_str'</div>
<div> </div>
<div>I found out that in presence/subscribe.h </div>
<div>struct subscription</div>
<div>{</div>
<div> </div>
<div> </div>
<div> struct socket_info* sockinfo;</div>
<div><br>} is defined.</div>
<div> </div>
<div> </div>
<div>But rls/notify.c use the one in the 1.4 release which is </div>
<div>struct subscription</div>
<div>{</div>
<div> </div>
<div> </div>
<div> str sockinfo_str;</div>
<div>}</div>
<div> </div>
<div> </div>
<div>Would you fix this one?</div>
<div>I always appreciate your help.</div>
<div> </div>
<div>Thanks.</div>
<div> </div>
<div>Jeon</div>
<div> </div>
<div> </div>
<div><br> </div>
<div class="gmail_quote">On Wed, Oct 29, 2008 at 8:43 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>I have committed the fixes on trunk. Could you please update and test?
<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">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></div>
<div class="Ih2E3d">On Tue, Oct 28, 2008 at 12:15 PM, 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></div>
<div>
<div></div>
<div class="Wj3C7c"> You are almost there :) but missing one piece of information that<br> I will provide to you now.<br><br><br> Yoo Chan Jeon wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><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></blockquote> When receiving a Subscribe, RLS , as any notifier is obliged to<br> send an immediate Notify. So RLS check what state information it<br>
has , and since it has none at that time - it sends a Notify with<br> empty body.<br> On the other hand, does this Notify receive a 200 OK from Eyebeam?<br> <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 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 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: \"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><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"> 5. Presence server sends notify msgs to the Openser RLS.<br></blockquote> Now, when receiving a Notify from the presence server, the RLS<br>
should send a Notify to Eyebeam with the update of the state. Do<br> you see that?<br><br> I want to mention that there were some problems discovered in RLS<br> at SIPIT, two weeks ago and I am working now at fixing those. They<br>
could also appear in your tests. Anyhow any trouble that you find,<br> please report and I will check to see if it is a new or know one.<br><br> Do you use the latest version of Eyebeam? Does it have RLS support<br>
again?<br><br> regards,<br> Anca Vamanu<br><br></div></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>
<div></div>
<div class="Wj3C7c"> 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></div></div>
<div class="Ih2E3d"> <<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> 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 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 Subscribe to<br> a list and sending it an aggregate Notify.<br>
To get the info to put in the Notify it sends Notifies<br> for each buddy in list to the presence server ( where the<br> clients have sent Publish messages). The server will then<br> reply with Notifies that will be processed with<br>
rls_handle_notify function.<br><br> regards,<br> Anca<br><br></div></blockquote></blockquote><br></blockquote></div><br>