Skip to main content

Rosetta Stone

Asterisk to FreeSWITCH Rosetta Stone

While FreeSWITCH is not a drop-in replacement for Asterisk, it does many of the same things that Asterisk does. This page is an attempt to help those familiar with Asterisk to leverage that knowledge and quickly locate that which is equivalent or analogous in FreeSWITCH. In most cases there isn't a direct, one-to-one translation, but rather similarities. For example, the "equivalent" of extensions.conf is (mostly) conf/dialplan/default.xml; but there are also features.xml, public.xml and /conf/dialplan/extensions/*xml.

  • If anyone has thoughts on this then by all means add what you know.

Configuration Files

AsteriskFreeSWITCH
extensions.confconf/dialplan/default.xml; also features.xml, public.xml, extensions/*xml
logger.confmod_console and mod_syslog
rtp.confconf/autoload_configs/switch.conf.xml
sip.confconf/directory/*.xml (see mod_sofia)
voicemail.confmod_voicemail - voicemail.conf.xml, conf/directory/*xml
zapata.confconf/autoload_configs/openzap.conf.xml
RealtimeUse mod_xml_curl to fetch the user and/or dialplan in XML, mod_ldap for LDAP backend

Console Commands

Asterisk ConsoleFreeSWITCH Fs cliShortcut Key
core show helphelpF1
core show uptimestatusF2
core show channelsshow channelsF3
core show callsshow callsF4
sip show settingssofia statussofia status profile internalF5F9
core reloadreloadxmlF6
core set verbose 0/log 0F7
core set verbose 9/log 7F8
core set debug 9/debug 7
core show versionversionF12
channel originate sip/source extension destinationoriginate user/source destination xml default
channel originate sip/source application appname dataoriginate user/source &appname(data)
console dial 1000pa call 1000 (see mod_portaudio)
database get family keydb select/family/key
dialplan showxml_locate dialplan
hangup request channeluuid_kill uuid
module load app_queue.soload mod_callcenter
queue showcallcenter_config queue listcallcenter_config tier list
queue show queue_namecallcenter_config queue list agents queue_name@defaultcallcenter_config queue list members queue_name@default
sip reloadsofia profile internal rescan
sip set debug onsofia global siptrace onsofia global debug (presence|slanone)sofia loglevel all [0-9]
sip set debug (ip|peer)sofia profile (internal|external) siptrace on
sip show peerslist_userssofia status profile internal reg
sip show peer sip_providersofia status gateway sip_provider

Miscellaneous

AsteriskFreeSWITCH
AMImod_event_socket
asterisk -rCommand Line Interface (fs_cli)
asterisk -rx "command"fs_cli -x "command"
chan_localLoopback
stop gracefullyshutdown or ...

sip.conf params

AsteriskFreeSWITCH
dtmfmodeIn dialplan: start_dtmf

Asterisk experts: please add more information

Dialplan

AsteriskFreeSWITCH
exten =><extension></extension> tags
include =>Misc._Dialplan_Tools_transfer
RealtimeMod xml curl to fetch the dialplan in XML
AnswerMisc._Dialplan_Tools_answer
AGIEvent Socket Outboundivrd
BackgroundUsually used for:IVRplay_and_get_digits
ChanSpyMisc._Dialplan_Tools_eavesdrop
DBMod_db
Dialsee bridge app
Dial(|L(x[:y][:z])
Dial(SIP/${EXTEN}/sipuser)bridge with data="{sip_route_uri=sipuser}user/whatever" or data="sofia/whatever%domain.com^sipuser"
DumpChanMisc._Dialplan_Tools_info
EchoMisc._Dialplan_Tools_echo
GotoMisc._Dialplan_Tools_transfer
GotoIfConditions in dialplan (<condition field="blah" expression="foo">)
GotoIfTimeConditions in dialplan with Misc._Dialplan_Tools_strftime or Time_of_Day_Routing
HangupMisc._Dialplan_Tools_hangup
LogMisc._Dialplan_Tools_log
Macro/GoSubMisc._Dialplan_Tools_execute_extension
MeetMemod_conference
MonitorMisc._Dialplan_Tools_record_session
Monitor_execChannel_Variables#api_hangup_hook
MP3Playermod_shout
Musiconholdmod_local_stream
NoCDR<action application="set" data="process_cdr=false"/>
NoOpUsually used for logging - Misc._Dialplan_Tools_log
ParkMisc._Dialplan_Tools_park
PlaybackMisc._Dialplan_Tools_playback
PlaytonesMisc._Dialplan_Tools_gentones
ProgressMisc._Dialplan_Tools_pre_answer
Queuemod_callcenter or mod_fifo
ReadMisc._Dialplan_Tools_read
RecordMisc._Dialplan_Tools_record
SetMisc._Dialplan_Tools_set
SetGlobalMisc._Dialplan_Tools_set_global
SIPGetHeaderAuto set as variable - ${sip_h_HEADER} where HEADER is the header name
SIPAddHeaderSet variable ${sip_h_HEADER} where HEADER is the header name you want to send
SystemMisc._Dialplan_Tools_system
TransferMisc._Dialplan_Tools_redirect
WaitMisc._Dialplan_Tools_sleep
WaitExtenMisc._Dialplan_Tools_play_and_get_digits

See Also