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"
<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>
</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"
<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>
</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]
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"
<section name="directory">
<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="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:
<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