mod_xml_curl sofia domain gateways
Hi, What I would like to do is, I need to handle multiple domains. Every domain will have their own gateways and these domains will use only one sip profile. So first when I start FS I got a request: *REQUEST 1:* hostname = [dev] section = [configuration] tag_name = [configuration] key_name = [name] key_value = [sofia.conf] Event-Name = [REQUEST_PARAMS] Core-UUID = [d03d1242-7722-11e4-b04c-0f0151b60864] FreeSWITCH-Hostname = [dev] FreeSWITCH-Switchname = [dev] FreeSWITCH-IPv4 = [192.168.0.132] FreeSWITCH-IPv6 = [::1] Event-Date-Local = [2014-11-28 17:20:13] Event-Date-GMT = [Fri, 28 Nov 2014 17:20:13 GMT] Event-Date-Timestamp = [1417195213442735] Event-Calling-File = [sofia.c] Event-Calling-Function = [config_sofia] Event-Calling-Line-Number = [3948] Event-Sequence = [18] So this is requesting the sofia config, so I send back that xml: *REPLY 1:* <document type="freeswitch/xml" xmlns:py="http://genshi.edgewall.org/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml"> <section name="configuration"> <configuration name='sofia.conf' description='sofia endpoint'> <global_settings> <param name="log-level" value="9"/> <param name="auto-restart" value="true"/> <param name="debug-presence" value="0"/> <param name='accept-blind-reg' value='false'/> <param name="sip-trace" value="no"/> <param name="sip-capture" value="no"/> <param name="auth-calls" value="true"/> <param name="dtmf-type" value="rfc2833"/> </global_settings> <profiles> <profile name='MainCCSIP'> <domains> <domain name="domain1.example.com" alias="false" parse="true"/> </domains> <settings> <param name="odbc-dsn" value=""/> lot of parameters... </settings> <gateways> </gateways> </profile> </profiles> </configuration> </section> </document> Than it realizes I have a profile specified here, so it requesting something similar, with the profile name key: *REQUEST 2:* hostname = [dev] section = [configuration] tag_name = [configuration] key_name = [name] key_value = [sofia.conf] Event-Name = [REQUEST_PARAMS] Core-UUID = [199eb63c-7716-11e4-a68f-272cf7c86620] FreeSWITCH-Hostname = [dev] FreeSWITCH-Switchname = [dev] FreeSWITCH-IPv4 = [192.168.0.132] FreeSWITCH-IPv6 = [::1] Event-Date-Local = [2014-11-28 16:46:53] Event-Date-GMT = [Fri, 28 Nov 2014 16:46:53 GMT] Event-Date-Timestamp = [1417193213090586] Event-Calling-File = [sofia.c] Event-Calling-Function = [config_sofia] Event-Calling-Line-Number = [3948] Event-Sequence = [934] profile = [MainCCSIP] I am not sure what does it want now but I will send back the same XML, containing my domains (1 for now), the profile settings and no gateways assigned to this profile: *SAME REPLY1:* <document type="freeswitch/xml" xmlns:py="http://genshi.edgewall.org/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml"> <section name="configuration"> <configuration name='sofia.conf' description='sofia endpoint'> <global_settings> <param name="log-level" value="9"/> <param name="auto-restart" value="true"/> <param name="debug-presence" value="0"/> <param name='accept-blind-reg' value='false'/> <param name="sip-trace" value="no"/> <param name="sip-capture" value="no"/> <param name="auth-calls" value="true"/> <param name="dtmf-type" value="rfc2833"/> </global_settings> <profiles> <profile name='MainCCSIP'> <domains> <domain name="domain1.example.com" alias="false" parse="true"/> </domains> <settings> <param name="odbc-dsn" value=""/> lot of parameters... </settings> <gateways> </gateways> </profile> </profiles> </configuration> </section> </document> Please note I excluded all the parameters as there are a lot in the original response. Than I got a new request: *REQUEST 3:* hostname = [dev] section = [configuration] tag_name = [configuration] key_name = [name] key_value = [sofia.conf] Event-Name = [REQUEST_PARAMS] Core-UUID = [199eb63c-7716-11e4-a68f-272cf7c86620] FreeSWITCH-Hostname = [dev] FreeSWITCH-Switchname = [dev] FreeSWITCH-IPv4 = [192.168.0.132] FreeSWITCH-IPv6 = [::1] Event-Date-Local = [2014-11-28 16:46:53] Event-Date-GMT = [Fri, 28 Nov 2014 16:46:53 GMT] Event-Date-Timestamp = [1417193213190626] Event-Calling-File = [sofia.c] Event-Calling-Function = [launch_sofia_worker_thread] Event-Calling-Line-Number = [2658] Event-Sequence = [938] profile = [MainCCSIP] I am wondering why is this request? The only difference is the calling function. Anyway I am sending back the same as above. Then I got an other request: *REQUEST 4:* hostname = [dev] section = [directory] tag_name = [domain] key_name = [name] key_value = [domain1.example.com] Event-Name = [REQUEST_PARAMS] Core-UUID = [199eb63c-7716-11e4-a68f-272cf7c86620] FreeSWITCH-Hostname = [dev] FreeSWITCH-Switchname = [dev] FreeSWITCH-IPv4 = [192.168.0.132] FreeSWITCH-IPv6 = [::1] Event-Date-Local = [2014-11-28 16:46:53] Event-Date-GMT = [Fri, 28 Nov 2014 16:46:53 GMT] Event-Date-Timestamp = [1417193213330579] Event-Calling-File = [sofia.c] Event-Calling-Function = [launch_sofia_worker_thread] Event-Calling-Line-Number = [2676] Event-Sequence = [939] purpose = [gateways] profile = [MainCCSIP] This seems fine as I have set parse=true in the domain parameters so now it is requesting the gateways for my specific domain1.example.com domain. Now I am sending back the following: <document type="freeswitch/xml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml"> <section name="directory"> <domain name='domain1.example.com'></domain> <gateways> <gateway name='TestGW'> <variables> <variable name="inbound_var_name" data="inbound_call=true" direction="inbound"/> <variable name="outbound_var_name" data="outbound_call=true" direction="outbound"/> <variable name="both_var_name" data="gw=TestGW"/> </variables> <param name='username' value='testuser'/> <param name='password' value='testpw'/> <param name="realm" value="sip.testgw.com"/> <param name="expire-seconds" value="600"/> <param name='register' value='true'/> <param name="register-transport" value="udp"/> <param name='retry-seconds' value='30'/> <param name="ping" value="60"/> <param name='register' value='true'/> </gateway> </gateways> </section> </document> Then I can not see anything in the fs cli related to this gateway. It does not try to connect to it, I can not list it, and also can not see any errors related to this even if I set every trace and debug level to the maximum. I also tried to enclose the gateways node into the domain like: <domain name='domain1.example.com'> <gateways> All gateway config here... </gateways> </domain> But I can not see anything which indicates that this is correct/incorrect or what. Is there any problem with this response or am I missing something? I have not send back any other config that FS requests at this stage, just these. Many thanks, Zoltan
participants (1)
-
Zoltán Szabó