Global
Global specific dialplans are global to all tennants(domains). These can be changed, however the changes apply to all tennants.
Not Found
Dialplan Detail Tag
Dialplan Detail Type
Dialplan Detail Data
Dialplan Detail Break
Dialplan Detail Inline
Dialplan Detail Group
Dialplan Detail Order
condition
Domain Specific
Domain specific dialplans are all the same initially but can be changed. Those changes are per domain, thus helps FusionPBX achieve multitenancy.
Hold Music
Dialplan Detail Tag
Dialplan Detail Type
Dialplan Detail Data
Dialplan Detail Break
Dialplan Detail Inline
Dialplan Detail Group
Dialplan Detail Order
condition
destination_number
^*9664$
condition
${sip_has_crypto}
^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$
action
answer
action
execute_extension
is_secure XML ${context}
action
playback
$${hold_music}
anti-action
zrtp_secure_media=true
anti-action
answer
anti-action
playback
silence_stream://2000
anti-action
execute_extension
is_zrtp_secure XML ${context}
anti-action
playback
$${hold_music}
action
extension_uuid=${user_data ${destination_number}@${domain_name} var extension_uuid}
action
hold_music=${user_data ${destination_number}@${domain_name} var hold_music}
action
forward_all_enabled=${user_data ${destination_number}@${domain_name} var forward_all_enabled}
action
forward_all_destination=${user_data ${destination_number}@${domain_name} var forward_all_destination}
action
forward_busy_enabled=${user_data ${destination_number}@${domain_name} var forward_busy_enabled}
action
forward_busy_destination=${user_data ${destination_number}@${domain_name} var forward_busy_destination}
action
forward_no_answer_enabled=${user_data ${destination_number}@${domain_name} var forward_no_answer_enabled}
action
forward_no_answer_destination=${user_data ${destination_number}@${domain_name} var forward_no_answer_destination}
action
forward_user_not_registered_enabled=${user_data ${destination_number}@${domain_name} var forward_user_not_registered_enabled}
action
forward_user_not_registered_destination=${user_data ${destination_number}@${domain_name} var forward_user_not_registered_destination}
action
do_not_disturb=${user_data ${destination_number}@${domain_name} var do_not_disturb}
action
call_timeout=${user_data ${destination_number}@${domain_name} var call_timeout}
action
missed_call_app=${user_data ${destination_number}@${domain_name} var missed_call_app}
action
missed_call_data=${user_data ${destination_number}@${domain_name} var missed_call_data}
action
toll_allow=${user_data ${destination_number}@${domain_name} var toll_allow}
action
call_screen_enabled=${user_data ${destination_number}@${domain_name} var call_screen_enabled}
action
record_path=${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}
action
record_name=${uuid}.${record_ext}
action
recording_follow_transfer=true
action
record_append=true
action
record_in_progress=true
action
record_session
${record_path}/${record_name}
FALSE
action
api_result=${conference(${conf_xfer_number} unmute ${conference_member_id} quiet)}
action
bind_digit_action
conf-xfer,*0,api:lua,transfer2.lua ${uuid} conf_enter_number::XML::conf-xfer@${domain_name} conf_enter_to::XML::conf-xfer@${domain_name}
action
bind_digit_action
conf-xfer,##,api:lua,transfer2.lua ${uuid} conf_enter_number::XML::conf-xfer@${domain_name} ::KILL::
action
bind_digit_action
conf-xfer,*#,api:lua,transfer2.lua ${uuid} conf_add_end::XML::conf-xfer@${domain_name} ::KILL::
action
bind_digit_action
conf,*#,exec:execute_extension,conf_add_begin XML conf-xfer@${domain_name}
action
bind_digit_action
none,NONE,api:sleep,1
action
continue_on_fail=true
action
transfer
conf_enter_number XML conf-xfer@${domain_name}
condition
destination_number
^conf_add_end$
on-true
action
digit_action_set_realm
action
api_result=${conference(${conf_xfer_number} mute ${conference_member_id})}
action
conference
${conf_xfer_number}@page
condition
destination_number
^conf_enter_number$
on-true
action
digit_action_set_realm
action
2 11 ‘tone_stream://%(10000,0,350,440)’ target_num 30000 #
action
execute_extension
conf_bridge_${target_num} XML conf-xfer@${domain_name}
condition
destination_number
^conf_bridge_$
on-true
action
execute_extension
conf_add_end XML conf-xfer@${domain_name}
condition
destination_number
^conf_bridge_*$
on-true
action
execute_extension
conf_add_end XML conf-xfer@${domain_name}
condition
destination_number
^conf_bridge_(\d{2,7})$
on-true
action
digit_action_set_realm
conf-xfer
action
bridge
{conf_xfer_number=${conf_xfer_number},transfer_after_bridge=conf_enter_to:XML:conf-xfer@${domain_name}}user/$1@${domain_name}
action
execute_extension
conf_enter_number XML conf-xfer@${domain_name}
condition
destination_number
^conf_bridge_
on-true
action
playback
voicemail/vm-that_was_an_invalid_ext.wav
action
execute_extension
conf_enter_number XML conf-xfer@${domain_name}
condition
destination_number
^conf_enter_to$
on-true
action
unbind_meta_app
action
bind_digit_action
conf,*#,exec:execute_extension,conf_add_begin XML conf-xfer@${domain_name}
action
digit_action_set_realm
action
answer
action
playback
tone_stream://L=1;%(500, 0, 640)
action
conference
${conf_xfer_number}@page
condition
destination_number
^conf_xfer_from_dialplan$
action
transfer2.lua ${uuid} conf_add_begin::XML::conf-xfer@${domain_name} conf_enter_to::XML::conf-xfer@${domain_name}
action
bind_digit_action
local,*2,exec:record_session,$${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.${record_ext},${bind_target}
action
bind_digit_action
local,*3,exec:execute_extension,cf XML ${context},${bind_target}
action
bind_digit_action
local,*4,exec:execute_extension,att_xfer XML ${context},${bind_target}
action
digit_action_set_realm
local