Skip to content

Instantly share code, notes, and snippets.

@demchenkoe
Last active April 18, 2024 21:41
Show Gist options
  • Save demchenkoe/eab9c84d2946633993e3 to your computer and use it in GitHub Desktop.
Save demchenkoe/eab9c84d2946633993e3 to your computer and use it in GitHub Desktop.
<?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="sipnet_proxy=sipnet.ru"/>
<X-PRE-PROCESS cmd="set" data="sipnet_login=..."/>
<X-PRE-PROCESS cmd="set" data="sipnet_password=..."/>
<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="event_socket.conf">
<settings>
<param name="listen-ip" value="127.0.0.1"/>
<param name="listen-port" value="8021"/>
<param name="password" value="ClueCon"/>
</settings>
</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="sipnet">
<domains>
<domain name="all" alias="false" parse="false"/>
</domains>
<settings>
<param name="context" value="sipnet"/>
<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="sipnet">
<param name="proxy" value="$${sipnet_proxy}"/>
<param name="username" value="$${sipnet_login}"/>
<param name="password" value="$${sipnet_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="sipnet">
<condition field="destination_number" expression="^(\d+)$">
<action application="set" data="effective_caller_id_number=$${sipnet_login}"/>
<action application="bridge" data="{sip_invite_domain=$${sipnet_proxy}}sofia/sipnet/$1@$${sipnet_proxy}"/>
</condition>
</extension>
</context>
<context name="sipnet">
<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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment