[Freeswitch-users] Alternative to directory lookup using mod_xml_curl

Cristian Talle ctalle at voiceway.ca
Wed Sep 17 15:43:08 PDT 2008


Just wondering...

I noticed that with xml_curl temp files are being created for each 
request - this doesn't really help for higher request volumes.
Do you know of any way of updating the FS xml tree (let's say the 
directory node for one domain) without curl?

Cristian

Peter P GMX wrote:
> Just to mention:
> I figured out that, if you do an xml_curl request it tries to reply 
> based on the dynamic XML answer. If the answer is wrong if takes the 
> content of the config files.
> This may be the reason why your standard numbers from the config files 
> 1000, 1001, ... work and carl doesn't.
>
> Best regards
> Peter
>
> Cristian Talle schrieb:
>   
>> Thank you veeery much, I'll give it a try!
>>
>> Best,
>> Cristian
>>
>> Peter P GMX wrote:
>>     
>>> Hello,
>>>
>>> I have done it the following way:
>>> xml_curl.conf.xml:
>>>
>>> <configuration name="xml_curl.conf" description="cURL XML Gateway">
>>> <bindings>
>>> <binding name="example">
>>> <param name="gateway-url" 
>>> value="http://192.168.0.35:3000/xml_curls/directory" 
>>> bindings="configuration|dialplan|directory"/>
>>> </binding>
>>> </bindings>
>>> </configuration>
>>>
>>> My Ruby on Rails server is listening on Port 3000. But https works also 
>>> (but very very slow).
>>>
>>> If a phone (e.g. 1002) tries to register I answer with
>>>
>>> <document type="freeswitch/xml">
>>> <section name="directory">
>>> <domain name="my.domain">
>>> <user id="1002">
>>> <params>
>>> <param name="password" value="xxxx"/>
>>> </params>
>>>
>>> <variables>
>>> <variable name="accountcode" value="1002"/>
>>> <variable name="user_context" value="default"/>
>>> <variable name="effective_caller_id_name" value="Extension 1002"/>
>>> <variable name="effective_caller_id_number" value="1002"/>
>>> </variables>
>>> </user>
>>> </domain>
>>> </section>
>>> </document>
>>>
>>> Hope this helps
>>>
>>> Best regards
>>> Peter
>>>
>>>
>>> Cristian Talle schrieb:
>>>   
>>>       
>>>> Hi Carl,
>>>>
>>>> I am experiencing a similar problem, have you found any solution so far?
>>>>
>>>> Thank you,
>>>> Cristian Talle
>>>>
>>>>   
>>>>     
>>>>         
>>>>> I wonder if anybody could provide a complete set of configuration files for
>>>>> a working xml_curl user directory lookup.
>>>>>
>>>>> I have been trying using the default set of configuration files, added the
>>>>> xml_curl module loading and modified the configuration like this:
>>>>>
>>>>> <configuration name="xml_curl.conf" description="cURL XML Gateway">
>>>>>   <bindings>
>>>>>     <binding name="dialplan fetcher">
>>>>>       <param name="gateway-url" value="
>>>>> http://172.16.26.10/apache2-default/dialplan.php" <http://172.16.26.10/apache2-default/dialplan.php%22> bindings="dialplan"/>
>>>>>     </binding>
>>>>>     <binding name="directory fetcher">
>>>>>       <param name="gateway-url" value="
>>>>> http://172.16.26.10/apache2-default/directory.php" <http://172.16.26.10/apache2-default/directory.php%22> bindings="directory"/>
>>>>>     </binding>
>>>>>   </bindings>
>>>>> </configuration>
>>>>>
>>>>> Both scripts just dump the expected XML result:
>>>>>
>>>>>   <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>>>> <document type="freeswitch/xml">
>>>>>   <section name="dialplan" description="example_curl_dialplan">
>>>>>     <context name="default">
>>>>>       <extension name="curl_test">
>>>>>         <condition field="destination_number" expression="^999999999$">
>>>>>           <action application="answer"/>
>>>>>           <action application="send_display" data="Echo Test"/>
>>>>>           <action application="echo"/>
>>>>>         </condition>
>>>>>       </extension>
>>>>>     </context>
>>>>>   </section>
>>>>> </document>
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>>>> <document type="freeswitch/xml">
>>>>>   <section name="directory" description="example_curl_directory">
>>>>>      <domain name="172.26.16.10">
>>>>>        <user id="carl">
>>>>>          <params>
>>>>>            <param name="password" value="1234"/>
>>>>>          </params>
>>>>>        </user>
>>>>>      </domain>
>>>>>   </section>
>>>>> </document>
>>>>>
>>>>> The sofia-sip parameter "accept-blind-reg" is set to false.
>>>>>
>>>>> When using one of the default users (1000), I can register and the xml_curl
>>>>> dialplan lookup works like expected. However, when trying to register as
>>>>> user carl,
>>>>> I can see that the XML is received by the xml_curl interface, but sofia-sip
>>>>> complains that it cannot find the user. Here is a part of the console
>>>>> output:
>>>>>
>>>>> mod_xml_curl.c:194 xml_url_fetch() XML response is in
>>>>> /tmp/6053a796-2bdb-11dd-9449-17a3c8baef50.tmp.xml
>>>>> sofia_reg.c:1061 sofia_reg_parse_auth() can't find user [carl at 172.16.26.10 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users>]
>>>>>
>>>>> When using the xml_locate cli command, I get a similar result:
>>>>>
>>>>>     
>>>>>       
>>>>>           
>>>>>> / xml_locate directory domain name 172.16.26.10
>>>>>>       
>>>>>>         
>>>>>>             
>>>>> /mod_xml_curl.c:194 xml_url_fetch() XML response is in
>>>>> /tmp/93d6019a-2bdb-11dd-9449-17a3c8baef50.tmp.xml
>>>>> API CALL [xml_locate(directory domain name 172.16.26.10)] output:
>>>>> <domain name="172.16.26.10">
>>>>> ### contents of local XML file (users 1000 and up)
>>>>> </domain>
>>>>>
>>>>> It fetches the XML from the webserver and dumps the contents of the local
>>>>> XML files. Disabling the "directory" section in the default freeswitch.xml
>>>>> file does not help,
>>>>> as I initially thought it might be caused by the duplicate domain names.
>>>>>
>>>>> I hope someone could help out here.
>>>>>
>>>>>   
>>>>>     
>>>>>       
>>>>>           
>>>> _______________________________________________
>>>> Freeswitch-users mailing list
>>>> Freeswitch-users at lists.freeswitch.org
>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>> http://www.freeswitch.org
>>>>
>>>>   
>>>>     
>>>>         
>>> _______________________________________________
>>> Freeswitch-users mailing list
>>> Freeswitch-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>>   
>>>       
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Freeswitch-users mailing list
>> Freeswitch-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>   
>>     
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>   





More information about the FreeSWITCH-users mailing list