[Freeswitch-users] curl_xml

Anthony Minessale anthony.minessale at gmail.com
Mon May 24 16:36:48 PDT 2010


I am jumping in here because I am concerned that my browser will crash if
this thread gets any bigger:

Perhaps if you change your point of view you will find it faster.
You have multiple accounts from other users that it works, but i get the
feeling you believe in the back of your mind that it's broken somehow.  If
you change your mindset to "I know I am doing something wrong and all I need
to do is figure out what it is", probably you will be able to spot the
mistake easier.

Thank you everyone who has helped here.




On Mon, May 24, 2010 at 3:47 PM, Erwin Davis <davis.erwin at gmail.com> wrote:

> Hello,
>  Can anyone post a xml log file when you turn on "xml_curl debug_on"? I
> hope to compare with the my log file with a valid one? Thanks,
>
> Regards,
>
> e
>
>
> On Mon, May 24, 2010 at 3:45 PM, Vitalii Colosov <vetali100 at gmail.com>wrote:
>
>> Sorry, I never used rubby, no help from my side here...
>>
>> This is my XML response, it's not so long to put it in pastebin, also I
>> never used pastebin yet:
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> <document type="freeswitch/xml">
>>   <section name="directory">
>>     <domain name="$${domain}">
>>       <params>
>>         <param name="dial-string" value="{presence_id=${dialed_user}@
>> ${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
>>       </params>
>>       <groups>
>>         <group name="default">
>>           <users>
>>             <user id="1000">
>>               <params>
>>                 <param name="a1-hash" value="somehashvalue"/>
>>                 <param name="vm-a1-hash" value="somehashvalue"/>
>>               </params>
>>               <variables>
>>                 <variable name="user_context" value="default"/>
>>                 <variable name="accountcode" value="1000"/>
>>               </variables>
>>             </user>
>>           </users>
>>         </group>
>>       </groups>
>>     </domain>
>>   </section>
>> </document>
>>
>> Regards,
>> Vitalie
>>
>> 2010/5/24 Erwin Davis <davis.erwin at gmail.com>
>>
>>> Hi, Vitalli,
>>>
>>> Thanks for your PHP code. Unfortunately, I can't run that code because my
>>> project is in rails.
>>> But I didnot see the difference between you code and mine. What does the
>>> xml log file look like when you turn on "xml_curl debug_on"? Could you cut
>>> and paste them into  freeswitch pastebin?
>>>
>>> My code is cloned from
>>> http://wiki.freeswitch.org/wiki/Mod_xml_curl_Ruby_directory_example. I
>>> am not sure that the xml output may cause some problem.
>>>
>>> When I type "find_use_xml  id 1018 192.168.1.31", the FS ignored the
>>> response from web server. Instead, it retrieve the info from the local
>>> directory.
>>>
>>> freeswitch at proxy1.voiceserver.com> find_user_xml id 1018  192.168.1.31
>>> 2010-05-24 15:12:12.239449 [CONSOLE] mod_xml_curl.c:299 XML response is
>>> in /usr/local/freeswitch/
>>> scripts803ca405-c463-4deb-8121-982e1251831a.tmp.xml
>>> API CALL [find_user_xml(id 1018  192.168.1.31)] output:
>>> <user id="1018">
>>>       <params>
>>>           <param name="password" value="1234"></param>   <<<<===== the
>>> server response with "1018", "1234" is the local default setting
>>>
>>>           <param name="vm-password" value="1018"></param>
>>>
>>>     </params>
>>>
>>>       <variables>
>>>           <variable name="toll_allow"
>>> value="domestic,international,local"></variable>
>>>
>>>           <variable name="accountcode" value="1018"></variable>
>>>
>>>
>>>           <variable name="user_context" value="default"></variable>
>>>
>>>           <variable name="effective_caller_id_name" value="Extension
>>> 1018"></variable>
>>>
>>>           <variable name="effective_caller_id_number"
>>> value="1018"></variable>
>>>
>>>           <variable name="outbound_caller_id_name"
>>> value="MyPBX"></variable>
>>>
>>>           <variable name="outbound_caller_id_number"
>>> value="0000000000"></variable>
>>>
>>>           <variable name="callgroup" value="techsupport"></variable>
>>>
>>>     </variables>
>>>
>>>   </user>
>>>
>>> Below is the rails code to output the xml response.
>>> ==============================================
>>> ========
>>>
>>>   def directory
>>>
>>>     if params['user'].nil? || params['user'].empty?
>>>       ##if not looking for a user info, send 404 Not Found
>>>       @out_xml = Output404NotFound()
>>>     else
>>>       @username = params['user'].to_s
>>>       puts "username = " + @username
>>>       @domain = params['domain'].to_s
>>>       puts params
>>>       @dir=Directory.find_by_effective_caller_id_number(@username)
>>>       puts @dir
>>>       if @dir.nil?
>>>         @out_xml = Output404NotFound()
>>>       else
>>>         @out_xml = OutputXMLResponse()
>>>       end
>>>     end
>>>     puts "reply for directory query: " + @out_xml + "\n"
>>>   end
>>>
>>> private
>>>
>>>   def Output404NotFound
>>>     xml_text = "<?xml version=\"1.0\" encoding=\"UTF-8\"
>>> standalone=\"no\"?>
>>>                  <document type=\"freeswitch/xml\">
>>>                      <section name=\"result\">
>>>                           <result status=\"not found\" />
>>>                      </section>
>>>                  </document> "
>>>     return xml_text
>>>   end
>>>
>>>   def OutputXMLResponse
>>>     xml_text =
>>>         "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>
>>>            <document type=\"freeswitch/xml\">
>>>              <section name=\"directory\" description=\"User Directory\">
>>>
>>>                  <domain name=\"#{@domain}\">
>>>                       <params>
>>>                          <param name=\"dial-string\"
>>> value=\"{presence_id=${dialed_user}@
>>> ${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}\"/>
>>>                       </params>
>>>
>>>                        <groups>
>>>                            <group name=\"default\">
>>>                                <users>
>>>                                    <user id=\"#{@username}\">
>>>                                      <params>
>>>                                         <param name=\"password\"
>>> value=\"" + @dir.password + "\"/>
>>>                                      </params>
>>>
>>>                                   </user>
>>>                                </users>
>>>                            </group>
>>>                          </groups>
>>>                    </domain>
>>>              </section>
>>>          </document> "
>>>      puts "reply for directory query: " + xml_text + "\n"
>>>      return xml_text
>>>   end
>>>
>>>
>>>
>>>
>>> On Mon, May 24, 2010 at 8:38 AM, Vitalii Colosov <vetali100 at gmail.com>wrote:
>>>
>>>> Just to avoid any misunderstanding - this is to check all other things
>>>> around freeswitch configuration.
>>>>
>>>> If this will work, it will be very easy to add database lookup for the
>>>> user trying to register:
>>>>
>>>>
>>>> $user = $_POST['user'];
>>>> $query="select password from your_users_table where user ='$user'";
>>>> $result=mysqli_query($db_connection, $query);
>>>>
>>>> ...get user and password from the result
>>>>
>>>> And then use $user and $password variables instead of hard-coded "1018",
>>>> "1018" in the code I provided.
>>>>
>>>> Really hope this helps, it works for me.
>>>>
>>>> Regards,
>>>> Vitalie
>>>>
>>>>
>>>> 2010/5/24 Vitalii Colosov <vetali100 at gmail.com>
>>>>
>>>>> Sorry there was an else related to the missing entry, i removed it.
>>>>>
>>>>> Please try another one.
>>>>>
>>>>> 2010/5/24 Vitalii Colosov <vetali100 at gmail.com>
>>>>>
>>>>> Please try to use my attached php script, if you can.
>>>>>>
>>>>>> I changed it to fit your data (user 1018, pass: 1018), but I did not
>>>>>> check for any syntax error (hope it does not have :-) ).
>>>>>>
>>>>>> Please reply back on result.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Vitalie
>>>>>>
>>>>>>
>>>>>> 2010/5/24 Erwin Davis <davis.erwin at gmail.com>
>>>>>>
>>>>>>> yeah, my code replied with line 29-46. I donot know where the rest of
>>>>>>> html code was generated.
>>>>>>>
>>>>>>> On Mon, May 24, 2010 at 10:34 AM, Milena <testeador01 at gmail.com>wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>> You're not meant to send a whole website full of html tags as a
>>>>>>>> response.
>>>>>>>> Just reply the part of the lines 29 - 46 on your pastebin and get
>>>>>>>> rid of the rest.
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010,
>>>>>>>> /5/24 Erwin Davis <davis.erwin at gmail.com>
>>>>>>>>
>>>>>>>> Hi, I am stuck, My console log is in
>>>>>>>>> http://pastebin.freeswitch.org/13030 and my xml log is in
>>>>>>>>> http://pastebin.freeswitch.org/13029.  I guess that the problem
>>>>>>>>> should be pretty small but I just can not figure it out. -:(  Thanks for
>>>>>>>>> your help.
>>>>>>>>>
>>>>>>>>> On Mon, May 24, 2010 at 8:12 AM, Vitalii Colosov <
>>>>>>>>> vetali100 at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Erwin,
>>>>>>>>>> Maybe you need to add the first line <?xml version="1.0"
>>>>>>>>>> encoding="UTF-8" standalone="no"?>
>>>>>>>>>>
>>>>>>>>>> This is what I have and it works perfectly, tested right now:
>>>>>>>>>>
>>>>>>>>>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>>>>>>>>> <document type="freeswitch/xml">
>>>>>>>>>>   <section name="directory">
>>>>>>>>>>     <domain name="$${domain}">
>>>>>>>>>>       <params>
>>>>>>>>>>         <param name="dial-string"
>>>>>>>>>> value="{presence_id=${dialed_user}@
>>>>>>>>>> ${dialed_domain}}${sofia_contact(${dialed_user}@
>>>>>>>>>> ${dialed_domain})}"/>
>>>>>>>>>>       </params>
>>>>>>>>>>       <groups>
>>>>>>>>>>         <group name="default">
>>>>>>>>>>           <users>
>>>>>>>>>>             <user id="1000">
>>>>>>>>>>               <params>
>>>>>>>>>>                 <param name="a1-hash" value="somehashvalue"/>
>>>>>>>>>>                 <param name="vm-a1-hash" value="somehashvalue"/>
>>>>>>>>>>               </params>
>>>>>>>>>>               <variables>
>>>>>>>>>>                 <variable name="user_context" value="default"/>
>>>>>>>>>>                 <variable name="accountcode" value="1000"/>
>>>>>>>>>>               </variables>
>>>>>>>>>>             </user>
>>>>>>>>>>           </users>
>>>>>>>>>>         </group>
>>>>>>>>>>       </groups>
>>>>>>>>>>     </domain>
>>>>>>>>>>   </section>
>>>>>>>>>> </document>
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Vitalie
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>
>


-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:+19193869900
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100524/804084aa/attachment-0001.html 


More information about the FreeSWITCH-users mailing list