One thing I forgot to include is the handling of the put:
case "PUT": xdbg("===== xhttp: put received $var(uri)\n"); xcaps_put("$var(uri)", "$hu", "$rb"); if($xcapuri(u=>auid)=~"pres-rules") { xdbg("====xhttp: putting presence rules\n");
pres_update_watchers("$var(uri)", "presence");
pres_refresh_watchers("$var(uri)", "presence", 1); } else if ($xcapuri(u=>auid)=~"resource-lists" || $xcapuri(u=>auid)=~"rls-services") { xdbg("==== xhttp: putting resource lists or rls services\n"); xlog("=======xhttp: calling rls_update_subs with: $var(uri)\n"); rls_update_subs("$var(uri)", "presence"); } exit; break;
So I have verified that when I add a contact it calls rls_update_subs. But it doesn't seem that this logic is triggering a notify to the client that I am subscribing to.
Thanks, Sangeeta
On Tue, Oct 9, 2012 at 10:44 AM, Sangeeta Shah sangeeta.shah@gmail.com wrote:
Daniel, I had debug=4 yesterday and I had to delete my logfiles this morning because the log partition was full. IT seems like when I have DB ONLY mode turned on for both presence and RLS there is a lot of logging causing the disk to fill up.
I have my debug level set to 3 and have also disabled the DB ONLY mode. If I notice the issue today I'll capture the necessary information and send it out.
One thing I do have to understand. Based on my understanding of the RFCs - if the clients subscribe to the presence.winfo event...when client A adds B to its contact list, the server is support to trigger a notification to B to request the authorization. I NEVER see that going out to client B. Is the server capable of doing this, especially with xcap and rls?
I have the following handling for subscribe in the config file:
else if( is_method("SUBSCRIBE")) { xdbg("======== Handling subscribe request ==== \n");
#!ifdef WITH_RLS $var(ret_code) = rls_handle_subscribe(); xdbg("========= RLS Handle subscriber returned with
ret code: $var(ret_code) ===\n"); if ($var(ret_code) == 10) #!endif xdbg("======== Calling Handle subscribe ===== \n"); handle_subscribe(); t_release(); }
Does rls_handle_subscribe create the virtual subscription and then since B is registered for presence.winfo, trigger a notification to B for the authorization. Am I missing any necessary logic here? Does the presence/rls server adhere to RFC 3857? The server has B's presence information in the presence table, but I think since there is presence.winfo events and RLS involved some call leg is not getting triggered to complete the flow.
Any help is appreciated. I am working on getting the trace and any other information that would be necessary to further debug this issue.
Thanks, Sangeeta On Mon, Oct 8, 2012 at 5:21 PM, Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
you should set debug=3 in your config file and watch the logs messages to get more details about what happens there.
I don't have any sip application that supports rls, so I'm not able to test, but classic SIMPLE presence should work fine.
Regards, Daniel
On 10/8/12 9:32 PM, Sangeeta Shah wrote:
I have Kamailio 3.3 with Presence, RLS and integrated XCAP.
I see this information message in the log file:
Oct 8 14:34:05 RCS-Presence /usr/local/sbin/kamailio[4530]: INFO: rls [rls_db.c:779]: update_subs_rlsdb: NO MATCH
Anyone know why the application is calling that method if it doesn't exist in rls_db.c.
I still haven't been able to get presence with rls and integrated xcap working so not sure if this is an issue or no. Currently for both presence and RLS i am using "DB-Only" mode.
Any help is appreciated. It seems like when client A adds client B as a contact, the kamalio server is not sending out an auth request to client B. Even though it's registered for presence.winfo events.
Thanks, Sangeeta
-- Daniel-Constantin Mierla - http://www.asipto.com http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Nov 5-8, 2012 - http://asipto.com/u/kat Kamailio Advanced Training, Miami, USA, Nov 12-14, 2012 - http://asipto.com/u/katu
-- Sangeeta Shah