[SR-Users] Does xcap server of kamailio support partial update of xcap document?

Daniel-Constantin Mierla miconda at gmail.com
Wed Sep 7 22:12:58 CEST 2011


Hello,

inserting a new node seems not to be possible through xpath operations 
only, so I made a patch to be able to add new nodes (entries) -- see it 
attached -- it is for devel version (master branch), hopefully it 
applies clean to 3.1 if you are using that version.

There was no option to test it at all, I just made sure it compiles. Let 
me know the results, if it runs but fails, send me the output with 
debug=4. If all is ok, I will commit to git repository.

Cheers,
Daniel

On 9/7/11 3:21 PM, laura testi wrote:
> Hi,
> we have patch the xcap_misc.h with "#define XCAP_MAX_URI_SIZE	255"
> which was 127, and extended the length of field doc_uri in the xcap
> table to 256 from 128. Now the errror is gone.
>
> After that we have done some test with curl, following are the results:
> - DELETE an Entry from the list: OK
>    i.e.: curl  -X DELETE
> http://<ip>:5060/xcap-root/resource-lists/users/sip:user at domain/index/~~/resource-lists/list/entry%5b at uri=%22sip:u1 at d1%22%5d
>   after this command, the contact u1 at d1 is removed from the contact list.
>
> - UPDATE an Entry from the list: OK
>   i.e.,
> curl -T entry.xml -X PUT
> http://<ip>:5060/xcap-root/resource-lists/users/sip:user at domain/index/~~/resource-lists/list%5b at name=%22RootGroup%22%5d/entry%5b at uri=%22sip:u2 at d2%22%5d
>
> if the sip:u2 at d2 entry exists, the entry is replaced with the entry in
> the entry.xml (<entry
> uri="sip:u3 at d3"><display-name>u3</display-name></entry>), which is
> sip:u3 at d3
>
> if the sip:u2 at d2 entry is not exists, the entry of u3 at d3 is not added
> to the list!!! follow the rfc4825, it should be added to the list if
> the entry does not exits.
>
> - Add an Entry from the list: KO
>   i.e.,
> curl -T entry.xml -X PUT
> http://<ip>:5060/xcap-root/resource-lists/users/sip:user at domain/index/~~/resource-lists/list%5b at name=%22RootGroup%22%5d/entry%5b at uri=%22sip:u2 at d2%22%5d
>
>   the entry.xml is (<entry
> uri="sip:u2 at d2"><display-name>u2</display-name></entry>)
>
>   the entry sip:u2 at d2 was not in the list before the command and is not
> added after the command.
>
> I think it's a bug of xcap server.
>
>
> Many thanks!
>
> Laura
>
>
>
>
> On Wed, Sep 7, 2011 at 12:17 PM, Juha Heinanen<jh at tutpro.com>  wrote:
>> Daniel-Constantin Mierla writes:
>>
>>> Feel free to do it, however I think it has to be reviewed where is used,
>>> though -- it should be safe even size in db is longer as long as the
>>> insert is done by kamailio itself, not sure we have affected cases when
>>> the insert is done by external apps, so better double check...
>> every module that reads data from db should check size of received
>> string so that it is not longer than space reserved for it in data
>> structures. i hope that no module assumes that received data cannot be
>> bigger than what db schema says.
>>
>> -- juha
>>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xcap_server-insert-new-node.patch
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110907/859ccad9/attachment.txt>


More information about the sr-users mailing list