[OpenSIPS-Devel] Fwd: [RLS] Cannot found service uri in rls-services

Eric PTAK eric.ptak.fr at gmail.com
Sun Dec 14 12:06:48 CET 2008


I forward this mail with an attached fix for the issue I encountered.
It enables the service lookup to include parameters from the URI.
So the RLS now respond with a 200OK to the subscribe request for a
parametized service uri.

But I'm still stuck because the service node parser doesn't handle
resource-list tag in the service node so the RLS doesn't expand
subscription...
This could be fixed inside notify.c:process_list_and_exec

Eric.


---------- Forwarded message ----------
From: Eric PTAK <eric.ptak.fr at gmail.com>
Date: 2008/12/13
Subject: Re: [RLS] Cannot found service uri in rls-services
To: users at lists.opensips.org


After a look at modules/rls/subcribe.c from trunk, I found line 557 :
        if(uandd_to_uri(msg->parsed_uri.user, msg->parsed_uri.host,
                    &subs.pres_uri)< 0)

then, line 566 :
        if( get_resource_list(&subs.pres_uri, fu.user, fu.host,
                    &service_node, &doc) < 0)

In my memory, the pres_uri should include the parameters.

Eric.


2008/12/12 Eric PTAK <eric.ptak.fr at gmail.com>

Hi all,
>
> I'm currently integrating OpenSIPS with OpenXCAP.
> After a lot a problem with ubuntu libraries in order to setup openxcap, I'm
> now facing to another issue with RLS module.
> I'm using Mercuro and it subsribes to sip:alice at domain;pres-list=Default,
> but the RLS looks for a service at sip:alice at domain so it response by a
> 404 Not Found error.
>
> This is the xml files from xcap :
>
> eptak at rd-srv-devlnx2:~$ <eptak at rd-srv-devlnx2:%7E$> xcapclient --app
> rls-services get
> get
> http://10.26.52.122:8080/xcap-root/rls-services/users/sip:alice@domain/index
> etag: "d113935c4c7324c99077a925492251b2"
> content-type: application/rls-services+xml
> content-length: 467
> <?xml version="1.0" encoding="utf-8"?>
> <rls-services xmlns:rl="urn:ietf:params:xml:ns:resource-lists"
> xmlns="urn:ietf:params:xml:ns:rls-services">
>   <service uri="sip:alice at domain;pres-list=Default">
>     <resource-list>
> http://10.26.52.122:8080/xcap-root/resource-lists/users/sip%3aalice%40domain/index/~~/resource-lists/list%5b@name=%22Default%22%5d<http://10.26.52.122:8080/xcap-root/resource-lists/users/sip%3aalice%40domain/index/%7E%7E/resource-lists/list%5b@name=%22Default%22%5d>
> </resource-list>
>     <packages>
>       <package>presence</package>
>     </packages>
>   </service>
> </rls-services>
>
> eptak at rd-srv-devlnx2:~$ <eptak at rd-srv-devlnx2:%7E$> xcapclient --app
> resource-lists get
> get
> http://10.26.52.122:8080/xcap-root/resource-lists/users/sip:alice@domain/index
> etag: "e153e7e4688122a04434b77cd1ecb5e1"
> content-type: application/resource-lists+xml
> content-length: 324
> <?xml version="1.0" encoding="utf-8"?>
> <resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">
>   <list name="Default">
>     <display-name>All Contacts</display-name>
>   <entry uri="sip:bob at domain"
> xmlns="urn:ietf:params:xml:ns:resource-lists">
>   <display-name>bob</display-name>
> </entry></list>
> </resource-lists>
> and this is the stack trace :
>
> Dec 12 15:17:15 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]: SUBSCRIBE
> presence from sip:alice at domain to sip:alice at domain;pres-list=Default
> (Mercuro IMS Client Beta (4.0.1011.0))
> Dec 12 15:17:15 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:core:parse_headers: flags=ffffffffffffffff
> Dec 12 15:17:15 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:core:parse_headers: flags=ffffffffffffffff
> Dec 12 15:17:15 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:presence:search_event: start event= [presence]
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:rls:rls_handle_subscribe: 'To' header ALREADY PARSED: <sip:alice at domain
> ;pres-list=Default>
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:rls:get_resource_list: Searched RL document for user sip:alice at domain
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:core:db_new_result: allocate 28 bytes for result set at 0x81b52b0
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: 2 columns returned from the query
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:core:db_allocate_columns: allocate 8 bytes for result names at 0x81b5af8
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:core:db_allocate_columns: allocate 8 bytes for result types at 0x81b5360
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: allocate 8 bytes for RES_NAMES[0] at
> 0x81b5820
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x81b5820)[0]=[doc]
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: use DB_BLOB result type
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: allocate 8 bytes for RES_NAMES[1] at
> 0x81b5838
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x81b5838)[1]=[etag]
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_get_columns: use DB_STRING result type
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_convert_rows: allocate 8 bytes for rows at 0x81b5948
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_convert_row: allocate 40 bytes for row values at
> 0x81b5860
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_str2val: converting BLOB [<?xml version="1.0"
> encoding="utf-8"?>^M <rls-services
> xmlns:rl="urn:ietf:params:xml:ns:resource-lists"
> xmlns="urn:ietf:params:xml:ns:rls-services">^M   <service
> uri="sip:alice at domain;pres-list=Default">^M     <resource-list>
> http://10.26.52.122:8080/xcap-root/resource-lists/users/sip%3aalice%40domain/index/~~/resource-lists/list%5b@name=%22Default%22%5d<http://10.26.52.122:8080/xcap-root/resource-lists/users/sip%3aalice%40domain/index/%7E%7E/resource-lists/list%5b@name=%22Default%22%5d></resource-list>^M
> <packages>^M       <package>presence</package>^M     </packages>^M
> </service>^M </rls-services>]
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:db_mysql:db_mysql_str2val: converting STRING
> [d113935c4c7324c99077a925492251b2]
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:rls:get_resource_list: rls_services document: <?xml version="1.0"
> encoding="utf-8"?>^M <rls-services
> xmlns:rl="urn:ietf:params:xml:ns:resource-lists"
> xmlns="urn:ietf:params:xml:ns:rls-services">^M   <service
> uri="sip:alice at domain;pres-list=Default">^M     <resource-list>
> http://10.26.52.122:8080/xcap-root/resource-lists/users/sip%3aalice%40domain/index/~~/resource-lists/list%5b@name=%22Default%22%5d<http://10.26.52.122:8080/xcap-root/resource-lists/users/sip%3aalice%40domain/index/%7E%7E/resource-lists/list%5b@name=%22Default%22%5d></resource-list>^M
> <packages>^M       <package>presence</package>^M     </packages>^M
> </service>^M </rls-services>
> Dec 12 15:17:16 rd-srv-devlnx2 /usr/local/sbin/opensips[25465]:
> DBG:rls:get_resource_list: service uri sip:alice at domain not found in rl
> document for user sip:alice at domain
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/devel/attachments/20081214/c5cbcdc2/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-diff
Size: 1622 bytes
Desc: not available
Url : http://lists.opensips.org/pipermail/devel/attachments/20081214/c5cbcdc2/attachment.diff 


More information about the Devel mailing list