На просторах интернета нашел пример минимальной конфигурации FreeSWITCH, первоисточник
http://zadarma.com/forum/index.php?s=&s ... st&p=18442Очень показательна, на мой взгляд, для понимания того насколько гибко можно "слепить" FreeSWITCH если рассматривать конфигурацию из репозитория и какой компактной может быть конфигурация, если многого от него не нужно!
Сама конфигурация:
Код:
<?xml version="1.0"?>
<document type="freeswitch/xml">
<X-PRE-PROCESS cmd="set" data="local_address=$${local_ip_v4}"/>
<X-PRE-PROCESS cmd="set" data="zadarma_proxy=sip.zadarma.com"/>
<X-PRE-PROCESS cmd="set" data="zadarma_login=00000"/>
<X-PRE-PROCESS cmd="set" data="zadarma_password=mypassword"/>
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
<section name="configuration">
<configuration name="switch.conf">
<settings>
<param name="colorize-console" value="true"/>
<param name="max-sessions" value="1000"/>
<param name="sessions-per-second" value="30"/>
<param name="loglevel" value="debug"/>
</settings>
</configuration>
<configuration name="modules.conf">
<modules>
<load module="mod_console"/>
<load module="mod_logfile"/>
<load module="mod_event_socket"/>
<load module="mod_sofia"/>
<load module="mod_dialplan_xml"/>
<load module="mod_dptools"/>
<load module="mod_commands"/>
<load module="mod_expr"/>
<load module="mod_sndfile"/>
</modules>
</configuration>
<configuration name="console.conf">
<mappings>
<map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
</mappings>
<settings>
<param name="colorize" value="true"/>
<param name="loglevel" value="info"/>
</settings>
</configuration>
<configuration name="logfile.conf">
<settings>
<param name="rotate-on-hup" value="true"/>
</settings>
<profiles>
<profile name="default">
<settings>
<param name="logfile" value="/var/log/freeswitch/freeswitch.log"/>
<param name="rollover" value="10485760"/>
</settings>
<mappings>
<map name="all" value="debug,info,notice,warning,err,crit,alert"/>
</mappings>
</profile>
</profiles>
</configuration>
<configuration name="sofia.conf">
<global_settings>
<param name="log-level" value="0"/>
<param name="debug-presence" value="0"/>
</global_settings>
<profiles>
<profile name="local">
<domains>
<domain name="all" alias="true" parse="false"/>
</domains>
<settings>
<param name="context" value="local"/>
<param name="sip-port" value="5060"/>
<param name="dialplan" value="XML"/>
<param name="rtp-ip" value="$${local_address}"/>
<param name="sip-ip" value="$${local_address}"/>
<param name="auth-calls" value="true"/>
</settings>
</profile>
<profile name="zadarma">
<domains>
<domain name="all" alias="false" parse="false"/>
</domains>
<settings>
<param name="context" value="zadarma"/>
<param name="sip-port" value="5080"/>
<param name="dialplan" value="XML"/>
<param name="rtp-ip" value="$${local_address}"/>
<param name="sip-ip" value="$${local_address}"/>
<param name="auth-calls" value="false"/>
</settings>
<gateways>
<gateway name="zadarma">
<param name="proxy" value="$${zadarma_proxy}"/>
<param name="username" value="$${zadarma_login}"/>
<param name="password" value="$${zadarma_password}"/>
</gateway>
</gateways>
</profile>
</profiles>
</configuration>
</section>
<section name="dialplan">
<context name="local">
<extension name="local-account-hello">
<condition field="destination_number" expression="^100$">
<action application="playback" data="ivr/ivr-hello.wav"/>
</condition>
</extension>
<extension name="local-accounts">
<condition field="destination_number" expression="^(10[1-3])$">
<action application="bridge" data="user/$1@$${local_address}"/>
</condition>
</extension>
<extension name="zadarma">
<condition field="destination_number" expression="^(\d+)$">
<action application="set" data="effective_caller_id_number=$${zadarma_login}"/>
<action application="bridge" data="{sip_invite_domain=$${zadarma_proxy}}sofia/zadarma/$1@$${zadarma_proxy}"/>
</condition>
</extension>
</context>
<context name="zadarma">
<extension name="local">
<condition>
<action application="playback" data="ivr/ivr-hello.wav"/>
<action application="bridge" data="group/local@$${local_address}"/>
</condition>
</extension>
</context>
</section>
<section name="directory">
<domain name="$${local_address}">
<params>
<param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
</params>
<groups>
<group name="local">
<users>
<user id="101"><params><param name="password" value="101"/></params></user>
<user id="102"><params><param name="password" value="102"/></params></user>
<user id="103"><params><param name="password" value="103"/></params></user>
</users>
</group>
</groups>
</domain>
</section>
</document>