Thanks Anca<br><br>I have another issue with RLS Subscription expiration. I send a Subscribe to RLS and I expect a final (Subscription Ste=terminated) Notify when the subscriptione expires. But I receive no such message.<br>
On the other hand, after a few hours it seems indeed the subscription is not active anymore.<br><br>Sorry to bother you on this, maybe it is a configuration issue.<br><br>Best regards<br><br>Andrés<br><br><br><div class="gmail_quote">
2010/4/28 Anca Vamanu <span dir="ltr">&lt;<a href="mailto:anca@opensips.org">anca@opensips.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5">Andres2 Cores2 wrote:<br>
&gt; Thank you Anca<br>
&gt;<br>
&gt; In fact I am using the user-agent (picked it up from one config file),<br>
&gt; either my client either opensips.<br>
&gt;   if($hdr(User-Agent) =~ &quot;me&quot;)<br>
&gt;   {<br>
&gt;             xlog(&quot;L_DBG&quot;,&quot;RLS subscribe&quot;);<br>
&gt;             $var(ret_code)= rls_handle_subscribe();<br>
&gt;              if($var(ret_code)== 10){<br>
&gt;                          handle_subscribe();<br>
&gt;               }<br>
&gt;    }<br>
&gt;    else<br>
&gt;    {<br>
&gt;                   xlog(&quot;---- route 2 subscribe normal --- \n&quot;);<br>
&gt;                        handle_subscribe();<br>
&gt;    }<br>
&gt;<br>
&gt; Now, after some fixes of the configuration, it seems the flow is<br>
&gt; correctly managed.<br>
&gt; There is still one point I am not sure. I had some issues with the<br>
&gt; NOTIFY sent by PS to RLS<br>
&gt; that was not correctly managed and I fixed it by adding this condition<br>
&gt; for NOTIFY<br>
&gt;<br>
&gt;                         if<br>
&gt; ((is_method(&quot;SUBSCRIBE&quot;)||is_method(&quot;NOTIFY&quot;)) &amp;&amp; $rd == &quot;10.62.0.155&quot;) {<br>
&gt;                                 # in-dialog subscribe requests<br>
&gt;                                 route(2);<br>
&gt;                                 exit;<br>
&gt;                         }<br>
&gt;<br>
&gt; Where route(2) invokes rls_handle_notify() for NOTIFY requests.<br>
&gt;<br>
&gt; Do you think it is fine? It is not perfectly clear what is called the<br>
&gt; &quot;in-dialog&quot; subscribe requests.<br>
&gt;<br>
</div></div>Yes, the check is all right. The most common check is if &quot;uri ==<br>
myself&quot;, because then it is sure that the Notify is addressed to<br>
OpenSIPS. The stricter check is uri== &quot;what you set in server_address<br>
prameter for module rls&quot;.<br>
That comment line with in-dialog requests is put there because that if<br>
you look in the default configuration file - initial and in-dialog<br>
rquests are processed separately. The type is determined at the<br>
beginning and there are two different block for the two types of<br>
messages. So, for Subscribes route(2) is called in two places in the<br>
script - once for the initial ones and also for the in dialog ones.<br>
Anyhow that comment is not something you should worry about.<br>
<div class="im"><br>
Regards,<br>
<br>
--<br>
Anca Vamanu<br>
<a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a><br>
<br>
<br>
</div>&gt; Thanks for all.<br>
&gt; Andrew<br>
&gt;<br>
&gt;<br>
&gt; 2010/4/28 Anca Vamanu &lt;<a href="mailto:anca@opensips.org">anca@opensips.org</a> &lt;mailto:<a href="mailto:anca@opensips.org">anca@opensips.org</a>&gt;&gt;<br>
<div class="im">&gt;<br>
&gt;     Hi Andrew,<br>
&gt;<br>
&gt;     Thanks for your appreciation.<br>
&gt;     The thing that you need to take care with RLS are the Subscribe<br>
&gt;     messages<br>
&gt;     sent by the RLS server ( because this is the mechanism - when<br>
&gt;     receiving<br>
&gt;     a Subscribe for RLS the rls server will send more Subscribe<br>
&gt;     messages to<br>
&gt;     the presence server, and I see that you have the presence server<br>
&gt;     collocated with rls). You need to make sure that these are handled by<br>
&gt;     the presence server and that they do not go into rls again. For<br>
&gt;     this you<br>
&gt;     can check the source of the message and if it is the same machine just<br>
&gt;     call handle_subscribe.<br>
&gt;<br>
&gt;     if(is_method(&quot;SUBSCRIBE&quot;) &amp;&amp; si == &quot;_local_ip_&quot;)<br>
&gt;        handle_subscribe();<br>
&gt;<br>
&gt;     If you watch the network trace and log where each subscribe goes for<br>
&gt;     processing and still notice this errors, post again an email on<br>
&gt;     the list.<br>
&gt;<br>
&gt;     Regards,<br>
&gt;<br>
&gt;     --<br>
&gt;     Anca Vamanu<br>
</div>&gt;     <a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a> &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
<div><div></div><div class="h5">&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     Andres2 Cores2 wrote:<br>
&gt;     &gt; Hi,<br>
&gt;     &gt;<br>
&gt;     &gt; First of all we would like to thank the whole opensips team. For<br>
&gt;     &gt; testing our client, we are mainly interested in the presence and rls<br>
&gt;     &gt; topics and found that a pretty good set of features is available<br>
&gt;     right<br>
&gt;     &gt; now, so thanks for your job.<br>
&gt;     &gt;<br>
&gt;     &gt; During our tests we encountered an issue running opensips 1.6 in<br>
&gt;     &gt; rls-server mode (simple presence works fine). It seems to us it is<br>
&gt;     &gt; just a configuration issue or a bug in the routing rules, but we<br>
&gt;     can&#39;t<br>
&gt;     &gt; find out it.<br>
&gt;     &gt;<br>
&gt;     &gt; From the client point of view I cannot succeed in receiving presence<br>
&gt;     &gt; Notify messages body, only rlmi parts are provided.<br>
&gt;     &gt;<br>
&gt;     &gt; In fact it seems rls_handle_subscribe has issues when trying to send<br>
&gt;     &gt; Subscribes to Presence on behalf of rls. I have systematically<br>
&gt;     errors<br>
&gt;     &gt; &quot;presence:get_stored_info: record not found in hash_table&quot; and<br>
&gt;     &gt; sometimes &quot;Duplicate entry<br>
&gt;     &gt; &#39;sip:alice-list@promethee.test.com-cbb99ea81711c30ed9c0edf6&#39; for<br>
&gt;     key 2&quot;<br>
&gt;     &gt;<br>
&gt;     &gt; Typically:<br>
&gt;     &gt; Apr 26 13:45:57 [20047] ERROR:db_mysql:db_mysql_do_prepared_query:<br>
&gt;     &gt; driver error: Duplicate entry<br>
&gt;     &gt; &#39;sip:alice-list@promethee.test.com-cbb99ea81711c30ed9c0edf6&#39; for<br>
&gt;     key 2<br>
&gt;     &gt; Apr 26 13:45:57 [20047] ERROR:presence:update_db_subs: unsuccessful<br>
&gt;     &gt; sql insert<br>
&gt;     &gt; Apr 26 13:46:01 [20045] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 13:46:01 [20045] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 13:46:11 [20045] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 13:46:11 [20045] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 13:46:21 [20045] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 13:46:21 [20045] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 14:25:40 [20586] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 14:25:40 [20586] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 14:25:45 [20586] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 14:25:45 [20586] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 14:25:50 [20586] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 14:25:50 [20586] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 14:25:55 [20586] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 14:25:55 [20586] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 14:26:05 [20586] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 14:26:05 [20586] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt; Apr 26 14:26:09 [20586] ERROR:presence:get_stored_info: record not<br>
&gt;     &gt; found in hash_table<br>
&gt;     &gt; Apr 26 14:26:09 [20586] ERROR:presence:handle_subscribe: getting<br>
&gt;     &gt; stored info<br>
&gt;     &gt;<br>
&gt;     &gt; My main settings for presence and rls modules are:<br>
&gt;     &gt;<br>
&gt;     &gt; modparam(&quot;presence|presence_xml&quot;,<br>
&gt;     &gt; &quot;db_url&quot;,&quot;mysql://opensips:opensipsrw@localhost/opensips&quot;)<br>
&gt;     &gt; modparam(&quot;presence&quot;, &quot;server_address&quot;,<br>
&gt;     &quot;<a href="http://sip:pres@10.62.0.155:5060" target="_blank">sip:pres@10.62.0.155:5060</a> &lt;<a href="http://sip:pres@10.62.0.155:5060" target="_blank">http://sip:pres@10.62.0.155:5060</a>&gt;<br>
&gt;     &gt; &lt;<a href="http://sip:pres@10.62.0.155:5060" target="_blank">http://sip:pres@10.62.0.155:5060</a>&gt;&quot;)<br>
&gt;     &gt; modparam(&quot;presence&quot;, &quot;clean_period&quot;,  30)<br>
&gt;     &gt; modparam(&quot;presence_xml&quot;, &quot;integrated_xcap_server&quot;, 1)<br>
&gt;     &gt;<br>
&gt;     &gt; modparam(&quot;pua&quot;, &quot;db_url&quot;,<br>
&gt;     &gt; &quot;mysql://opensips:opensipsrw@localhost/opensips&quot;)<br>
&gt;     &gt;<br>
&gt;     &gt; # -- rls parameters --<br>
&gt;     &gt; modparam(&quot;rls&quot;,&quot;db_url&quot;,<br>
&gt;     &quot;mysql://opensips:opensipsrw@localhost/opensips&quot;)<br>
&gt;     &gt; modparam(&quot;rls&quot;, &quot;server_address&quot;, &quot;<a href="http://sip:rls@10.62.0.155:5060" target="_blank">sip:rls@10.62.0.155:5060</a><br>
&gt;     &lt;<a href="http://sip:rls@10.62.0.155:5060" target="_blank">http://sip:rls@10.62.0.155:5060</a>&gt;<br>
&gt;     &gt; &lt;<a href="http://sip:rls@10.62.0.155:5060" target="_blank">http://sip:rls@10.62.0.155:5060</a>&gt;&quot;)<br>
&gt;     &gt; modparam(&quot;rls&quot;, &quot;integrated_xcap_server&quot;, 1)<br>
&gt;     &gt; modparam(&quot;rls&quot;,<br>
&gt;     &quot;xcap_root&quot;,&quot;<a href="http://promethee.test.com:8888/xcap-root" target="_blank">http://promethee.test.com:8888/xcap-root</a>&quot; )<br>
&gt;     &gt; modparam(&quot;rls&quot;, &quot;presence_server&quot;, &quot;<a href="http://sip:pres@10.62.0.155:5060" target="_blank">sip:pres@10.62.0.155:5060</a><br>
&gt;     &lt;<a href="http://sip:pres@10.62.0.155:5060" target="_blank">http://sip:pres@10.62.0.155:5060</a>&gt;<br>
&gt;     &gt; &lt;<a href="http://sip:pres@10.62.0.155:5060" target="_blank">http://sip:pres@10.62.0.155:5060</a>&gt;&quot;)<br>
&gt;     &gt; modparam(&quot;rls&quot;, &quot;to_presence_code&quot;, 10)<br>
&gt;     &gt; modparam(&quot;xcap_client&quot;,&quot;periodical_query&quot;,1)<br>
&gt;     &gt; modparam(&quot;xcap_client&quot;,&quot;query_period&quot;,10)<br>
&gt;     &gt; modparam(&quot;xcap_client&quot;,&quot;db_url&quot;,<br>
&gt;     &gt; &quot;mysql://opensips:opensipsrw@localhost/opensips&quot;)<br>
&gt;     &gt;<br>
&gt;     &gt; I can send you the routing rules if neeeded.<br>
&gt;     &gt;<br>
&gt;     &gt; Could you please help us?<br>
&gt;     &gt;<br>
&gt;     &gt; Many thanks<br>
&gt;     &gt;<br>
&gt;     &gt; Andrew<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;<br>
&gt;     &gt; _______________________________________________<br>
&gt;     &gt; Users mailing list<br>
</div></div>&gt;     &gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
<div class="im">&gt;     &gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;     &gt;<br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     Users mailing list<br>
</div>&gt;     <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
<div><div></div><div class="h5">&gt;     <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br>