Default config
From FreeSWITCH Wiki
The FreeSWITCH Default Configuration
FreeSWITCH ships with a large number of configuration files. This page will help explain the various configuration files and their default contents along with the standard modules.
Most of the FreeSWITCH configuration files are formatted in XML
Dialplans
A dialplan is a series of actions, and the conditions upon which they are executed. A dialplan tells FreeSWITCH how to behave, what to do, and when to do it. FreeSWITCH supports 3 Dialplans.
Dialplan_XML
Dialplan.xml is the primary dialplan of FreeSWITCH. As it's name suggests, it's an XML formatted file.
Dialplan_Asterisk
Actually, this file is called extensions.conf, it is a compatibility file that supports Asterisk style dialplans.
ENUM
Modules
mod_g723_1
The G723.1 Codec
mod_g729
The G729 Codec
mod_amr
The AMR Codec
mod_cdr_csv
The Call Detail Record module
mod_commands
A module that contains various commands.
mod_conference
The conferencing module.
mod_console
The module that reads and writes to the console.
mod_dialplan_asterisk
The module responsible for parsing extensions.conf.
mod_dialplan_xml
The module responsible for parsing and implementing the Dialplan.xml file.
mod_dptools
The Dial Plan Tools module, includes various functions to deal with dialplans.
mod_enum
mod_esf
Extra SIP Functionality module.
mod_event_socket
Socket events module.
mod_expr
Expression Evaluation Library module.
mod_fifo
mod_fsv
mod_h26x
h26x codec
mod_ilbc
ilbc codec
mod_limit
mod_local_stream
mod_logfile
Module that controls logging to a file.
mod_native_file
mod_say_en
mod_sndfile
mod_sofia
Module that provides SIP functionality to FreeSWITCH. This module wraps the sofia sip library from Nokia.
mod_speex
Speex Codec
mod_spidermonkey
mod_tone_stream
mod_voicemail
Voicemail Module
mod_voipcodecs
Config Files
conf/
This is the main configuration directory. Anything that defines how the switch works is in a file in this directory or a subdirectory.
conf/extensions.conf conf/freeswitch.xml conf/fur_elise.ttml conf/mime.types conf/tetris.ttml conf/vars.xml conf/voicemail.tpl conf/web-vm.tpl
conf/autoload_configs/
conf/autoload_configs/alsa.conf.xml conf/autoload_configs/cdr_csv.conf.xml conf/autoload_configs/conference.conf.xml conf/autoload_configs/console.conf.xml conf/autoload_configs/dialplan_directory.conf.xml conf/autoload_configs/dingaling.conf.xml conf/autoload_configs/enum.conf.xml conf/autoload_configs/event_multicast.conf.xml conf/autoload_configs/event_socket.conf.xml conf/autoload_configs/iax.conf.xml conf/autoload_configs/ivr.conf.xml conf/autoload_configs/java.conf.xml conf/autoload_configs/limit.conf.xml conf/autoload_configs/local_stream.conf.xml conf/autoload_configs/logfile.conf.xml conf/autoload_configs/lua.conf.xml conf/autoload_configs/modules.conf.xml conf/autoload_configs/openmrcp.conf.xml conf/autoload_configs/perl.conf.xml conf/autoload_configs/portaudio.conf.xml conf/autoload_configs/post_load_modules.conf.xml conf/autoload_configs/rss.conf.xml conf/autoload_configs/sofia.conf.xml conf/autoload_configs/spidermonkey.conf.xml conf/autoload_configs/switch.conf.xml conf/autoload_configs/syslog.conf.xml conf/autoload_configs/voicemail.conf.xml conf/autoload_configs/wanpipe.conf.xml conf/autoload_configs/woomera.conf.xml conf/autoload_configs/xml_cdr.conf.xml conf/autoload_configs/xml_curl.conf.xml conf/autoload_configs/xml_rpc.conf.xml conf/autoload_configs/zeroconf.conf.xml
conf/dialplan/
conf/dialplan/default.xml conf/dialplan/features.xml conf/dialplan/public.xml
Default Configuration File
conf/directory/
This is the sub directory that will hold all of the users allowed access to make calls via FreeSWITCH. By default, they're broken down by domain.
conf/lang/
conf/jingle_profiles
This is where the different profiles for mod_dingaling get placed
conf/mrcp_profiles/
conf/sip_profiles/
This is where the different sip profiles (or UA's are defined).
You'll notice that all the sip_profiles in the default config use the "public" context for their dialplan, including the "internal" profile;
<param name="context" value="public"/>
If you look in the directory config files (conf/directory/default/*.xml) you'll notice that the context is overridden there like so;
<variable name="user_context" value="default"/>
When a user registers and places a call, their context is set to whatever is in their "user_context" variable, thus "default".
The reasoning behind all of this is if you manage to turn off authentication or otherwise open up the "internal" profile then you won't by default expose your private dialplan to the world i.e. toll fraud.
