Page tree
Skip to end of metadata
Go to start of metadata

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 status
sofia status profile internal
F5
F9
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 show

callcenter_config queue list
callcenter_config tier list 

 
queue show queue_name

callcenter_config queue list agents queue_name@default
callcenter_config queue list members queue_name@default

 
sip reloadsofia profile internal rescan 
sip set debug onsofia global siptrace on
sofia global debug (presence|sla|none)
sofia loglevel all [0-9]
 
sip set debug (ip|peer)sofia profile (internal|external) siptrace on 
sip show peerslist_users
sofia 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
AGI
BackgroundUsually used for:
ChanSpyMisc._Dialplan_Tools_eavesdrop
DBMod_db
Dialsee bridge app
Dial(||L(x[:y][:z])Limiting call time, use sched_hangup for the x and sched_broadcast for the :y and :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

  • No labels