27 feb 2012 kl. 21:44 skrev Daniel-Constantin Mierla: > > > On 2/27/12 9:28 PM, Olle E. Johansson wrote: >> 27 feb 2012 kl. 21:07 skrev Daniel-Constantin Mierla: >> >>> Hello, >>> >>> an xpath invalid expression should be printed when the xpath expression is >>> incorrect -- I cannot say what is wrong, not being an xpath expert by hart. >>> >>> However, there is a mismatching between the xml standards and SIP/SIMPLE >>> specs. In XML, the namespaces are bound to prefixes, while the guys at IETF >>> added by their own so called default namespace, which has no prefix for it. >>> That results in not being able to use directly xpath from libxml2 with >>> SIMPLE bodies. >>> >>> There were some discussions out there (you can google, iirc Inaki was in >>> couple of them), in one side, the devs of libxml2 said they don't want to >>> break XML standards by allowing bogus xpath queries with such namespaces. >>> The workaround is to define xmlns prefix in xmlops module: >>> >>> http://kamailio.org/docs/modules/devel/modules/xmlops.html#xml_ns >>> >>> modparam("xmlops", "xml_ns", "ri=urn:ietf:params:xml:ns:reginfo") >>> >>> and try: >>> >>> $xml(pub=>xpath://ri:reginfo/ri:registration@aor) >> Thanks! >> >> The weird part is that I after adding that modparam get this error message: >> loading modules under >> /usr/local/lib64/kamailio/modules_k/:/usr/local/lib64/kamailio/modules/ >> 0(65556) ERROR:<core> [modparam.c:162]: set_mod_param_regex: No module >> matching<xmlops> found >> 0(65556) :<core> [cfg.y:3504]: parse error in config file kam-modules.inc, >> line 86, column 65: Can't set module parameter >> >> This is on FreeBSD. >> >> If I raise the debug I see the module being loaded and that it registers PVs >> >> 0(63596) DEBUG:<core> [mem/q_malloc.c:369]: qm_malloc(0x800c00000, 40) >> called from xmlops: pv_xml.c: pv_parse_xml_name(448) >> >> Weird stuff. >> >> Kamailio 3.2.2 > there was a wrong internal module name, initially I added the xml > manipulation function as part of presence_xml, but then spit them out and > made a dedicated one. But the name was not updated. The patch is now in 3.2 > branch: > > http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=3259ef734158d9cd63ce3fa94565f5cd4260e3f6 > > If you cannot update right now, try: > > modparam("presence_xml", "xml_ns", "ri=urn:ietf:params:xml:ns:reginfo") > > Not sure if it works if presence_xml is loaded, but if not, it should.
I followed your ugly piece of advice (removing the xmlns: part from the text) and now everything works as expected. Thanks! /O _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
