So I fixed a few things today 1. In subscribe.c:rls_get_by_service_uri The code was doing a strlen check as follows: if((uri->len==strlen(val)) && (strncmp(val, uri->s, uri->len)==0)) The uri coming in is: sip:8475551001@10.50.251.12 and the service uri in the rls-services list is: sip:8475551001@10.50.251.12;pres-list=rcs Hence, the above check was failing. So removing the length comparison made it go further 2. In notify.c:rls_get_resource_list the code is looking for %5b and %5d in a case-insensitive fashion. The client xml has %5B and %5D, so making the check case insensitive helped.
But now I am seeing the following errors:
Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:129]: reason: Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:117]: pres_uri: sip:8475551004@myip Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:130]: version: 3 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:118]: watcher_user@watcher_domain: 8475551001@myip Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:131]: expires: 3510 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:119]: to_user@to_domain: 8475551004@myip Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:133]: updated/updated_winfo: 0/0 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:120]: from_user@from_domain: 8475551001@myip Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence_xml [xcap_auth.c:201]: node1->name= rule Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:121]: callid/from_tag/to_tag: 79d86e7367f04a68-32412@127.0.0.1/533cb9e91f 4b999cf76861cbb9ed54ed-a97c/a6a1c5f60faecf035a1ae5b6e96e979a-7ed7 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence_xml [xcap_auth.c:209]: cond_node->name= conditions Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:122]: local_cseq/remote_cseq: 1/10 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence_xml [xcap_auth.c:419]: apply_rule= 1 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:123]: local_contact/contact: sip:myip:5060;transport=udp/sip:rls@10.50.251.12:5060 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: ERROR: presence_xml [notify_body.c:176]: while parsing the xml body message Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:124]: record_route: Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: ERROR: presence_xml [notify_body.c:133]: in function get_final_notify_body Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:125]: sockinfo_str: udp:myip:5060 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: ERROR: presence [notify.c:1470]: in function apply_auth_nbody Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:127]: event: presence Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: ERROR: presence [notify.c:1658]: sending Notify not successful Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:128]: status: pending Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: ERROR: presence [notify.c:1282]: Could not send notify for presence Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:129]: reason: Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:1451]: dialog info: Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:130]: version: 1 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:117]: pres_uri: sip:8475551001@myip Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:131]: expires: 1349821273 Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32412]: DEBUG: presence [notify.c:118]: watcher_user@watcher_domain: 8475551001@myip Oct 9 16:22:47 RCS-Presence /usr/local/sbin/kamailio[32414]: DEBUG: presence [notify.c:133]: updated/updated_winfo: 0/0
Not sure what the issue is now. Is this the notify that's getting send out to Client B requesting auth for presence? What xml is it trying to parse here:
doc = xmlParseMemory(notify_body->s, notify_body->len); if(doc== NULL) { LM_ERR("while parsing the xml body message\n"); goto error; }
Any help is appreciated. We just want to see a notification request being sent out to client B requesting auth for presence. Not sure if the above code is tied to that. Haven't been able to trace when send_last_notify gets triggered.
Thanks, Sangeeta