Learning Freeswitch as an Asterisk man

As an Asterisk expert learning Freeswitch unconsciously I compare asterisk with freeswitch and this post helps me a lot . 


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
sip show peerslist_users
sofia status profile internal reg
core reloadreloadxmlF6
core set verbose 0/log 0F7
core set verbose 9/log 7F8
core set debug 9/debug 7
core show versionversionF12
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 list
queue show queue_namecallcenter_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

Miscellaneous

AsteriskFreeSWITCH
AMImod_event_socket
asterisk -rfs_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

https://freeswitch.org/confluence/display/FREESWITCH/Rosetta+Stone

Comments