__Variables
About
This page is a reference to all FreeSWITCH variables.
This page parallels the __Channel Variables) page. Consult both while the pages are being reconciled.
Variable References
You will see references to variables in the dialplan of the form ${variable}
as well as $${variable}
.
$${variable}
is evaluated once and becomes a static reference to the variable and is therefore suitable for variables that do not change, such as the domain of the FreeSWITCH server. That is why you see $${domain}
referenced so frequently in the Vanilla dialplan examples and as pre-processor variables which are evaluated once at startup.
${variable}
is evaluated during each pass through the dialplan, so it is used for variables that are expected to change, such as the ${destination_number}
or ${sip_to_user}
fields.
absolute_codec_string
Sets the absolute codec string to use (nothing will be appended).
Usage:
<action application="set" data="absolute_codec_string=PCMU,GSM"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
Per-leg Dialstring:
<action application="bridge" data=[leg_timeout=60,origination_caller_id_number=918039251,
absolute_codec_string=^^:PCMA:PCMU]sofia/gateway/gateway1/${destination_number}|[leg_timeout=60,
absolute_codec_string=PCMA]sofia/gateway/gateway2/${destination_number}"/>
Global Dialstring:
<action application="bridge" data="{absolute_codec_string=PCMA}sofia/gateway/gateway2/${destination_number}"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_opal | mod_opal.cpp | 10567 |
mod_sofia | sofia_glue.c | 12700 |
core | switch_ivr_originate.c | 12817 |
accountcode
Account code is mostly an arbitrary value that you can assign on a per leg basis. An important feature of accountcode is that if its value matches one of the CDR CSV templates defined in cdr_csv.conf.xml then that CDR template will be used when generating a CSV CDR.
Usage:
<action application="set" data="accountcode=custom"/>
acl_token
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia.c | 9056 |
alert_info
Add an Alert-Info Header like Snom and other Phones need for Ring or Ringtone informations.
Usage:
Load an external Wav Rington on all Calls.
<action application="export" data="alert_info=http://192.168.181.5/sounds/ctu.wav"/>
Use the External Ringer (Change the Ringtone for the alert-external, alert-group and alert-internal in Snom under Setup > Preferences > Alert-Info Ringer)
<action application="export" data="alert_info=http://www.notused.com;info=alert-external;x-line-id=0"/>
(Set under See also: [http://wiki.snom.com/Web%5FInterface/V8/Preferences/Alert-Info%5FRinger](http://wiki.snom.com/Web%5FInterface/V8/Preferences/Alert-Info%5FRinger)
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia.c | 6350 |
mod_sofia | sofia_glue.c | 4819 |
answer_epoch
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
answer_stamp
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 7750 |
answer_uepoch
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 8686 |
answermsec
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 3546 |
answersec
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 3546 |
answerusec
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 3546 |
api_after_bridge
Execute an API command after bridge.
Usage:
Paging to PA System via Portaudio (w/ chime before and after announcement)
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 7885 |
api_hangup_hook
Execute an API command on hangup.
Usage:
<action application="set" data="api_hangup_hook=jsrun cleanup.js ${uuid}"/>
See also:
- session_in_hangup_hook
- api_reporting_hook - like api_hangup_hook but after reporting state (both honor session_in_hangup_hook)
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_core_state_machine.c | 7885 |
api_on_answer
Execute an api (not an application) when the called party answers. To set an application, use execute_on_answer.
Usage:
<action application="export" data="nolocal:api_on_answer=uuid_broadcast ${uuid} beep.wav both"/>
Or,
<action application="bridge" data="{api_on_answer='uuid_broadcast ${uuid} beep.wav both'}sofia/gateway/provider/5551231234"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 15207 |
api_on_media
Execute a FreeSWITCH API when the far end sends media, i.e. ringing or 183/SDP.
The command is executed only on channels that are not already answered. Just use export or export with nolocal: prefix to make sure it is executed when b-leg answers.
In the second usage example below, we have originated an outbound call to a local extension, where we will wait 30 seconds without ignoring media. In this case we use 'set' and not 'export'.
Usage:
<action application="export" data="nolocal:execute_on_media=lua incrInUse.lua ${uuid}"/>
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Core | switch_channel.c | 850f2e3 |
api_on_startup
Execute an api (not an application) when the switch starts up.
Usage:
<X-PRE-PROCESS cmd="set" data="api_on_startup=sofia recover"/>
Implemented By:
Module Name | Source File | Last Revised | date |
---|---|---|---|
core | switch_channel.c | e164b76caf0a47b6b33891eea80b1928067c9dd1 | 2011-12-15 |
asr_intercept_dtmf
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_async.c | 8912 |
auto_answer_destination
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia.c | 10525 |
auto_hunt
Setting auto_hunt to "true" will alter the normal sequential processing of dialplan extensions. auto_hunt will cause the dialplan to 'jump' to a specific extension name, not processing any other extension. The destination_number and extension name must be the same in order for this to work. The condition must still match, but the extension name is the operative element.
In the example below, there is no way to reach extension 333 without auto_hunt.
Usage: In vars.xml:
<X-PRE-PROCESS cmd="set" data="auto_hunt=true"/>
Example:
<extension name="do_xfer">
<condition field="destination_number" expression="^.*$">
<action application="set" data="auto_hunt=true"/>
<action application="transfer" data="333"/>
</condition>
</extension>
<extension name="333">
<condition field="destination_number" expression="^333$">
<action application="info"/>
</condition>
</extension>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dialplan_xml | mod_dialplan_xml.c | 12144 |
billmsec
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
billsec
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
billusec
Description needed! Please contribute one.
Usage:bypass_media
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
bind_meta_key
Selects the meta key to use with the mod_dptools: bind_meta_app dialplan application.
Usage:
<action application="set" data="bind_meta_key=#"/>
Implemented By:
bridge_answer_timeout
Timeout in seconds how long to tolerate a bridge that is in early media without being answered (can be set on either leg). Useful when you want to pass early media from b-leg to a-leg but also use ${call\_timeout}
. This will consider the bridge failed if a 200 OK is not received before the bridge_answer_timeout.
Usage:
<action application="set" data="bridge_answer_timeout=20"/>
tags bridge answer timeout ringer ring timer voicemail
bridge_channel
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 6537 |
bridge_early_media
By default this is false. Set to true, this makes the bridge use the live audio from the b-leg as ringback to the a-leg. Setting bridge_early_media=true means the early media will be buffered.
Consider setting this to true if you are using a loopback channel to execute a bridge to an endpoint which sends back early media and the received early media's audio is degraded. The buffering resulting from setting bridge_early_media=true brings with it a higher resource cost (than bridge_early_media=false), but may improve the sound quality of the early media.
Usage: Set bridge_early_media before the bridge, or in the dial string for the bridge.
bridge_epoch
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 3492 |
bridge_filter_dtmf
Setting this variable to true will prevent DTMF digits received on this channel when bridged from being sent to the other channel.
Usage:
You can set this variable in the dialplan before answering or inline as part of a dialstring.
Example dialplan usage:
<action application="set" data="bridge_filter_dtmf=true" />
Example dialstring usage:
{bridge_filter_dtmf=true}sofia/default/blah@baz.com
bridge_generate_comfort_noise
Generates comfort noise when bridged session is receiving discontinuous audio frames (silence suppression).
When greater than 0, this variable is set to the divisor of the silence generating function. 400 or 1400 are common values set, but you may experiment with other choices to pick one that sounds best.
When true, FreeSWITCH will pick a default comfort noise value.
When -1, FreeSWITCH will transmit silence without comfort noise. (As of 2012-10-25)
Usage:
Leg A wants a continuous stream of audio, but leg B is using silence suppression:
<action application="set" data="bridge_generate_comfort_noise=true"/>
<action application="bridge" data="sofia/user/1000"/>
Leg A uses silence suppression, but leg B wants a continuous stream of audio:
<action application="bridge" data="{bridge_generate_comfort_noise=true}sofia/user/1000"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 9543 |
bridge_hangup_cause
This is set to the hangup cause of the last bridged B leg of the call. If you have continue_on_fail=true and hangup_after_bridge=false you can do checks on this to see what "really" happened to the call. You can for instance do execute_extension after bridge, do a condition check on ${bridge_hangup_cause}
to see if it contains MEDIA_TIMEOUT and then trigger a redial of the call or transfer to a cell phone. For a list of hangup causes, see Hangup Causes.
Usage:
<action application="log" data="1 B-leg hangup cause: ${bridge_hangup_cause}"/>
bridge_pre_execute_aleg_app
Command or api to be executed on the A leg before bridging the two channels.
Note: this is executed AFTER the call is setup but BEFORE the media (audio) is bridged.
Usage:
Example needed! Please contribute one
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 8108 |
bridge_pre_execute_aleg_data
Arguments to be used with bridge_pre_execute_aleg_app.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 8108 |
bridge_pre_execute_bleg_app
Command or api to be executed on the B leg before bridging the two channels. Useful when originating a call from the event socket, CLI or XML-RPC.
It could for instance be used to do a HTTP GET with a script or mod_http to the IP address of a Snom phone to increase the ringer volume if you need to do a wakeup call.
Can also be used to bind a dtmf to an app on the b leg of a call so that it can survive a transfer.
Note: this is executed AFTER the call is setup but BEFORE the media (audio) is bridged.
Usage:
<action application="set" data="bridge_pre_execute_bleg_app=bind_meta_app"/>
<action application="set" data="bridge_pre_execute_bleg_data=1 a s att_xfer::sofia/profile/destination"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 8108 |
bridge_pre_execute_bleg_data
Arguments to be used with bridge_pre_execute_bleg_app
Usage:
<action application="set" data="bridge_pre_execute_bleg_app=bind_meta_app"/> <action application="set" data="bridge_pre_execute_bleg_data=1 a s att_xfer::sofia/profile/destination"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 8108 |
bridge_stamp
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 3443 |
bridge_terminate_key
Allows you to bind a key and the bridge will terminate if the dtmf matches
Usage: you can set bridge_terminate_key on either or both legs which will end the bridge, if it hangs up or not is decided by hangup_after_bridge=false or what is next in your dp
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 12479 |
bridge_to
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_commands | mod_commands.c | 7421 |
core | switch_ivr.c | 5738 |
core | switch_ivr_async.c | 4798 |
core | switch_ivr_bridge.c | 12671 |
bridge_uepoch
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 3494 |
bridge_uuid
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 9603 |
bypass_media
When set, all the media address of the far end of the originating leg will be passed to the far end of the new call leg and vice versa so the signaling goes through FreeSWITCH but the media is point-to-point.
Usage:
<action application="set" data="bypass_media=true"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 12479 |
mod_esf | mod_esf.c | 5115 |
bypass_media_after_bridge
This is useful for bypassing media after bridging has happened.
Usage:
<action application="set" data="bypass_media_after_bridge=true"/>
It could be useful for an already established channel and doing a later bypass.
uuid_setvar <uuid> bypass_media_after_bridge true
uuid_broadcast <uuid> bridge::<endpoint>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 12479 |
mod_sofia | sofia.c | 9591 |
core | switch_ivr_bridge.c | 9591 |
cache_speech_handles
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_play_say.c | 5876 |
call_clientcode
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia.c | 6987 |
call_timeout
Controls how long (in seconds) to ring the B leg of a call when using the bridge application. The timeout is set on the A leg, and applies to any bridges that happen in the channel.
If you need to set a timeout on a call that has no A leg, use originate_timeout
If you need to set a timeout with enterprise bridging/originate, use originate_timeout
If you need to set the timeout on a per leg basis (i.e., a different timeout for each destination), use the leg_timeout variable.
Default Value: 60
Usage:
<action application="set" data="call_timeout=20"/>
Notes:
If a call timeout is to be specified against a group_call() list, use the following format:
<action application="bridge" data="{originate_timeout=24}${group_call(sales@$${domain})}"/>
Beware that if you are not using {ignore_early_media=true} call_timeout is no longer applicable as soon as early media signal is received.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dialplan_asterisk | mod_dialplan_asterisk.c | 6208 |
mod_dptools | mod_dptools.c | 10917 |
core | switch_ivr_originate.c | 9120 |
core | switch_swig.c | 4795 |
caller_id
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
caller_id_name
The caller id name set by the inbound call, not a real variable. Practically it is read only.
caller_id_number
The caller id phone number set by the inbound call, not a real variable. Practically it is read only. From sofia.c, the values used (in precedence) are the user parts from: P-Preferred-Identity, P-Asserted-Identity, Remote-Party-ID, and the From header.
campon
Controls whether camping is enabled or not.
Default: false
Usage:
<action application="set" data="campon=true"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_announce_sound
File to play back after the first bridge fails (rg to announce what key to press to skip to fallback extension)
Default: none
Usage:
<action application="set" data="campon=true"/>
<action application="set" data="campon_stop_key=1"/>
<action application="set" data="campon_announce_sound=press_one_to_stop.wav"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_fallback_context
Controls camping during bridge app (testing needed)
Usage:
<action application="set" data="campon"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_fallback_dialplan
Controls camping during bridge app (testing needed)
Usage:
<action application="set" data="campon"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_hold_music
If you don't set the hold_music variable, this variable controls hold music while camping.
Usage:
<action application="set" data="campon=true"/>
<action application="set" data="campon_hold_music=/data/campmusic/RelaxingCampSounds.wav"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_fallback_exten
Controls camping during bridge app (testing needed)
Usage:
<action application="set" data="campon"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_retries
Controls how many times the bridge will be retried while camping.
Default: 100
Usage:
<action application="set" data="campon=true"/>
<action application="set" data="campon_retries=13"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_sleep
Controls how long to wait before starting a retry.
Default: 10
Usage:
<action application="set" data="campon=true"/>
<action application="set" data="campon_sleep=30"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 15201 |
campon_stop_key
DTMF digit that breaks the campon loop and skips directly to fallback extension
Default: none
Usage:
<action application="set" data="campon=true"/>
<action application="set" data="campon_stop_key=1"/>
<action application="set" data="campon_announce_sound=press_one_to_stop.wav"/>
<action application="set" data="campon_fallback_exten=1000"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
campon_timeout
This variable controls how long to attempt each bridge before timing out. It works exactly like call_timeout but only applies to camping.
Default: 10
Usage:
<action application="set" data="campon=true"/>
<action application="set" data="campon_timeout=20"/>
<action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
cdr_csv_base
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_cdr_csv | mod_cdr_csv.c | 6542 |
CHANNEL
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dialplan_asterisk | mod_dialplan_asterisk.c | 6205 |
channel_name
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6542 |
codec_string
Sets the base codec string to use.
Usage:
<action application="set" data="codec_string=PCMU,GSM"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_opal | mod_opal.cpp | 10567 |
mod_sofia | sofia_glue.c | 5114 |
conference_auto_outcall_announce
File name of audio message to play to conference member joining conference via the conference_set_auto_outcall application. Because the conference would be originating an outbound call to a member this typically would be a greeting with an explanation that the recipient will be joining a conference call.
Usage:
<action application="set" data="conference_auto_outcall_announce=sounds/soundfile.wav"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 11104 |
conference_auto_outcall_caller_id_name
Caller ID name to use when dialing endpoints to join the conference via the conference_set_auto_outcall application.
Usage:
<action application="set" data="conference_auto_outcall_caller_id_name=$${effective_caller_id_name}"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 11104 |
conference_auto_outcall_caller_id_number
Caller ID number to use when dialing endpoints to join the conference via the conference_set_auto_outcall application.
Usage:
<action application="set" data="conference_auto_outcall_caller_id_number=${effective_caller_id_number}"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 11104 |
conference_auto_outcall_flags
Conference flags to set for members joining conference via the conference_set_auto_outcall application
Usage:
<action application="set" data="conference_auto_outcall_flags=mute"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 11104 |
conference_auto_outcall_maxwait
Maximum time in seconds that the channel that initiated the conference_set_auto_outcall will wait for members to join the conference.
Usage:
<action application="set" data="conference_auto_outcall_maxwait=10"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c |
conference_auto_outcall_prefix
The value of conference_auto_outcall_prefix is prepended to each of conference_set_auto_outcall values, of which there can be more than one.
Usage:
<extension name="mad_boss_intercom">
<condition field="destination_number" expression="^0911$">
<action application="set" data="conference_auto_outcall_caller_id_name=Mad Boss1"/>
<action application="set" data="conference_auto_outcall_caller_id_number=0911"/>
<action application="set" data="conference_auto_outcall_timeout=60"/>
<action application="set" data="conference_auto_outcall_flags=mute"/>
<action application="set" data="conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer='bind_meta_app 2 a s1 transfer::intercept:${uuid} inline'}"/>
<action application="set" data="sip_exclude_contact=${network_addr}"/>
<action application="conference_set_auto_outcall" data="${group_call(sales)}"/>
<action application="conference" data="madboss_intercom1@default+flags{endconf|deaf}"/>
</condition>
</extension>
See also:
See Conferencing and Intercom for an example of using all this to page via multiple extensions.
See conference for details on initiating conferences.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 11104 |
conference_auto_outcall_profile
Conference profile to use for members joining the conference via the conference_set_auto_outcall application.
Usage:
<action application="set" data="conference_auto_outcall_profile=default"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c |
conference_auto_outcall_timeout
Originate timeout to use when joining a member to a conference via conference_set_auto_outcall.
Usage:
<action application="set" data="conference_auto_outcall_timeout=60"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 11104 |
conference_controls
Set this variable to specify which conference control set to use when transferring a caller into a conference. This allows you, for example, to have a control set for the conference moderator and another control set for regular conference members. The control set for the moderator could include the ability to mute or kick people, for example.
NOTE: You must create the desired conference control set. Also, if this is not set then the default conference control set is used for the conference member.
Usage:
<action application="set" data="conference_controls=moderator"/>
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_conference | mod_conference.c | ac19f73c |
conference_enforce_security
Allows the conference security to be overridden. This applies in two different scenarios, one for inbound and one for outbound. By default, conference security is always applied to inbound calls and is always skipped for outbound calls. This channel variable allows the behavior to be modified.
Usage:
Inbound
<action application="set" data="conference_enforce_security=false"/>
<action application="conference" data="3000"/>
Outbound
originate {conference_enforce_security=true}sofia/internal/1001 &conference(3000)
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 12863 |
conference_enter_sound
When set, this channel variable will override the enter-sound param on conference profile for any conferences into which the call leg is transferred.
Usage:
<action application="set" data="conference_enter_sound=silence_stream://10"/>
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Mod_conference | mod_conference.c |
conference_exit_sound
Usage:
<action application="set" data="conference_exit_sound=silence_stream://10"/>
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Mod_conference | mod_conference.c |
conference_last_matching_digits
Contains the last matching digits that the user on this channel sent into the conference.
Usage:
<action application="log" data="INFO Last digits sent by this user: ${conference_last_matching_digits}"/>
See also:
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_conference | mod_conference.c | f6bcf830 |
conference_member_id
Contains the conference_member_id value for any conference to which the channel may be connected.
Implemented By:
mod_conference.c
conference_moderator
Is true if the channel is connected to a conference as a moderator.
Implemented By:
mod_conference.c
conference_name
The name of the last conference joined by this channel.
Usage:
<action application="log" data="INFO Last conference joined by this user: ${conference_name}"/>
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_conference | mod_conference.c |
conference_recording
Contains the file name of the conference recording for the conference to which the channel is connected.
Implemented By:
mod_conference.c
conference_uuid
Every instance of a conference has its own UUID. This channel variable stores the conference UUID for the most recent conference in which the channel was a member. It is set as soon as the channel enters the conference, and will show up in XML CDRs and uuid_dump calls, as well as any events that show channel variables.
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_conference | mod_conference.c | 2011-03-18 |
continue_on_fail
Controls what happens when the called party can not be reached (busy/offline). If "true" the dialplan continues to be processed. If "false" the dialplan will stop processing. Can contain the return messages that will continue on fail also.
Usage:
<action application="set" data="continue_on_fail=true"/>
or,
<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,NO_ROUTE_DESTINATION"/>
or Q.850 cause codes,
<action application="set" data="continue_on_fail=3,17,18,27"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 5875 |
mod_lcr | mod_lcr.c | 10510 |
copy_xml_cdr
Copy's the other leg's XML CDR into this leg's CDR. For example, the A leg's CDR will contain a variable named b_leg_cdr whose contents are the URL-encoded XML CDR data from the B leg. This variable must be set on the B leg, so use {copy_xml_cdr=true} in the dialstring or use exportinstead of set.
Usage:
<action application="bridge" data="{copy_xml_cdr=true} user/${dialed_extension}@${domain_name}"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 8955 |
created_time
Contains the start time (in microseconds) of when the call was created.
Usage:
In the event that a call is transferred, this will contain the time of when the entire call was created, not that specific transfer. If you need the transfer created time, see Variable_profile_created_time and Variable_progress_time
current_application
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 10277 |
mod_sofia | sofia.c | 11562 |
core | switch_core_session.c | 10653 |
current_application_data
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 10277 |
mod_sofia | sofia.c | 11562 |
current_application_response
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 10653 |
core | switch_core_session.c | 10653 |
default_language
Controls the default language the Say Phrase engine will use when no language is explicitly specified in the API call. This permits you to easily support multiple languages by only changing a single variable at call time.
Usage:
<action application="set" data="default_language=fr"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_play_say.c | 4796 |
destination_number
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia.c | 6054 |
core | switch_ivr_bridge.c | 7083 |
detect_speech_result
The result of play_and_detect_speech.
Usage:
This value is read-only.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c |
dialed_domain
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_commands | mod_commands.c | 10917 |
mod_dptools | mod_dptools.c | 7225 |
dialed_group
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_commands | mod_commands.c | 10917 |
dialed_user
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_commands | mod_commands.c | 10917 |
mod_dptools | mod_dptools.c | 7225 |
digits_dialed
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 12244 |
direction
It is used to determine if the particular leg of the call is inbound or outbound.
Usage:
<condition field="${direction}" expression="^inbound$">
See also:
disable_app_log
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_core_session.c | 8517 |
rtp_disable_hold
When set to true the user may not put the call on hold.
Usage:
<action application="set" data="rtp_disable_hold=true"/>
Implemented By:
mod_sofia
rtp_pass_codecs_on_stream_change
Pass codecs thru from a to b on stream change, example adding or removing video from a bridged call.
Usage
<action application="set" data="rtp_pass_codecs_on_stream_change=true"/>
disable_q850_reason
When set to true, this disables sending of the Reason header, which includes the Q.850 reason code, in responses and BYEs. For a list of hangup causes and their Q.850 codes, see Hangup Causes. This is available as of revision 15850 committed 12/8/2009.
Usage:
<action application="set" data="disable_q850_reason=true"/>
disable_radius_start
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_radius_cdr | mod_radius_cdr.c | 10793 |
disable_radius_stop
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_radius_cdr | mod_radius_cdr.c | 10793 |
disable_rtp_auto_adjust
Disable rtp auto adjust if it not behaves as you expected.
It stops the switch from rewriting the RTP destination based on the source
When RTP Auto-Adjust is ON FreeSWITCH will change the destination RTP address (port?) to match the source of the incoming packets, this doesn't work if the other end is really wanting to send and receive on a different addr (port?).
Usage:
<action application="set" data="disable_rtp_auto_adjust=true"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dingaling | mod_dingaling.c | 12641 |
mod_sofia | sofia_glue.c | 8908 |
DISPLACE_HANGUP_ON_ERROR
When set to true this channel variable will cause the call to hangup if there is an error when trying to uuid_displace the call. The default is "false". The default behavior before 2013/03/21 was to hangup.
Usage:
<action application="set" data="DISPLACE_HANGUP_ON_ERROR=true"/>
See also:
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Core | switch_ivr_async.c |
dl_cid_msg
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dingaling | mod_dingaling.c | 4270 |
dl_from_host
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dingaling | mod_dingaling.c | 4943 |
dl_from_user
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dingaling | mod_dingaling.c | 4943 |
dl_host
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dingaling | mod_dingaling.c | 4943 |
dl_user
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dingaling | mod_dingaling.c | 4943 |
domain_name
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr.c | 9056 |
drop_dtmf
Set this on an inbound channel before answer or on an outbound channel before the bridge/originate in order to prevent DTMF events from being sent to the channel.
Only tested with RFC2833, may also work for INFO / inband. See Jira issue FS-4769. Commit 60f7849cbe72.
Usage:
<action application="set" data="drop_dtmf=true"/>
<action application="answer"/>
or,
<action application="export" data="nolocal:drop_dtmf=true"/>
<action application="bridge" data="sofia/internal/100@1.2.3.4"/>
or,
<action application="bridge" data="{drop_dtmf=true}sofia/internal/100@1.2.3.4"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia_glue.c |
dtmf_type
For inband DTMF, Misc. Dialplan Tools start_dtmf must be used in the dialplan.
Usage:
<action application="set" data="dtmf_type=info"/>
or,
<action application="set" data="dtmf_type=rfc2833"/>
or,
<action application="set" data="dtmf_type=none"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia_glue.c | 6952 |
dtmf_verbose
Enables verbose logging of Spandsp DTMF detector. Default is false. Set this variable prior to executing spandsp_start_dtmf.
Usage:
See also:
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_spandsp | mod_spandsp_dsp.c |
duration
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
easy_acctcode
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_easyroute | mod_easyroute.c | 10929 |
easy_destnum
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_easyroute | mod_easyroute.c | 10929 |
easy_dialstring
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_easyroute | mod_easyroute.c | 10929 |
easy_group
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_easyroute | mod_easyroute.c | 10929 |
easy_limit
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_easyroute | mod_easyroute.c | 10929 |
eavesdrop_annnounce_macro
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_async.c | 8098 |
eavesdrop_announce_id
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_async.c | 8098 |
eavesdrop_group
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_async.c | 8686 |
eavesdrop_indicate_failed
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 8098 |
eavesdrop_indicate_idle
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 8091 |
eavesdrop_indicate_new
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 8091 |
eavesdrop_require_group
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 8098 |
effective_caller_id_name
Sets the effective callerid name. This is automatically exported to the B-leg; however, it is not valid in an origination string. In other words, set this before calling bridge, otherwise use origination_caller_id_name
For Snom 370/820 users:
If you want to display LEG A's name (if available) as soon as LEG B (here the local Snom) rings, you have to set origination_caller_id_name or effective_caller_id_name as described. Otherwise, in LEG B's display, you will see LEG A's number during ringing and switching to LEG A's name after picking up the call by LEG B. To remove it set it to "_undef_".
Usage:
<action application="set" data="effective_caller_id_name=Bob Smith"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_voicemail | mod_voicemail.c | 8854 |
core | switch_core_session.c | 9248 |
effective_caller_id_number
Sets the effective callerid number. This is automatically exported to the B-leg; however, it is not valid in an origination string. In other words, set this before calling bridge, otherwise use origination_caller_id_number
Usage:
<action application="set" data="effective_caller_id_number=9185551212"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_voicemail | mod_voicemail.c | 8854 |
core | switch_core_session.c | 9248 |
enable_file_write_buffering
Enable file buffering when recording a file, defaults to true if not set.
Buffer size defaults to `SWITCH_DEFAULT_FILE_BUFFER_LEN` but can be overridden by putting bytes size instead of true (see below example).
Related discussion; [http://lists.freeswitch.org/pipermail/freeswitch-users/2012-April/082835.html](http://lists.freeswitch.org/pipermail/freeswitch-users/2012-April/082835.html)
Usage:
<action application="set" data="enable_file_write_buffering=false"/>
<action application="set" data="enable_file_write_buffering=true"/>
<action application="set" data="enable_file_write_buffering=65535"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_play_say.c | 11677 |
enable_heartbeat_events
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 9882 |
end_epoch
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
end_stamp
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
end_uepoch
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 6917 |
ep_codec_prefer_sdp
ep_codec_prefer_sdp contains the "endpoint" codec string on the A leg. The order of preference is chosen by the A leg
Usage:
Need some example.
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Sofia | mod_sofia_glue.c |
ep_codec_string
ep_codec_string contains the "endpoint" codec string on the A leg. This codec list includes only the codecs that both the A leg and FreeSWITCH agree upon. This variable is set only when inbound-late-negotiation is enable on the SIP profile. NOTE: When there is more than one codec in the list, the order of preference is chosen by FreeSWITCH, not by the A leg
Usage:
<action application="bridge" data="{absolute_codec_string=${ep_codec_string}}sofia/foo/bar@baz"/>
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Sofia | mod_sofia.c |
exec_after_bridge_app
Execute an application command after the bridge has been terminated. To be used with exec_after_bridge_arg. By contrast, to execute when the bridge has been established use execute_on_answer
Usage:
<action application="set" data="exec_after_bridge_app=transfer"/>
<action application="set" data="exec_after_bridge_arg=2102"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 5546 |
exec_after_bridge_arg
Argument passed to exec_after_bridge_app.
Usage:
<action application="set" data="exec_after_bridge_app=transfer"/>
<action application="set" data="exec_after_bridge_arg=2102"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 5546 |
execute_on_answer
Execute an application (not an api) when the called party answers. To set an api, use api_on_answer. execute_on_answer will also allow for more control when dealing with no answer conditions in cases where you cannot ignore early media.
The command is executed only on channels that are not already answered. Just use export or export with nolocal: prefix to make sure it is executed when b-leg answers.
In the second usage example below, we have originated an outbound call to a local extension, where we will wait 30 seconds while manually ignoring media. In this case we use 'set' and not 'export'.
Usage:
<action application="export" data="nolocal:execute_on_answer=lua incrInUse.lua ${uuid}"/>
or, to wait 30 seconds for an answer while 'manually' ignoring early media
originate {ignore_early_media=true}sofia/gateway/my_gateway/5551212 885551212
<extension name="exe_on_ans">
<condition field="destination_number" expression="^88(\d+)$">
<action application="set" data="execute_on_answer=transfer ANSWEREDCALL XML default"/>
<action application="log" data="INFO Waiting 30 seconds for $1 to answer..."/>
<action application="sleep" data="30000"/>
<action application="log" data="INFO Call to $1 was not answered, taking alternative action..."/>
<action application="transfer" data="UNANSWEREDCALL XML default"/>
</condition>
</extension>
If you need to set multiple execute_on_answers, see: The execute on family
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | 9636 |
execute_on_fax_detect
This is an example of how to create a channel variable page. This section is the description of the variable. Put the description information here and then the usage example below.
Usage:
<action application="set" data="skeleton=foo"/>
execute_on_fax_failure
This is an example of how to create a channel variable page. This section is the description of the variable. Put the description information here and then the usage example below.
Usage:
<action application="set" data="skeleton=foo"/>
execute_on_fax_result
This is an example of how to create a channel variable page. This section is the description of the variable. Put the description information here and then the usage example below.
Usage:
<action application="set" data="skeleton=foo"/>
execute_on_fax_success
This is an example of how to create a channel variable page. This section is the description of the variable. Put the description information here and then the usage example below.
Usage:
<action application="set" data="skeleton=foo"/>
execute_on_media
Execute an application when the far end sends media, i.e. ringing or 183/SDP.
The command is executed only on channels that are not already answered. Just use export or export with nolocal: prefix to make sure it is executed when b-leg answers.
In the second usage example below, we have originated an outbound call to a local extension, where we will wait 30 seconds without ignoring media. In this case we use 'set' and not 'export'.
Usage:
<action application="export" data="nolocal:execute_on_media=lua incrInUse.lua ${uuid}"/>
execute_on_media_timeout
Execute an application if the far end stops sending media and times out.
Usage:
<action application="export" data="nolocal:execute_on_media_timeout=lua oops_timeout.lua ${uuid}"/>
<action application="set" data="execute_on_media_timeout=transfer HANDLE_MEDIA_TIMEOUT XML default"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
Sofia | mod_sofia.c | 7eafa85d |
execute_on_originate
Executes code on successful origination. Use the '<app> <arg>' format to execute in the origination thread or use '<app>::<arg>' to execute asynchronously.
Successful origination means the remote server responds, NOT when the call is actually answered.
Usage:
originate {ignore_early_media=true,execute_on_originate='cng_plc'}sofia/gateway/foo/123456789 9664
originate {ignore_early_media=true,execute_on_originate='my_app::my_arg'}sofia/gateway/foo/123456789 9664
execute_on_pre_answer
Execute an application (not an api) when the called party "preanswers" - that is, when some form of early media is coming or the far end sends a 180 Ringing.
The command is executed only on channels that are not already answered. Just use export or export with nolocal: prefix to make sure it is executed when b-leg answers.
In the second usage example below, we have originated an outbound call to a local extension, where we will wait 30 seconds without ignoring media. In this case we use 'set' and not 'export'.
Usage:
<action application="export" data="nolocal:execute_on_pre_answer=lua incrInUse.lua ${uuid}"/>
execute_on_ring
Execute a command when the called party rings.
Usage:
<action application="set" data="nolocal:execute_on_ring=lua markring ${uuid}"/>
execute_on_sip_extra_headers
Usage:
Avi Marcus - could this be used to send an incoming LRN header (e.g. alcazar) to a non-blocking curl or lua script (for caching)? Or would api_on_sip_extra_headers be good for that?
execute_on_sip_reinvite
Execute a command when SIP Reinvite.
Usage:
Add description here.
export_vars
export_vars lists variables to be exported to the other leg upon bridge. Unlike export, it only lists the variables to export without actually setting them. Note: This is useful to transfer information from a-leg (INVITE) to the future b-leg of REFER.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 5118 |
core | switch_core_session.c | 4796 |
EXTEN
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dialplan_asterisk | mod_dialplan_asterisk.c | 6205 |
fail_on_single_reject
This is useful when using the "," AND operator in the DATA field of a bridge. The AND operator notifies a list of destinations, bridging to the first destination that accepts the call. Typically if a destination in the list rejects the call, the bridge will continue to be attempted until either another destination accepts the call, or a timeout occurs.
This variable allows one to terminate the bridging attempt on a single rejection of the call. This means the bridge attempt would fail, and if continue_on_fail has not been set, the call is terminated. This variable would be set within a condition before a bridge application. When used in conjunction with the continue_on_fail variable, one can perform operations such as rolling over a rejected caller to an answering machine application.
The default setting is FALSE, meaning a single rejection will not terminate the bridging attempt.
It can also be set to a list of failure causes to stop on, and can be negated to a list of causes not to stop on (i.e. stop on all other failure causes).
Usage:
<action application="set" data="fail_on_single_reject=true"/> <action application="bridge" data="sofia/$${profile}/$${kitchen}%$${domain},sofia/$${profile}/$${dining}%$${domain}"/> <action application="javascript" data="answermachine.js"/>
or,
<action application="set" data="fail_on_single_reject=USER_BUSY"/>
or,
<action application="set" data="fail_on_single_reject=!NORMAL_CIRCUIT_CONGESTION"/>
or to use a list,
<action application="set" data="fail_on_single_reject=^^:CALL_REJECTED:NORMAL_CLEARING:USER_BUSY"/>
or for negated list,
<action application="set" data="fail_on_single_reject=!^^:ALLOTTED_TIMEOUT:NETWORK_OUT_OF_ORDER"/>
failed_xml_cdr_prefix
If you set that on the A leg and any and all failed B originates generate a full XML CDR report and set it as a variable, this includes during a forked dial.
So say you try to call sofia/profile/a@xxxxxxx,sofia/profile/b@xxxxxxx
And it fails completely, before you make the call you set failed_xml_cdr_prefix to "bad_call"
Then you end up with ${bad_call_1} and ${bad_call_2} which are each a full XML report including all the vars etc.
Usage:
<action application="set" data="failed_xml_cdr_prefix=failinggw" />
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 8730 |
failure_causes
Controls which failure causes will be considered as a failure to the bridge(s). This will change the values for which continue_on_fail will fail by default unless continue_on_fail is set to true.
Usage:
<action application="set" data="failure_causes=USER_BUSY,NO_ANSWER"/>
or Q.850 cause codes,
<action application="set" data="failure_causes=487"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 12058 |
fax_bad_rows
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_disable_v17
fax_disable_v17 prevents the use of the V.17 (9,600bps to 14,400bps) FAX modem. This means FAXes will be limited to the use of V.29 (9,600bps and 7,200bps) and V.27ter (4,800bps). Some VoIP systems handle V.17 so poorly there are often good reasons to want to disable the use of this modem.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_document_total_pages
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_ecm_requested
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_ecm_used
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_end_page
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_filename
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_force_caller
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_ident
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_image_resolution
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_image_size
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_local_station_id
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_prefix
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_remote_station_id
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_result_code
Result Code | Message |
---|---|
0 | OK |
2 | Timed out waiting for initial communication |
3 | Timed out waiting for the first message |
5 | The HDLC carrier did not stop in a timely manner |
6 | Failed to train with any of the compatible modems |
13 | Unexpected message received |
14 | Received bad response to DCS or training |
15 | Received a DCN from remote after sending a page |
17 | Received a DCN while waiting for a DIS |
20 | Received no response to DCS or TCF |
23 | Invalid ECM response received from transmitter |
31 | Timer T2 expired while waiting for fax page |
32 | Timer T2 expired while waiting for next fax page |
48 | Disconnected after permitted retries |
49 | The call dropped prematurely |
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_result_text
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_success
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_transfer_rate
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_use_ecm
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fax | mod_fax.c | 9468 |
fax_v17_disabled
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fax_verbose
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_spandsp | mod_spandsp_fax.c | 3026e639fe0b8cfec9a37f2ce99aee7779b9e736 |
fifo_announce
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8689 |
fifo_bridged
Description goes here
Usage:
Example needed
fifo_caller_consumer_import
Import list of variables from the caller to the consumer.
Usage:
<action application="set" data="fifo_caller_consumer_import=var1,var2"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 12722 |
fifo_caller_exit_key
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8026 |
fifo_chime_freq
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8026 |
fifo_chime_list
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8026 |
fifo_consumer_caller_import
Import list of variables from the consumer to the caller
Usage:
<action application="set" data="fifo_consumer_caller_import=var1,var2"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 12722 |
fifo_consumer_exit_key
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 9043 |
fifo_consumer_id
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8026 |
fifo_consumer_wrapup_key
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 7961 |
fifo_consumer_wrapup_sound
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 7961 |
fifo_consumer_wrapup_time
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 9860 |
fifo_hold_music
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8065 |
fifo_manual_bridged
Description goes here
fifo_member_wait
If it's set to 'wait', then the consumer's leg of the call will not hangup when the caller hangs up [default]. If it's set to 'nowait' then the consumer's leg of the call will hangup when the caller hangs up.
Usage:
<action application="set" data="result=${fifo_member(add MyQueName {fifo_member_wait=nowait}user/1001@VoiceNetwork.ca )"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 12782 |
fifo_orbit_announce
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8026 |
fifo_orbit_context
Sets the context for the fifo_orbit_exten when the que times out. This must be set before you place the caller in the que.
Usage:
<action application="set" data="fifo_orbit_context=MyContext"/>"
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 12782 |
fifo_orbit_exten
Set a destination extension and timeout, and it will cause FreeSWITCH to run the caller through the FIFO until the specified timeout, then the caller will get transferred to the destination extension. Can be set before launching the caller into the FIFO.
Usage: Use before a FIFO statement:
<action application="set" data="fifo_orbit_exten=MyFIFOVoicemail:60"/>
This will cause 60 seconds of time to pass with the caller in the FIFO before sending the call to the Voicemail extension specified.
<action application="fifo" data="MyFIFO in"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8026 |
fifo_outbound_uuid
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 10277 |
fifo_override_announce
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8014 |
fifo_pop_order
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8689 |
fifo_position
Description goes here
Usage:
Example needed
See also:
Implemented By:
mod_fifo.c
fifo_record_template
Description needed! Please contribute one.
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8039 |
fifo_role
For reporting purposes, i.e. in the CDRs, the variable will contain "consumer" or "caller" depending upon the call leg.
Usage:
None
See also: Mod_fifo
fifo_timestamp
Contains the timestamp of when the caller was bridged to the consumer.
Usage:
None
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8689 |
force_transfer_context
When handling transfer/REFER FreeSWITCH normally inherits the context from the original channel. This variable forces the context in which to handle the transfer/REFER
Usage:
<action application="bridge" data="{force_transfer_context=some_context}sofia/gateway/gw_name/12345"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr.c | 10466 |
force_transfer_dialplan
When handling transfer/REFER FreeSWITCH normally inherits the diaplan from the original channel. This variable forces the dialplan in which to handle the transfer/REFER
Usage:
Example needed! Please contribute one.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr.c | 10466 |
group_confirm_cancel_timeout
If set, cancels a leg timeout after the call is answered.
When using group confirm, a call passes through three phases:
- Call is ringing.
- Call is answered, waiting to be confirmed.
- Call is confirmed and bridged.
Normally, a timeout on the leg will apply to phases 1 and 2, but the example below would apply the leg timeout only during phase 1
Usage:
<action application="set" data="group_confirm_cancel_timeout=1"/>
group_confirm_file
This variable is used together with group_confirm_key. In group_confirm_file, you specify the wav file you want to play when the called party picks up the call. In the group_confirm_key variable, you define the DTMF that the called party should send to FS to bridge the call. If a wrong DTMF or no DTMF is sent, the called won't be bridged and the wav file will be repeated. Although this is the standard usage of these variables (group_confirm_key and group_confirm_file), they can be used in a more flexible manner. Please see Freeswitch_IVR_Originate#Answer_confirmation.
Usage:
<action application="set" data="group_confirm_file=/usr/local/freeswitch/sounds/take_call_question.wav" /> <action application="set" data="group_confirm_key=1" />
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 4796 |
group_confirm_key
When using group_confirm_file to play a file asking the user if they want to actually accept the call, use the group_confirm_key for which key to bind to to actually connect the call.
Usage:
<action application="set" data="group_confirm_key=1"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 4796 |
hangup_after_bridge
Controls what happens to a calling (A) party when in a bridge state and the called (B) party hangs up. If "true" the dialplan will stop processing and the A leg will be terminated when the B leg terminates. If "false" (default) the dialplan continues to be processed after the B leg terminates. This is checked after park_after_bridge and transfer_after_bridge.
Usage:
<action application="set" data="hangup_after_bridge=true"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 8412 |
mod_enum | mod_enum.c | 3495 |
mod_lcr | mod_lcr.c | 10510 |
core | switch_ivr.c | 5738 |
core | switch_ivr_bridge.c | 10504 |
hangup_after_conference
Controls what happens to a calling (A) party when in a conference and the conference ends (e.g. endconf flag set and moderator leaves). If "true" (default) the dialplan will stop processing and the A leg will be terminated. If "false" the dialplan continues to be processed after the end of conference.
Usage:
<action application="set" data="hangup_after_conference=false"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_conference | mod_conference.c | 7a7f386886a069 |
hangup_cause
This is set to the hangup cause of the A leg of the call (note that as such it doesn't make much sense before the end of the call). Often this will take the hangup cause from the B leg of the call, if there is one. For a list of hangup causes, see Hangup Causes.
Usage:
<action application="log" data="1 A-leg hangup cause: ${hangup_cause}"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_core_state_machine.c | 12784 |
hangup_cause_q850
This is set to the Q850 numeric code of the hangup cause of the A leg of the call (note that as such it doesn't make much sense before the end of the call). Often this will take the hangup cause from the B leg of the call, if there is one. For a list of hangup causes, see Hangup Causes.
Usage:
<action application="log" data="1 A-leg hangup Q850 cause: ${hangup_cause_q850}"/>
hold_events
It's a variable that display start and stop times for each hold.
Example:
This CDR shows that the phone was put on hold twice with hold start and stop time.
variable_hold_events: [{{1347487292379229,1347487293856872},{1347487288539686,1347487290757780}}]
hold_hangup_xfer_exten
Controls what happens to a calling (A) party when in a bridge state and the bridge ends while the called (B) party is on hold. If not set on leg B (ie. the default), then A leg is hung up. If it is set on leg B, then leg A is transferred to the given extension, as per transfer_after_bridge.
Usage:
<action application="set" data="hold_hangup_xfer_exten=1000:XML:default"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 10 Dec 09 |
hold_music
Per-channel hold music. Supports all audio formats and audio streams. The hold_music variable can also be set globally at vars.xml.
Usage:
<action application="set" data="hold_music=/sounds/holdmusic.wav" />
You can also set your hold_music to the special value "indicate_hold" instead of a music source and it will pass the hold req through but not the SDP.
or,
<action application="set" data="hold_music=silence" />
For multi-tenant environment, if you want to have a separate MOH for the phone with hold button (like Polycom) that utilizes RE-INVITE with no media ip addr (0.0.0.0) for hold, you can override the hold-music values in the sip profile parameter similar to the following example:
<action application="bridge_export" data="hold_music=$${sounds_dir}/music/company-a.mp3"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fifo | mod_fifo.c | 8065 |
mod_sofia | sofia_glue.c | 5449 |
core | switch_ivr.c | 8232 |
core | switch_ivr_play_say.c | 8065 |
ignore_display_updates
Tells freeswitch not to send display UPDATEs to the leg of the call. (update_display)
Usage: From dialplan/default.xml:
To set on A-Leg
<action application="set" data="ignore_display_updates=true"/>
To set on B-Leg
<action application="bridge" data="{ignore_display_updates=true}sofia/gateway/provider/18005551212"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | mod_sofia.c | ?? |
mod_sofia | sofia.c | ?? |
ignore_early_media
Default value is false. Controls if the call returns on early media or not. You may specify a value for ignore_early_media in the argument to the bridge application, using the { } syntax. (ignore_early_media may not be specified on a per-leg basis, using the [ ] syntax, as it specifically is a global variable to the originate session.)
Usage:
<action application="set" data="ignore_early_media=true"/>
or,
<action application="bridge" data="{ignore_early_media=true}sofia/test-int/1001@somebox,sofia/test-int/1000@somehost"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 4796 |
import
The import variable, when used before a bridge, imports the variables of the other channel on the actual channel.
Usage:
<action application="set" data="import=this_is_a_variable_name"/> |
---|
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_lcr | mod_lcr.c | 11976 |
inherit_codec
If late negotiation is on, and you set inherit_codec=true on the A leg, the negotiated codec of the B leg will be forced onto the A leg.
Usage:
<action application="set" data="inherit_codec=true"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11256 |
intercept_unanswered_only
If set to true, the leg will only be intercepted if the channel is not answered.
Default: false
Usage:
<action application="set" data="intercept_unanswered_only=true"/> <action application="intercept" data="myUUID"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | git-36ba0f24 |
intercept_unbridged_only
If set to true, the leg will only be intercepted if the channel is not bridged to anyone.
Default: false
Usage:
<action application="set" data="intercept_unbridged_only=true"/> <action application="intercept" data="myUUID"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | git-58fe45a |
ivr_menu_status
ivr_menu_status, is a channel variable with options of success, failure or timeout
variable_ivr_menu_status: [success] variable_ivr_menu_status: [failure] variable_ivr_menu_status: [timeout]
ivr_menu_terminator
You can set to none or the dtmf chars you want to terminate input.
Usage:
<action application="set" data="ivr_menu_terminator=#"/>
jitterbuffer_msec
Activates the jitter buffer. The jitter buffer has three params: length, max length, and max drift.
Usage:
<action application="set" data="jitterbuffer_msec=60:200:20"/> <action application="answer"/>
Or to set it on the subsequent outbound call: export sets a variable on both the current channel and on any channels it creates, the 'nolocal:' disables setting it on the current channel and only sets it on the subsequent outbound channels.
<action application="export" data="nolocal:jitterbuffer_msec=60"/> <action application="bridge" data="sofia/default/888@conference.freeswitch.org"/>
You can also activate the Jitter Buffer in the bridge as follows:
<action application="bridge" data="{jitterbuffer_msec=60}sofia/gateway/$1@gateway.com"/>
This will add a jitter buffer to packets flowing from a remote gateway towards a local freeswitch user. The network would look like this:
(local sip user) -----> FreeSWITCH -----> (remote gateway)
Where the link between the freeswitch and the remote gateway has a bad, jitter causing connection, and say the local sip user has no jitter buffering on their IP-phone. This will help the voice quality for the incoming audio.
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_fax | mod_fax.c | 9468 |
mod_sofia | sofia_glue.c | 5114 |
last_bridge_hangup_cause
This is set to the hangup cause of the last bridged B leg of the call. For a list of hangup causes, see Hangup Causes.
Usage:
<action application="log" data="B-leg hangup cause: ${last_bridge_hangup_cause}"/>
last_bridge_proto_specific_hangup_cause
This shows the last bride hangup cause by SIP response code, e.g. "sip:404"
last_matching_digits
Contains the last set of digits that the user dialed when using the "dmachine" digit-handling. This is most commonly used with the bind_digit_action dialplan application.
Usage:
<action application="log" data="INFO User just dialed ${last_matching_digits}"/>
See also:
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_dptools | mod_dptools.c |
last_transferred_conference
Contains the name of the last conference that this channel was connected to.
Usage:
<action application="log" data="INFO Last conference this person visited was [${last_transferred_conference}]"/>
See also:
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_conference | mod_conference.c |
leg_delay_start
You can specify a wait time for before each leg is called in a forked dial scenario. Useful for follow me dialplans. Leg delay start will ring an extension early if all other less delayed (or no delayed) legs have declined, failed, or are not available (as of FS 1.0.5). Leg_delay_start is best thought of as the minimum time to ring the other extensions prior to this one if they are able to ring.
Note that this doesn't work with Enterprise Originate. For Enterprise originate see variable originate_delay_start
Usage:
<action application="bridge" data="sofia/profile/dest1,[leg_delay_start=10]sofia/profile/dest2,[leg_delay_start=15]sofia/profile/dest3"/>
A more complex example with breakdown and timeline (seconds in brackets):
<action application="bridge","users/1000,[leg_delay_start=8]user/2302,[leg_delay_start=20]sofia/gateway/flowroute/1231231234"/>
Assuming all users just let it ring:
[00] - user 1000 rings [08] - user 2302 rings [20] - user 1231231234 rings
Assuming user 1000 decline after 2 seconds, other users ring:
[00] - user 1000 rings [02] - user 2302 rings [14] - user 1231231234 rings
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 12403 |
leg_progress_timeout
Description needed! Please contribute one.
Usage:
Make all bridged calls fail over to the next in 6 seconds. <action application="export" data="leg_progress_timeout=6"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11286 |
leg_timeout
Timeout for each leg in an originate dialstring. Can be used in per-leg [], but not in global {} for the dialstring. For global, use originate_timeout.
You can also use leg_progress_timeout to specify the maximum time we will wait before we get media (whether its early media, ringing or answer), allowing you to avoid going to voicemail for a particular line.
If you are using group confirm then you can cancel the timeout by using the group_confirm_cancel_timeout channel variable. If leg_delay_start is also used, leg_timeout will not start the timeout counter until after the extension starts to be bridged to.
Usage:
<action application="bridge" data="[leg_timeout=15]user/hastoanswerquickly/some.domain.com,[leg_timeout=60]user/hasaminutetoanswer@some.domain.com"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11286 |
loopback_bowout_on_execute
Set to true to have one-legged loopback channels "bow out" of the call.
Usage:
<action application="set" data="loopback_bowout_on_execute=true"/>
See also: Freeswitch mailing list
bowout_on_execute is only useful to 1 leg calls you never have to set it. loopback_bowout is true by default it tries to cut loopback out by doing uuid_bridge
Comment: When setting "loopback_bowout=false", a bridged loopback call result in 4 legs (a-leg, loopback-a, loopback-b, b-leg).
When setting "loopback_bowout=true", a bridged loopback call results in 2 legs (a-leg, b-leg).
During call setup with "loopback_bowout=true", there will always be 4 legs however at the beginning. loopback-a and loopback-b will be destroyed when a-leg and b-leg are successfully bridged
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_loopback | mod_loopback.c |
loopback_export
A list of channel variables to pass from loopback-a to loopback-b.
Usage:
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_loopback | mod_loopback.c |
media_bug_answer_req
Start recording only when the channel has been answered.
NOTE: RECORD_ANSWER_REQ should be used on releases prior to 1.0.5, or builds prior to the revision 15235
Usage:
<action application="set" data="media_bug_answer_req=true"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_async.c | 15235 |
core | switch_core_media_bug.c | 15235 |
min_dup_digit_spacing_ms
Duplicate inband DTMF that starts sooner than this time will be ignored. That is, this is the minimum gap from the end of the first digit and the start of the repeated digit required for two digits to be detected. This value is 0 by default. Set this variable prior to executing spandsp_start_dtmf.
Usage:
<action application="set" data="min_dup_digit_spacing_ms=40"/> <action application="spandsp_start_dtmf" />
See also:
- Channel Variables
- Mod_spandsp
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
mod_spandsp | mod_spandsp_dsp.c |
monitor_early_media_fail
Monitors early media for failure conditions, such as a busy signal. This allows faster processing of failed calls when ignoring early media.
The syntax is a series of ! delimited early media conditions in the following format:
condition_name:number_of_hits:tone_detect_frequencies
condition_name | user defined name for the error condition |
---|---|
number_of_hits | the number of times the tone must be heard before considering it a fail |
tone_detect_frequencies | the frequencies to listen for (delimited by + instead of ,). See tone_detect |
NOTE: this variable only works when ignore_early_media is set to true.
Usage:
<action application="bridge" data="{ignore_early_media=true,monitor_early_media_fail=user_busy:2:480+620!destination_out_of_order:2:1776.7}sofia/dial/string"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11295 |
monitor_early_media_ring
Monitors early media for a user-specific ring tone. Each time the tone is heard, the switch will increment an internal counter for that leg. Once the counter reaches monitor_early_media_ring_total (or this variable has not been set) then the early media will be sent.
The syntax is a series of ! delimited early media conditions in the following format:
condition_name:number_of_hits:tone_detect_frequencies
condition_name | Optional? user-defined name for the error condition |
---|---|
number_of_hits | the number frequencies for the tone detector to find before considering it a hit. 1:400.0+480.0 means the ring count is incremented if 400hz OR 480hz is detected. 2:400.0+480.0 means the ring count is incremented if 400 hz AND 480 hz are detected. |
tone_detect_frequencies | the frequencies to listen for (delimited by + instead of ,). Examples are 400.0+480.0 [for a US Ring] See tone_detect |
NOTE: this variable only works when ignore_early_media is not present.
Usage:
<action application="bridge" data="{monitor_early_media_ring_total=3,monitor_early_media_ring=usring:1:440.0+480.0!ukring:2:400+450}sofia/gateway/yourgateway/1239@conference.freeswitch.org"/>
This will bridge to a special conference that rings (US_RING) 10 times, and then plays the Star Wars Imperial March. You may optionally call 1239a@conference.freeswitch.org to test a UK_RING. A successful log looks like:
2010-10-22 10:26:53.975865 [DEBUG] switch_ivr_originate.c:614 sofia/internal/1239@conference.freeswitch.org setting ring total to 3 2010-10-22 10:26:55.007970 [DEBUG] switch_rtp.c:2544 Correct ip/port confirmed. 2010-10-22 10:26:56.427869 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 1/2 2010-10-22 10:27:01.707869 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 1/2 2010-10-22 10:27:02.667868 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 2/2 2010-10-22 10:27:02.667868 [DEBUG] switch_ivr_async.c:2430 TONE monitor_early_media_ring_2 DETECTED 2010-10-22 10:27:02.667868 [DEBUG] switch_ivr_originate.c:352 Ring 1/3 2010-10-22 10:27:02.667868 [DEBUG] switch_ivr_async.c:2436 Re-enabling monitor_early_media_ring_2 2010-10-22 10:27:07.767869 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 1/2 2010-10-22 10:27:13.487868 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 1/2 2010-10-22 10:27:14.027868 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 2/2 2010-10-22 10:27:14.027868 [DEBUG] switch_ivr_async.c:2430 TONE monitor_early_media_ring_2 DETECTED 2010-10-22 10:27:14.027868 [DEBUG] switch_ivr_originate.c:352 Ring 2/3 2010-10-22 10:27:14.027868 [DEBUG] switch_ivr_async.c:2436 Re-enabling monitor_early_media_ring_2 2010-10-22 10:27:20.147869 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 1/2 2010-10-22 10:27:20.907868 [DEBUG] switch_ivr_async.c:2424 TONE monitor_early_media_ring_2 HIT 2/2 2010-10-22 10:27:20.907868 [DEBUG] switch_ivr_async.c:2430 TONE monitor_early_media_ring_2 DETECTED 2010-10-22 10:27:20.907868 [DEBUG] switch_core_media_bug.c:441 Removing BUG from sofia/internal/1239@conference.freeswitch.org 2010-10-22 10:27:20.911864 [INFO] switch_ivr_originate.c:3290 Sending early media
The last line is most important. The call continues, but early media is delayed from sending until monitor_early_media_ring_total is matched. If monitor_early_media_ring_total is not met, then the call will timeout.
anthm had the following to say in IRC
<anthm> The point of the feature is because of problems with providers who send a 183 then play a busy tone and do not indicate fail over sip <anthm> so it looks like a good call. <anthm> so the monitor is to confirm that it is a ring tone as expected.
<anthm> monitor_early_media_ring stops the default behavior to have originate return when it hears a ring <anthm> well when it gets 183 <anthm> cos you don't know if its a ring <anthm> so it listens for one <anthm> when it really hears one, it lets the channel accept the 183
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11295 |
monitor_early_media_ring_total
Specifies the number of user defined ring tones that can be heard before failing. To be used with monitor_early_media_ring
Usage:
<action application="bridge" data="{ignore_early_media=true,monitor_early_media_ring_total=3,monitor_early_media_ring=us_ring:1:440.0+480.0}sofia/dial/string"/>
See also:
- monitor_early_media_ring
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11738 |
monitor_fail_dispo
This variable can be used to provide a custom originate_disposition as the result of an early media failure using monitor_early_media_fail or monitor_early_media_ring. If this variable is not set, a default value of 'monitor_early_media_fail' or 'monitor_early_media_ring' will be placed inoriginate_disposition
Usage:
<action application="bridge" data="{ignore_early_media=true,monitor_fail_dispo=strange_bleep_attack,monitor_early_media_fail=user_busy:2:1234}sofia/dial/string"/>
See also:
- Early Media
- monitor_early_media_fail
- monitor_early_media_ring
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11437 |
no_throttle_limits
You set this variable to true on your outbound calls to have them not count in sps
Usage:
{no_throttle_limits=true}
originate_delay_start
You can specify a wait time in milliseconds before origination. This variable can be used in Enterprise originate where the variable leg_delay_start cannot be used.
Usage:
<action application="bridge" data="sofia/profile/dest1::{originate_delay_start=10000}sofia/profile/dest2::{originate_delay_start=15000}sofia/profile/dest3"/>
A more complex example with breakdown and timeline (seconds in brackets):
<action application="bridge","users/1000::{originate_delay_start=8000}user/2302::{originate_delay_start=14000}sofia/gateway/flowroute/1231231234"/>
Assuming all users just let it ring:
[00] - user 1000 rings [10] - user 2302 rings [15] - user 1231231234 rings
Assuming user 1000 decline after 2 seconds, other users ring:
[00] - user 1000 rings [08] - user 2302 rings [14] - user 1231231234 rings
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 032761c |
originate_disposition
Read Only. This is the originate disposition aka hangup cause returned. (LEG B)
It is also redefined after every bridge attempts if the bridge is not successful.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 11437 |
originate_timeout
Determines how long a bridge or originate action action will stay in the "originate" state. In effect, it is a way to control the timeout for a bridge/originate consisting of multiple endpoints. Default value is 60.
Usage:
<action application="bridge" data="{originate_timeout=10}[leg_timeout=5]sofia/default/foo1@bar1|[leg_timeout=5]sofia/default/foo2@bar2"/>
WARNING: Beware that if you are not using {ignore_early_media=true} call_timeout is no longer applicable as soon as early media signal is received.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c |
originating_leg_uuid
Shows the uuid of the originating leg on an outbound channel
Usage:
In A-leg CDR:
<uuid>cb5f5b90-75a0-11e0-873b-d1cba9e0f1b8</uuid> <call_uuid>cb5f5b90-75a0-11e0-873b-d1cba9e0f1b8</call_uuid>
In B-leg CDR:
<uuid>cb8633aa-75a0-11e0-873d-d1cba9e0f1b8</uuid> <call_uuid>cb5f5b90-75a0-11e0-873b-d1cba9e0f1b8</call_uuid> <originating_leg_uuid>cb5f5b90-75a0-11e0-873b-d1cba9e0f1b8</originating_leg_uuid>
Note that the leg uuid's are different. The call_uuid matches the two legs together, but the originating_leg_uuid can do so as well.
See also:
Implemented By:
Module Name | Source File | Last Updated |
---|---|---|
Core | switch_ivr_originate.c |
origination_callee_id_name
Set on the inbound leg to control what caller ID name appears in the caller phone's display. Also see ignore_display_updates which affect the processing of these variables.
Usage:
<action application="bridge" data="{origination_callee_id_name=Reginald}sofia/gateway/provider/<Reginald's cellphone number>" />
If you find using set doesn't work, try using export instead.
origination_callee_id_number
Set on the inbound leg to control what caller ID number appears in the caller phone's display. Also see ignore_display_updates which affect the processing of these variables.
Usage:
<action application="bridge" data="{origination_callee_id_name=Reginald,origination_callee_id_number=2332}sofia/gateway/provider/<Reginald's cellphone number>" />
origination_caller_id_name
Sets the origination callerid name (LEG A).
If you want to set the Caller ID on an origination call you should add this inside the {} brackets before the dialstring. Set it to "_undef_" if you want to remove it. Setting it to a null string \"\" may break your system.
For Snom 370/820 users:
If you want to display LEG A's name (if available) as soon as LEG B (here the local Snom) rings, you have to set origination_caller_id_name or effective_caller_id_name as described. Otherwise, in LEG B's display, you gonna see LEG A's number during ringing and switching to LEG A's name after picking up the call by LEG B.
Usage:
originate {origination_caller_id_name='Caller Name',origination_caller_id_number=5551231234}sofia/gateway/test/1231231234 &park()
See also:
- effective_caller_id_name
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 10917 |
core | switch_ivr_originate.c | 12604 |
origination_caller_id_number
Sets the origination callerid number. (LEG A)
If you want to set the Caller ID on an origination call you should add this inside the {} brackets before the dialstring.
Usage:
originate {origination_caller_id_name='Caller Name',origination_caller_id_number=5551231234}sofia/gateway/test/1231231234 &park()
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_dptools | mod_dptools.c | 10917 |
core | switch_ivr_originate.c | 12604 |
origination_channel_name
Set this in the {} when doing an originate to create a custom channel name
Usage:
originate {origination_channel_name='this_is_my_channel_name'}loopback/9664 9195
See also:
- Mod_commands#originate
Implemented By:
Module | Source File | Last Updated |
---|---|---|
core | switch_ivr_originate.c |
origination_privacy
Sets privacy profile for caller. Options are any combination of "screen", "hide_name", "hide_number". Screen is on by default.
Note: screen is the keyword that makes the caller ID as P-Asserted-Identity vs P-Preferred-Identity.
Usage:
<action application="set" data="origination_privacy=hide_name"/>
To do 3 at once:
Usage:
<action application="set" data="origination_privacy=hide_name+hide_number+screen"/> <action application="set" data="origination_privacy=hide_name:hide_number:screen"/>
Note: There is no real separator; therefore, you can use separator to make it readable or nothing.
See also: Channel_Variables#sip_cid_type
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_originate.c | 12604 |
originator_codec
Sets the codec for calls originated from LEG A (setting the codec for LEG B). This will automatically be appended to the codec_string unless an absolute_codec_string has been set.
Usage:
<action application="set" data="originator_codec=PCMU"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_opal | mod_opal.cpp | 10567 |
mod_sofia | sofia_glue.c | 5114 |
core | switch_core_session.c | 4796 |
outbound_redirect_fatal
When doing a simultaneous call to multiple endpoints, a 302 redirect can cause all the endpoints to stop ringing and the call will follow the redirect. When this channel variable is set it causes an endpoint that sends back a 302 redirect to be removed from the call list and the other endpoints continue to ring.
Usage:
<action application="set" data="outbound_redirect_fatal=true"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
Sofia | sofia.c |
park_after_bridge
If set to true, it will park the call after mod_dptools: bridge returns. This is checked before transfer_after_bridge and hangup_after_bridge.
Default: false
Usage:
<action application="set" data="park_after_bridge=true"/> <action application="bridge" data="sofia/gateway/myprovider/5551231234"/>
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_ivr_bridge.c | 12691 |
park_timeout
When set, a parked call will disconnect after the timeout has occurred. Timeout is specified in seconds. If no park_timeout value is set then the parked call will be held indefinitely or until it is removed with a uuid_transfer.
Usage:
<action application="set" data="park_timeout=30"/> <action application="park"/>
You can also specify which hangup_cause you need when the channel is disconnected by park_timeout.
Usage: <action application="set" data="park_timeout=30:MEDIA_TIMEOUT"/>
See also:
- park
- uuid_transfer
- Hangup_causes
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia.c | 10391 |
core | switch_ivr.c | 10391 |
pass_rfc2833
If set, it passes RFC 2833 DTMF's from one side of a bridge to the other, untouched. If unset, it decodes and re-encodes them before passing them on.
Note: this has no effect when bypass_media or proxy_media is set.
Usage:
<action application="set" data="pass_rfc2833=true"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | sofia_glue.c | 5114 |
passthru_ptime_mismatch
If ptime from leg A and leg B don't match and if mod_com_g729 is used, the call would normally use the codec to re-packetize the RTP stream.
With this parameter, mod_com_g729 will re-packetize without decoding/encoding, as mod_g729 would do.
Usage:
This has to be set in {} before bridging. That will probably not work if set using export before bridging.
<action application="bridge" data="{passthru_ptime_mismatch=true}sofia/gateway/trunk/$1"/>
Note: It may also be set globally in vars.xml.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_channel.c | e7cafae29d0720f06280255a55cc94548e7e12a4 |
core | switch_core_io.c | e7cafae29d0720f06280255a55cc94548e7e12a4 |
process_cdr
Indicates how to process CDR records.
Can be undefined or set to "false", "true", "a_only", "b_only"
- false - indicates to not process the record.
- true - or undefined indicates the default behavior which is to process all CDR records.
- a_only - indicates to only process CDR records on the inbound leg of a call.
- b_only - indicates to only process CDR records on the outbound leg of a call.
This variable is unconditionally exported
Usage:
<action application="set" data="process_cdr=a_only"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_core_session.c | 7214 |
core | switch_core_state_machine.c | 7212 |
profile_created_time
Contains the start time (in microseconds) of when the call profile was created.
Usage:
In the event that a call is transferred, this is the effective 'created_time' for that transfer.
For example, if you did the following call flow:
2000 > 2001 (created_time=1357138714 / profile_created_time=1357138714) transfer to 2002 (created_time=1357138714 / profile_created_time=1357138752) transfer to 2003 (created_time=1357138714 / profile_created_time=1357138766) transfer to 2004 (created_time=1357138714 / profile_created_time=1357138784)
You would still use 'progress_time' to retrieve the progress start time, no matter if it's a transfer leg or not.
See also:
- created_time
- progress_time
Implemented By:
Logic taken from here:
src/switch_channel.c:switch_channel_set_caller_profile() caller_profile->times->profile_created = switch_micro_time_now();
progress_time
TODO
Usage:
TODO
See also:
TODO
Implemented By:
TODO
proto_specific_hangup_cause
This variable will cause FreeSWITCH to force the SIP response code to a specific setting when hanging up a call. The example below is one where all possible extensions have been tested and failed and you want FreeSWITCH to generate and respond with a specific code. (This is not a passthrough example).
By the way, you'll be unable to rewrite the hangup cause for a bridge that gets a 180 or 183 packet from the gateway before getting a 4xx, 5xx or 6xx packet (because those bridges don't 'fail'). This happens with SIP providers that give a 183 Session Progress before a 404 Not Found if the PSTN number dialled doesn't exist.
Usage:
<extension name="nothing_left" continue="true"> <condition break="always"> <action application="set" data="proto_specific_hangup_cause=sip:503"/> <action application="hangup"/> </condition> </extension>
Example: SIP Response Map
<extension name="from_gw_to_internal"> <condition field="destination_number" expression="^(.*)$"> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="continue_on_fail=19"/> <action application="bridge" data="{sip_cid_type=none}sofia/gateway/gw/$1"/> <action application="transfer" data="480to503"/> </condition> </extension>
<extension name="480to503"> <condition field="${proto_specific_hangup_cause}" expression="<a href="sip:480">sip:480"> <action application="set" data="sip_ignore_remote_cause=true"/> <action application="respond" data="503"/> <action application="hangup" data="NORMAL_CIRCUIT_CONGESTION"/> </condition> </extension>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_sofia | mod_sofia.c | 10090 |
mod_sofia | sofia.c | 12676 |
read_codec
Read only. The negotiated codec of the inbound call leg.
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
core | switch_core_codec.c | 10045 |
RECORD_APPEND
Recording is appended to file. set RECORD_APPEND=true on the channel and all recordings will behave this way to formats which support it (curently mod_sndfile for WAV, etc.)
Usage:
<action application="set" data="RECORD_APPEND=true"/>
RECORD_ARTIST
Set prior to performing a record to store in the file header meta data (provided the file format supports meta headers).
Usage:
<action application="set" data="RECORD_ARTIST=Unknown"/>
See also:
Implemented By:
Module Name | Source File | Last Revised |
---|---|---|
mod_voicemail | mod_voicemail.c | 6984 |
core | switch_ivr_async.c | 4796 |
core | switch_ivr_play_say.c | 4796 |
RECORD_BRIDGE_REQ
Record session only when the channel is bridged.
Usage:
<action application="set" data="RECORD_BRIDGE_REQ=true"/>
See also:
[http://jira.freeswitch.org/browse/FS-5127](http://jira.freeswitch.org/browse/FS-5127)