[Freeswitch-users] Encoding issue with mod_xml_cdr (apparently)

Isaac Jurado ijurado at econcept.es
Tue May 4 00:11:47 PDT 2010


Hi,

We are setting up a web service for mod_xml_cdr but we have problems
with non-ascii characters encoded in UTF-8.  The POST request
(url-encoded) stops its data when it finds the first non-ascii, like the
following:

-----8<-----
<?xml version="1.0"?>
<cdr>
  <channel_data>
    <state>CS_REPORTING</state>
    <direction>inbound</direction>
    <state_number>11</state_number>
    <flags>0=1;18=1;36=1;38=1;51=1</flags>
    <caps>1=1;2=1;3=1</caps>
  </channel_data>
  <variables>
    <uuid>faa6c7e9-9b4a-4ac0-8ebb-971b2e2f8eaa</uuid>
    <sip_local_network_addr>192.168.1.99</sip_local_network_addr>
    <sip_network_ip>192.168.1.99</sip_network_ip>
    <sip_network_port>1024</sip_network_port>
    <sip_received_ip>192.168.1.99</sip_received_ip>
    <sip_received_port>1024</sip_received_port>
    <sip_via_protocol>udp</sip_via_protocol>
    <sip_authorized>true</sip_authorized>
    <sip_number_alias>33</sip_number_alias>
    <sip_auth_username>33</sip_auth_username>
    <sip_auth_realm>econcept.es</sip_auth_realm>
    <number_alias>33</number_alias>
    <user_name>33</user_name>
    <domain_name>econcept.es</domain_name>
    <accountcode>33</accountcode>
    <user_context>econcept.es</user_context>
    <caller_id_name>Peque%%
----->8-----

This is what the web service finds under the 'cdr' POST key.  The last
two percent characters seem to precede the spanish 'ñ'.  The
caller_id_name is supplied at register time by issuing an UTF-8 encoded
XML to feed mod_xml_curl.

I've tried disabling the url-encoding like so (xml_cdr.conf.xml):

    <param name="encode" value="false"/>

But then, the web service does not appear to be receiving anything.

Any ideas?

Cheers.

-- 
Isaac Jurado
Internet Busines Solutions eConcept
http://www.econcept.es



More information about the FreeSWITCH-users mailing list