[SIP Beyond VoIP] escaped sip uris in xcap rls documents
Juha Heinanen
jh at tutpro.com
Tue Sep 27 18:03:15 CEST 2011
i "solved" the problem described below by adding a line in
xcaplib/client.py XCAPClientBase _put function that un-escapes : and @
chars:
def _put(self, application, resource, node=None, etag=None, etagnot=None, headers=None, **kwargs):
resource = resource.replace("%3A", ":").replace("%40", "@")
most likely that is not the correct way to solve the issue. better
solutions are welcome.
-- juha
Juha Heinanen writes:
> i noticed that sip uris get escaped in rls documents created using
> xcap-rls-services command, for example:
>
> T 2011/03/26 03:26:47.830225 192.98.102.10:40892 -> 192.98.102.10:8080 [AP]
> <?xml version='1.0' encoding='UTF-8'?>
> <rls-services xmlns="urn:ietf:params:xml:ns:rls-services">
> <service uri="sip:jh_all at test.fi">
> <resource-list>http%3A//xcap.test.fi%3A8080/xcap-root/resource-lists/users/sip%3Ajh%40test.fi/generallist.xml/%7E%7E/resource-lists/list%5B%40name%3D%22oma_buddylist%22%5D</resource-list>
> <packages>
> <package>presence</package>
> </packages>
> </service>
> <service xmlns:rl="urn:ietf:params:xml:ns:resource-lists" uri="sip:jh-buddies at test.fi">
> <list>
> <rl:entry uri="sip%3Atest%40test.fi"/>
> <rl:entry uri="sip%3Afoo%40test.fi"/>
> </list>
> <packages>
> <package>presence</package>
> </packages>
> </service>
> </rls-services>
>
> as result presence server is not able to handle the resulting subscribes
> because the escaped chars in their request uris.
>
> i don't remember seeing this with earlier versions of sipclients. has
> something changed recently that causes the escapes? according to
> rfc3261 char : after sip and char @ after userpart cannot be escaped.
>
> -- juha
More information about the SIPBeyondVoIP
mailing list