Skip to main content

XML Switch Configuration

About

The FreeSWITCH core configuration is contained in autoload_configs/switch.conf.xml

Default key bindings

Function keys can be mapped to API commands using the following configuration:

<cli-keybindings>
<key name="[1-12]" value="[api command]"/>
</cli-keybindings>

The default keybindings are;

F1 = help
F2 = status
F3 = show channels
F4 = show calls
F5 = sofia status
F6 = reloadxml
F7 = console loglevel 0
F8 = console loglevel 7
F9 = sofia status profile internal
F10 = sofia profile internal siptrace on
F11 = sofia profile internal siptrace off
F12 = version

Beware that the option loglevel is actually setting the minimum hard_log_Level in the application. What this means is if you set this to something other than DEBUG no matter what log level you set the console to one you start up you will not be able to get any log messages below the level you set. Also be careful of mis-typing a log level, if the log level is not correct it will default to a hard_log_level of 0. This means that virtually no log messages will show up anywhere.

Core parameters

core-db-dsn

Allows to use ODBC database instead of sqlite3 for freeswitch core.

Syntax

dsn:user:pass

max-db-handles

Maximum number of simultaneous DB handles open

db-handle-timeout

Maximum number of seconds to wait for a new DB handle before failing

disable-monotonic-timing

(bool) disables monotonic timer/clock support if it is broken on your system.

enable-use-system-time

Enables FreeSWITCH to use system time.

initial-event-threads

Number of event dispatch threads to allocate in the core. Default is 1.

If you see the WARNING "Create additional event dispatch thread" on a heavily loaded server, you could increase the number of threads to prevent the system from falling behind.

loglevel

amount of detail to show in log

max-sessions

limits the total number of concurrent channels on your FreeSWITCH™ system.

sessions-per-second

throttling mechanism, the switch will only create this many channels at most, per second.

rtp-start-port

RTP port range begin

rtp-end-port

RTP port range end

Variables

Variables are default channel variables set on each channel automatically.

Example config

<configuration name="switch.conf" description="Modules">
<settings>
<!--Most channels to allow at once -->
<param name="max-sessions" value="1000"/>
<param name="sessions-per-second" value="30"/>
<param name="loglevel" value="debug"/>

<!-- Maximum number of simultaneous DB handles open -->
<param name="max-db-handles" value="50"/>
<!-- Maximum number of seconds to wait for a new DB handle before failing -->
<param name="db-handle-timeout" value="10"/>

</settings>
<!--Any variables defined here will be available in every channel, in the dialplan etc -->
<variables>
<variable name="uk-ring" value="%(400,200,400,450);%(400,2200,400,450)"/>
<variable name="us-ring" value="%(2000, 4000, 440.0, 480.0)"/>
<variable name="bong-ring" value="v=4000;>=0;+=2;#(60,0);v=2000;%(940,0,350,440)"/>
</variables>
</configuration>

See Also:

Default Configuration