freeswitch/conf/softphone/freeswitch.xml
Travis Cross 226851e8b0 don't use Siren or iLBC by default in example configs
These codecs are non-free which creates issues for distributions, so
let's not require these by default to run our example configs.  We can
add back in iLBC once we resolve the licensing situation with our
in-tree implementation.
2012-05-29 18:41:17 +00:00

280 lines
11 KiB
XML

<?xml version="1.0"?>
<document type="freeswitch/xml">
<X-PRE-PROCESS cmd="set" data="auto_answer=false"/>
<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
<X-PRE-PROCESS cmd="set" data="codec_prefs=CELT@48000h,G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
<X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
<X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
<X-PRE-PROCESS cmd="set" data="default_gateway=default"/>
<X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
<X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
<X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
<section name="configuration" description="Various Configuration">
<configuration name="cdr_csv.conf" description="CDR CSV Format">
<settings>
<param name="default-template" value="example"/>
<param name="rotate-on-hup" value="true"/>
<param name="legs" value="a"/>
</settings>
<templates>
<template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
</templates>
</configuration>
<configuration name="console.conf" description="Console Logger">
<mappings>
<map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
</mappings>
<settings>
<param name="colorize" value="true"/>
<param name="loglevel" value="$${console_loglevel}"/>
</settings>
</configuration>
<configuration name="enum.conf" description="ENUM Module">
<settings>
<param name="default-root" value="e164.org"/>
<param name="default-isn-root" value="freenum.org"/>
<param name="query-timeout" value="10"/>
<param name="auto-reload" value="true"/>
</settings>
<routes>
<route service="E2U+SIP" regex="sip:(.*)" replace="sofia/softphone/$1"/>
</routes>
</configuration>
<configuration name="local_stream.conf" description="stream files from local dir">
<directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
<param name="rate" value="48000"/>
<param name="shuffle" value="true"/>
<param name="channels" value="1"/>
<param name="interval" value="10"/>
<param name="timer-name" value="soft"/>
</directory>
</configuration>
<configuration name="logfile.conf" description="File Logging">
<settings>
<param name="rotate-on-hup" value="true"/>
</settings>
<profiles>
<profile name="default">
<settings>
</settings>
<mappings>
<map name="all" value="debug,info,notice,warning,err,crit,alert"/>
</mappings>
</profile>
</profiles>
</configuration>
<configuration name="modules.conf" description="Modules">
<modules>
<load module="mod_console"/>
<load module="mod_logfile"/>
<load module="mod_enum"/>
<load module="mod_cdr_csv"/>
<load module="mod_portaudio"/>
<load module="mod_sofia"/>
<load module="mod_loopback"/>
<load module="mod_commands"/>
<load module="mod_dptools"/>
<load module="mod_dialplan_xml"/>
<load module="mod_voipcodecs"/>
<load module="mod_speex"/>
<load module="mod_celt"/>
<load module="mod_sndfile"/>
<load module="mod_tone_stream"/>
<load module="mod_local_stream"/>
</modules>
</configuration>
<configuration name="portaudio.conf" description="Soundcard Endpoint">
<settings>
<param name="indev" value=""/>
<!-- device to use for output -->
<param name="outdev" value=""/>
<!--<param name="ringdev" value=""/>-->
<param name="ring-file" value="tone_stream://%(2000,4000,440.0,480.0);loops=20"/>
<param name="ring-interval" value="5"/>
<param name="hold-file" value="$${hold_music}"/>
<!--<param name="timer-name" value="soft"/>-->
<param name="dialplan" value="XML"/>
<param name="cid-name" value="$${outbound_caller_name}"/>
<param name="cid-num" value="$${outbound_caller_number}"/>
<param name="sample-rate" value="48000"/>
<param name="codec-ms" value="10"/>
</settings>
</configuration>
<configuration name="post_load_modules.conf" description="Modules">
<modules>
</modules>
</configuration>
<configuration name="sofia.conf" description="sofia Endpoint">
<global_settings>
<param name="log-level" value="0"/>
<param name="auto-restart" value="true"/>
<param name="debug-presence" value="0"/>
</global_settings>
<profiles>
<profile name="softphone">
<gateways>
<X-PRE-PROCESS cmd="include" data="accounts/*.xml"/>
</gateways>
<settings>
<!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
<param name="user-agent-string" value="FreeSWITCH/SoftPhone"/>
<!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
<param name="debug" value="0"/>
<param name="sip-trace" value="no"/>
<param name="context" value="public"/>
<param name="rfc2833-pt" value="101"/>
<!-- port to bind to for sip traffic -->
<param name="sip-port" value="12345"/>
<param name="dialplan" value="XML"/>
<param name="dtmf-duration" value="100"/>
<param name="codec-prefs" value="$${codec_prefs}"/>
<param name="use-rtp-timer" value="true"/>
<param name="rtp-timer-name" value="soft"/>
<!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
<param name="rtp-ip" value="$${local_ip_v4}"/>
<!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
<param name="sip-ip" value="$${local_ip_v4}"/>
<param name="hold-music" value="$${hold_music}"/>
<param name="apply-nat-acl" value="rfc1918"/>
<!--<param name="enable-timer" value="false"/>-->
<!--<param name="enable-100rel" value="true"/>-->
<!--<param name="minimum-session-expires" value="120"/>-->
<!--<param name="dtmf-type" value="info"/>-->
<param name="manage-presence" value="false"/>
<!--<param name="bitpacking" value="aal2"/> -->
<param name="max-proceeding" value="3"/>
<!--<param name="session-timeout" value="120"/>-->
<!--set to 'greedy' if you want your codec list to take precedence -->
<param name="inbound-codec-negotiation" value="generous"/>
<!-- if you want to send any special bind params of your own -->
<!--<param name="bind-params" value="transport=udp"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!--<param name="accept-blind-reg" value="true"/> -->
<!--<param name="accept-blind-auth" value="true"/> -->
<!--<param name="suppress-cng" value="true"/> -->
<param name="nonce-ttl" value="60"/>
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
<!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
<param name="auth-calls" value="false"/>
<param name="auth-all-packets" value="false"/>
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
<!-- rtp inactivity timeout -->
<param name="rtp-timeout-sec" value="300"/>
<param name="rtp-hold-timeout-sec" value="1800"/>
<!-- VAD choose one (out is a good choice); -->
<!-- <param name="vad" value="in"/> -->
<!-- <param name="vad" value="out"/> -->
<!-- <param name="vad" value="both"/> -->
<param name="disable-register" value="true"/>
<!--<param name="NDLB-force-rport" value="true"/>-->
<param name="challenge-realm" value="auto_from"/>
<!--<param name="disable-rtp-auto-adjust" value="true"/>-->
<!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
<!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
<!--<param name="auto-rtp-bugs" data="clear"/>-->
</settings>
</profile>
</profiles>
</configuration>
<configuration name="switch.conf" description="Core Configuration">
<cli-keybindings>
<key name="1" value="help"/>
<key name="2" value="status"/>
<key name="3" value="pa answer"/>
<key name="4" value="pa hangup"/>
<key name="5" value="sofia status"/>
<key name="6" value="reloadxml"/>
<key name="7" value="console loglevel 0"/>
<key name="8" value="console loglevel 7"/>
<key name="9" value="sofia status profile softphone"/>
<key name="10" value="fsctl pause"/>
<key name="11" value="fsctl resume"/>
<key name="12" value="version"/>
</cli-keybindings>
<settings>
<param name="colorize-console" value="true"/>
<param name="max-sessions" value="20"/>
<param name="sessions-per-second" value="5"/>
<param name="loglevel" value="debug"/>
<param name="crash-protection" value="false"/>
<param name="dump-cores" value="yes"/>
<param name="rtp-start-port" value="16384"/>
<param name="rtp-end-port" value="16484"/>
</settings>
</configuration>
</section>
<section name="dialplan" description="Regex/XML Dialplan">
<context name="default">
<extension name="codec_and_sip_uri">
<condition field="destination_number" expression="^sip:(.*):(.*)$">
<action application="bridge" data="{absolute_codec_string=$1}sofia/softphone/$2"/>
</condition>
</extension>
<extension name="sip_uri">
<condition field="destination_number" expression="^sip:(.*)$">
<action application="bridge" data="sofia/softphone/$1"/>
</condition>
</extension>
<extension name="codec_and_number">
<condition field="destination_number" expression="^(.*):(.*)@(.*)$">
<action application="bridge" data="{absolute_codec_string=$1}sofia/gateway/$3/$2"/>
</condition>
</extension>
<extension name="number">
<condition field="destination_number" expression="^(.*)@(.*)$">
<action application="bridge" data="sofia/gateway/$2/$1"/>
</condition>
</extension>
<extension name="number">
<condition field="destination_number" expression="^(.*)$">
<action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
</condition>
</extension>
</context>
<context name="public">
<extension name="public_extensions">
<condition field="$${auto_answer}" expression="^true$"/>
<condition field="destination_number" expression="^(.*)$">
<action application="info"/>
<action application="bridge" data="portaudio/auto_answer"/>
</condition>
</extension>
<extension name="public_extensions">
<condition field="${sip_to_params}" expression="intercom=true"/>
<condition field="${alert_info}" expression="Ring;Answer"/>
<condition field="destination_number" expression="^(.*)$">
<action application="info"/>
<action application="bridge" data="portaudio/auto_answer"/>
</condition>
</extension>
<extension name="public_extensions">
<condition field="destination_number" expression="^(.*)$">
<action application="info"/>
<action application="set" data="ringback=${us-ring}"/>
<action application="pre_answer"/>
<action application="bridge" data="portaudio"/>
</condition>
</extension>
</context>
</section>
</document>