Skip to main content

__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 NameSource FileLast Revised
mod_opalmod_opal.cpp10567
mod_sofiasofia_glue.c12700
coreswitch_ivr_originate.c12817

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 NameSource FileLast Revised
mod_sofiasofia.c9056

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 NameSource FileLast Revised
mod_sofiasofia.c6350
mod_sofiasofia_glue.c4819

answer_epoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

answer_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c7750

answer_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8686

answermsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3546

answersec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3546

answerusec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Module NameSource FileLast Revised
coreswitch_channel.c3546

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c7885

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 NameSource FileLast Revised
coreswitch_core_state_machine.c7885

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 NameSource FileLast Revised
coreswitch_channel.c15207

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 NameSource FileLast Updated
Coreswitch_channel.c850f2e3

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 NameSource FileLast Reviseddate
coreswitch_channel.ce164b76caf0a47b6b33891eea80b1928067c9dd12011-12-15

asr_intercept_dtmf

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c8912

auto_answer_destination

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c10525

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 NameSource FileLast Revised
mod_dialplan_xmlmod_dialplan_xml.c12144

billmsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

billsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

billusec

Description needed! Please contribute one.

Usage:bypass_media

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c6537

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 NameSource FileLast Revised
coreswitch_channel.c3492

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c9543

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c8108

bridge_pre_execute_aleg_data

Arguments to be used with bridge_pre_execute_aleg_app.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c8108

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c8108

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c8108

bridge_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3443

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c12479

bridge_to

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_commandsmod_commands.c7421
coreswitch_ivr.c5738
coreswitch_ivr_async.c4798
coreswitch_ivr_bridge.c12671

bridge_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3494

bridge_uuid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c9603

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c12479
mod_esfmod_esf.c5115

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c12479
mod_sofiasofia.c9591
coreswitch_ivr_bridge.c9591

cache_speech_handles

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c5876

call_clientcode

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6987

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 NameSource FileLast Revised
mod_dialplan_asteriskmod_dialplan_asterisk.c6208
mod_dptoolsmod_dptools.c10917
coreswitch_ivr_originate.c9120
coreswitch_swig.c4795

caller_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c15201

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 NameSource FileLast Revised
mod_cdr_csvmod_cdr_csv.c6542

CHANNEL

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dialplan_asteriskmod_dialplan_asterisk.c6205

channel_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6542

codec_string

Sets the base codec string to use.

Usage:

<action application="set" data="codec_string=PCMU,GSM"/>

Implemented By:

Module NameSource FileLast Revised
mod_opalmod_opal.cpp10567
mod_sofiasofia_glue.c5114

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 NameSource FileLast Revised
mod_conferencemod_conference.c11104

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 NameSource FileLast Revised
mod_conferencemod_conference.c11104

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 NameSource FileLast Revised
mod_conferencemod_conference.c11104

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 NameSource FileLast Revised
mod_conferencemod_conference.c11104

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 NameSource FileLast Revised
mod_conferencemod_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 NameSource FileLast Revised
mod_conferencemod_conference.c11104

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 NameSource FileLast Revised
mod_conferencemod_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 NameSource FileLast Revised
mod_conferencemod_conference.c11104

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 NameSource FileLast Updated
mod_conferencemod_conference.cac19f73c

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 NameSource FileLast Revised
mod_conferencemod_conference.c12863

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 NameSource FileLast Updated
Mod_conferencemod_conference.c

conference_exit_sound

Usage:

<action application="set" data="conference_exit_sound=silence_stream://10"/> 

Implemented By:

Module NameSource FileLast Updated
Mod_conferencemod_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 NameSource FileLast Updated
mod_conferencemod_conference.cf6bcf830

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 NameSource FileLast Updated
mod_conferencemod_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 NameSource FileLast Updated
mod_conferencemod_conference.c2011-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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c5875
mod_lcrmod_lcr.c10510

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c8955

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 NameSource FileLast Revised
mod_fifomod_fifo.c10277
mod_sofiasofia.c11562
coreswitch_core_session.c10653

current_application_data

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c10277
mod_sofiasofia.c11562

current_application_response

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c10653
coreswitch_core_session.c10653

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 NameSource FileLast Revised
coreswitch_ivr_play_say.c4796

destination_number

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6054
coreswitch_ivr_bridge.c7083

detect_speech_result

The result of play_and_detect_speech.

Usage:

This value is read-only.

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c

dialed_domain

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_commandsmod_commands.c10917
mod_dptoolsmod_dptools.c7225

dialed_group

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_commandsmod_commands.c10917

dialed_user

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_commandsmod_commands.c10917
mod_dptoolsmod_dptools.c7225

digits_dialed

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c12244

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 NameSource FileLast Revised
coreswitch_core_session.c8517

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 NameSource FileLast Revised
mod_radius_cdrmod_radius_cdr.c10793

disable_radius_stop

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_radius_cdrmod_radius_cdr.c10793

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 NameSource FileLast Revised
mod_dingalingmod_dingaling.c12641
mod_sofiasofia_glue.c8908

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 NameSource FileLast Updated
Coreswitch_ivr_async.c

dl_cid_msg

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dingalingmod_dingaling.c4270

dl_from_host

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dingalingmod_dingaling.c4943

dl_from_user

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dingalingmod_dingaling.c4943

dl_host

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dingalingmod_dingaling.c4943

dl_user

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dingalingmod_dingaling.c4943

domain_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr.c9056

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 NameSource FileLast Revised
mod_sofiasofia_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 NameSource FileLast Revised
mod_sofiasofia_glue.c6952

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 NameSource FileLast Updated
mod_spandspmod_spandsp_dsp.c

duration

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

easy_acctcode

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_easyroutemod_easyroute.c10929

easy_destnum

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_easyroutemod_easyroute.c10929

easy_dialstring

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_easyroutemod_easyroute.c10929

easy_group

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_easyroutemod_easyroute.c10929

easy_limit

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_easyroutemod_easyroute.c10929

eavesdrop_annnounce_macro

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c8098

eavesdrop_announce_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c8098

eavesdrop_group

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c8686

eavesdrop_indicate_failed

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c8098

eavesdrop_indicate_idle

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c8091

eavesdrop_indicate_new

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c8091

eavesdrop_require_group

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c8098

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 NameSource FileLast Revised
mod_voicemailmod_voicemail.c8854
coreswitch_core_session.c9248

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 NameSource FileLast Revised
mod_voicemailmod_voicemail.c8854
coreswitch_core_session.c9248

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 NameSource FileLast Revised
coreswitch_ivr_play_say.c11677

enable_heartbeat_events

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c9882

end_epoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

end_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

end_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

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 NameSource FileLast Updated
Sofiamod_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 NameSource FileLast Updated
Sofiamod_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 NameSource FileLast Revised
coreswitch_ivr_bridge.c5546

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c5546

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 NameSource FileLast Revised
coreswitch_channel.c9636

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 NameSource FileLast Revised
Sofiamod_sofia.c7eafa85d

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c5118
coreswitch_core_session.c4796

EXTEN

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dialplan_asteriskmod_dialplan_asterisk.c6205

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 NameSource FileLast Revised
coreswitch_ivr_originate.c8730

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c12058

fax_bad_rows

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

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 NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_document_total_pages

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_ecm_requested

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_ecm_used

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_end_page

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_filename

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_force_caller

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_ident

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_image_resolution

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_image_size

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_local_station_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_prefix

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_remote_station_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_result_code

Result CodeMessage
0OK
2Timed out waiting for initial communication
3Timed out waiting for the first message
5The HDLC carrier did not stop in a timely manner
6Failed to train with any of the compatible modems
13Unexpected message received
14Received bad response to DCS or training
15Received a DCN from remote after sending a page
17Received a DCN while waiting for a DIS
20Received no response to DCS or TCF
23Invalid ECM response received from transmitter
31Timer T2 expired while waiting for fax page
32Timer T2 expired while waiting for next fax page
48Disconnected after permitted retries
49The call dropped prematurely

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_result_text

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_success

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_transfer_rate

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_use_ecm

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_faxmod_fax.c9468

fax_v17_disabled

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fax_verbose

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_fax.c3026e639fe0b8cfec9a37f2ce99aee7779b9e736

fifo_announce

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8689

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 NameSource FileLast Revised
mod_fifomod_fifo.c12722

fifo_caller_exit_key

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8026

fifo_chime_freq

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8026

fifo_chime_list

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8026

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 NameSource FileLast Revised
mod_fifomod_fifo.c12722

fifo_consumer_exit_key

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c9043

fifo_consumer_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8026

fifo_consumer_wrapup_key

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c7961

fifo_consumer_wrapup_sound

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c7961

fifo_consumer_wrapup_time

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c9860

fifo_hold_music

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8065

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 NameSource FileLast Revised
mod_fifomod_fifo.c12782

fifo_orbit_announce

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8026

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 NameSource FileLast Revised
mod_fifomod_fifo.c12782

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 NameSource FileLast Revised
mod_fifomod_fifo.c8026

fifo_outbound_uuid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c10277

fifo_override_announce

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8014

fifo_pop_order

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8689

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 NameSource FileLast Revised
mod_fifomod_fifo.c8039

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 NameSource FileLast Revised
mod_fifomod_fifo.c8689

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 NameSource FileLast Revised
coreswitch_ivr.c10466

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 NameSource FileLast Revised
coreswitch_ivr.c10466

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:

  1. Call is ringing.
  2. Call is answered, waiting to be confirmed.
  3. 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 NameSource FileLast Revised
coreswitch_ivr_originate.c4796

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 NameSource FileLast Revised
coreswitch_ivr_originate.c4796

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c8412
mod_enummod_enum.c3495
mod_lcrmod_lcr.c10510
coreswitch_ivr.c5738
coreswitch_ivr_bridge.c10504

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 NameSource FileLast Revised
mod_conferencemod_conference.c7a7f386886a069

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 NameSource FileLast Revised
coreswitch_core_state_machine.c12784

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 NameSource FileLast Revised
coreswitch_ivr_bridge.c10 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 NameSource FileLast Revised
mod_fifomod_fifo.c8065
mod_sofiasofia_glue.c5449
coreswitch_ivr.c8232
coreswitch_ivr_play_say.c8065

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 NameSource FileLast Revised
mod_sofiamod_sofia.c??
mod_sofiasofia.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 NameSource FileLast Revised
coreswitch_ivr_originate.c4796

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 NameSource FileLast Revised
mod_lcrmod_lcr.c11976

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 NameSource FileLast Revised
coreswitch_ivr_originate.c11256

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 NameSource FileLast Revised
coreswitch_ivr_bridge.cgit-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 NameSource FileLast Revised
coreswitch_ivr_bridge.cgit-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 NameSource FileLast Revised
mod_faxmod_fax.c9468
mod_sofiasofia_glue.c5114

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 NameSource FileLast Updated
mod_dptoolsmod_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 NameSource FileLast Updated
mod_conferencemod_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 NameSource FileLast Revised
coreswitch_ivr_originate.c12403

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 NameSource FileLast Revised
coreswitch_ivr_originate.c11286

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 NameSource FileLast Revised
coreswitch_ivr_originate.c11286

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 NameSource FileLast Revised
mod_loopbackmod_loopback.c

loopback_export

A list of channel variables to pass from loopback-a to loopback-b.

Usage:

See also:

Implemented By:

Module NameSource FileLast Revised
mod_loopbackmod_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 NameSource FileLast Revised
coreswitch_ivr_async.c15235
coreswitch_core_media_bug.c15235

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 NameSource FileLast Updated
mod_spandspmod_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_nameuser defined name for the error condition
number_of_hitsthe number of times the tone must be heard before considering it a fail
tone_detect_frequenciesthe 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 NameSource FileLast Revised
coreswitch_ivr_originate.c11295

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_nameOptional? user-defined name for the error condition
number_of_hitsthe 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_frequenciesthe 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 NameSource FileLast Revised
coreswitch_ivr_originate.c11295

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 NameSource FileLast Revised
coreswitch_ivr_originate.c11738

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 NameSource FileLast Revised
coreswitch_ivr_originate.c11437

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 NameSource FileLast Revised
coreswitch_ivr_originate.c032761c

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 NameSource FileLast Revised
coreswitch_ivr_originate.c11437

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 NameSource FileLast Revised
coreswitch_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 NameSource FileLast Updated
Coreswitch_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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c10917
coreswitch_ivr_originate.c12604

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 NameSource FileLast Revised
mod_dptoolsmod_dptools.c10917
coreswitch_ivr_originate.c12604

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:

ModuleSource FileLast Updated
coreswitch_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 NameSource FileLast Revised
coreswitch_ivr_originate.c12604

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 NameSource FileLast Revised
mod_opalmod_opal.cpp10567
mod_sofiasofia_glue.c5114
coreswitch_core_session.c4796

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 NameSource FileLast Revised
Sofiasofia.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 NameSource FileLast Revised
coreswitch_ivr_bridge.c12691

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 NameSource FileLast Revised
mod_sofiasofia.c10391
coreswitch_ivr.c10391

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 NameSource FileLast Revised
mod_sofiasofia_glue.c5114

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 NameSource FileLast Revised
coreswitch_channel.ce7cafae29d0720f06280255a55cc94548e7e12a4
coreswitch_core_io.ce7cafae29d0720f06280255a55cc94548e7e12a4

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 NameSource FileLast Revised
coreswitch_core_session.c7214
coreswitch_core_state_machine.c7212

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 NameSource FileLast Revised
mod_sofiamod_sofia.c10090
mod_sofiasofia.c12676

read_codec

Read only. The negotiated codec of the inbound call leg.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c10045

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 NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984
coreswitch_ivr_async.c4796
coreswitch_ivr_play_say.c4796

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)

RECORD_COMMENT

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_COMMENT=This is a blog spot"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984
coreswitch_ivr_async.c4796
coreswitch_ivr_play_say.c4796

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_COPYRIGHT=(c)2007-me"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984
coreswitch_ivr_async.c4796
coreswitch_ivr_play_say.c4796

RECORD_DATE

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_DATE=2007-01-16"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984
coreswitch_ivr_async.c4796
coreswitch_ivr_play_say.c4796

RECORD_DISCARDED

If a recording gets dropped or discarded then this channel variable is set to true. Useful for diagnostics.

Usage:

N/A

See also:

Implemented By:

Module NameSource FileLast Updated
coreswitch_ivr_async.cc465c435

record_fill_cng

Description need please.

Usage:

<action application="set" data="record_fill_cng=1200"/>

See also:

  • Variable record_waste_resources

Implemented By:

Module NameSource FileLast Updated
Coreswitch_ivr_play_say.c

RECORD_HANGUP_ON_ERROR

When set to true this channel variable will cause the call to hangup if there is an error when trying to record the call. This is not a common feature, however in cases where a call MUST be recorded it makes it impossible to have calls that are not recorded. (Useful in some business scenarios.)

Usage:

<action application="set" data="RECORD_HANGUP_ON_ERROR=true"/>

Implemented By:

Module NameSource FileLast Updated
Coreswitch_ivr_async.ca3e6bead

RECORD_MIN_SEC

Sets the minimum recording length. Normally a recording must be at least 3 seconds long. If a recording does not meet the minimum length, it is deleted after being recorded.

Usage:

<action application="set" data="RECORD_MIN_SEC=0"/>

See also:

  • record_session

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c15272

record_ms

Read Only. Contains the length in milliseconds of the most recent recording.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c15155

record_sample_rate

Set the sample rate of the recording.

Usage:

<action application="set" data="record_sample_rate=8000"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c6706

RECORD_READ_ONLY

Record read stream only.

Usage:

<action application="set" data="RECORD_READ_ONLY=true"/>

See also:

  • RECORD_STEREO
  • RECORD_WRITE_ONLY

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c15257

record_restart_limit_on_dtmf

When set to true it allows the person recording to press a DTMF key and extend the amount of time they have before the recording times out.

Usage:

<action application="set" data="record_restart_limit_on_dtmf=true"/>

See also:

  • Misc._Dialplan_Tools_record

Implemented By:

Module NameSource FileLast Updated
Coreswitch_ivr_play_say.c

record_sample_rate

Specify the sampling rate of the recorded file.

Usage:

<action application="set" data="record_sample_rate=8000"/>

See also:

  • Misc._Dialplan_Tools_record

Implemented By:

Module NameSource FileLast Updated
Coreswitch_ivr_play_say.c

record_samples

Read Only. Contains the number of audio samples in the most recent recording.

RECORD_SOFTWARE

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_SOFTWARE=FreeSWITCH"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984
coreswitch_ivr_async.c4796
coreswitch_ivr_play_say.c4796

RECORD_STEREO

Record leg A and leg B streams (i.e. the caller is recorded to the left channel and the reciever is recorded on right channel) into different channel in a stereo file.

Usage:

<action application="set" data="RECORD_STEREO=true"/>

See also:

  • RECORD_WRITE_ONLY
  • RECORD_READ_ONLY
  • RECORD_STEREO_SWAP

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c5772

RECORD_STEREO_SWAP

Allow to invert the recording channel when RECORD_STEREO variable is set to true. So the caller is recorded to the right channel and the receiver is recorded on left channel.

Usage:

<action application="set" data="RECORD_STEREO_SWAP=true"/>

See also:

  • RECORD_STEREO

Implemented By:

Module NameSource FileLast Revised
coresrc/switch_core_media_bug.c2011-12-14

RECORD_TITLE

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_TITLE=MegaMusic"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984
coreswitch_ivr_async.c4796
coreswitch_ivr_play_say.c4796

record_waste_resources

By default record doesn't send RTP packets. This is generally acceptable, but for longer recordings or depending on the RTP timer of your gateway, your channel may hangup with cause MEDIA_TIMEOUT. Setting this variable will 'waste' bandwidth by sending RTP even during recording. The value can be true/false/<desired silence factor>. By default the silence factor is 1400 if you set record_waste_resources=true.

Usage:

<action application="set" data="record_waste_resources=true"/>

See also:

  • RECORD_WRITE_ONLY
  • RECORD_READ_ONLY

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c13152

RECORD_WRITE_ONLY

Record write stream only.

Usage:

<action application="set" data="RECORD_WRITE_ONLY=true"/>

See also:

  • RECORD_STEREO
  • RECORD_READ_ONLY

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c15257

recording_follow_transfer

Set to true if you want recording to continue after a transfer.

Example

<action application="set" data="recording_follow_transfer=true"/>

rtcp_octet_count

Contains number of RTCP octets collected during the call.

Usage:

N/A

See also:

  • Variable_rtcp_packet_count
  • CDR

Implemented By:

Module NameSource FileLast Updated
Mod_sofiasofia_glue.cd5ff3e04

rtcp_packet_count

Contains number of RTCP packets collected during the call.

Usage:

N/A

See also:

  • Variable_rtcp_octet_count
  • CDR

Implemented By:

Module NameSource FileLast Updated
Mod_sofiasofia_glue.cd5ff3e04

rtp_disable_vad_in

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5364

rtp_disable_vad_out

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5364

rtp_enable_vad_in

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5364

rtp_enable_vad_out

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5364

sdp_m_per_ptime

Adds a new m= line for each distinct ptime in codec list.

When this variable is not set:

  • When mixing codecs with various ptime in a codec list, they will now be allowed to co-exist in the sdp but it will send no ptime attr. This means the ptime preferences on the offer will be ignored when mixing codecs with various ptimes. When receiving a codec list with no ptime attr, the ptime will be chosen from local preference instead of assuming 20ms. This means if offer contains PCMU with no ptime and FS has PCMU@40i
  • Dynamic payloads will now start at 98 and increment per additional dynamic codec per call. So now you can add CELT@32000h,CELT@48000h and each one will be auto-assigned a dynamic payload type.

Is now implied to be true, if you don't like this set it to false but its going to be undefined behaviour. This basically means if you call in with ptime 30 then you have a bunch of ptime 20 codecs in your outbound list that there will be one m= line with 30 and the original inbound codec and more m= lines for each discinct ptime in your list. This is, of course, will depend on disable_trancoding or absolute_codec_string as well

Usage:

<action application="set" data="sdp_m_per_ptime=true"/>

See also:

Implemented By:

Module NameSource FileLast Updated
mod_sofiasofia_glue.cdfa78985

sdp_secure_savp_only

When sip_secure_media=true FreeSWITCH will offer both AVP and SAVP in the SDP. Setting sdp_secure_savp_only=true (in addition to sip_secure_media=true) will cause FreeSWITCH to offer only SAVP in the SDP.

Usage:

<action application="export" data="sdp_secure_savp_only=true"/>

See also:

Implemented By:

Module NameSource FileLast Updated
mod_sofiasofia_glue.c097d9a1

send_silence_when_idle

When greater than 0, this variable tells FreeSWITCH to transmit comfort noise when idle. The value of 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.

Usage:

<action application="set" data="send_silence_when_idle=400"/>

See also:

  • bridge_generate_comfort_noise

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr.c11274
coreswitch_ivr_originate.c10664

session_in_hangup_hook

Allows channel variables to be accessible in the api_hangup_hook that gets executed for the channel.

Usage:

<action application="set" data="session_in_hangup_hook=true"/>

See Lua#Special_Case:_env_object for an example of how to use this.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_state_machine.c10468

signal_bond

UUID of the channel this channel is bridged/bonded to. Not present on a one-legged call.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c7885
mod_loopbackmod_loopback.c9646
mod_sofiamod_sofia.c7103
mod_sofiasofia.c11562
mod_sofiasofia_glue.c8232
coreswitch_channel.c7546
coreswitch_core_session.c4944
coreswitch_ivr.c7870
coreswitch_ivr_async.c7075
coreswitch_ivr_bridge.c9603
coreswitch_ivr_play_say.c8065

sip_acl_authed_by

Contains the name of the ACL node that authorized this call.

Usage:

None.

See also:

Implemented By:

  • Mod_sofia

sip_acl_token

Contains the ACL auth token for the current call.

Usage:

N/A

See also:

  • [Mod_sofia]

Implemented By:

  • [Mod_sofia]

sip_auth_password

For mod_sofia use with sip_auth_username to answer auth challenges without defining a full gateway.

Usage:

originate {sip_auth_username=<your_user_name>,sip_auth_password=<your_password>}sofia/external/1xxxxxxx@12.34.56.78 &echo

See also:

  • sip_auth_username

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_reg.c12819

sip_auth_username

For mod_sofia answer auth challenges without defining a full gateway. Used in tandem with sip_auth_password. Also indicates the SIP username a device successfully registered to FreeSWITCH with.

Usage:

originate {sip_auth_username=<your_user_name>,sip_auth_password=<your_password>}sofia/external/1xxxxxxx@12.34.56.78 &echo

Notes:

This should contain the username of the authenticated user that has triggered this request, if applicable.

Depending on how your FreeSWITCH instance is configured, you may experience problems with this variable being incorrect or blank after calling the 'bridge' application. If this happens, you may want to force the channel variable, for example;

<action application="bridge" data="{sip_auth_username=${sip_auth_username}}sofia/gateway/external/2000"/>

See also:

  • sip_auth_password
  • sip_authorized

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_reg.c12819

sip_authorized

sip_authorized indicates whether the SIP device accessing the dialplan is authorized to FreeSWITCH or not. The SIP device can be authorized either via an ACL or via digest authentication.

Usage:

Example needed! Please contribute one.

See also:

  • sip_auth_username
  • sip_acl_authed_by
  • sip_acl_token_vars

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c5299

sip_auto_simplify

When set, this directs FreeSWITCH to remove itself from the SIP signaling path if it can safely do so.

Usage:

<action application="set" data="sip_auto_simplify=true"/>

See also:

  • uuid_simplify

sip_callee_id_name

DEPRECATED. Use variable origination_callee_id_name instead

sip_callee_id_number

DEPRECATED. Use variable effective_callee_id_number instead


<anthm>: sip_callee_id_X was deprecated in favor of effective_callee_id_X <anthm>: effective and sip are the same it was just a mistake to call it sip in case we use it for other protocols so both work for now

sip_callee_id_number

Set on the inbound leg to control what caller ID number appears in the caller phone's display.

Usage:

<action application="set" data="sip_callee_id_name=Reginald" /> <action application="set" data="sip_callee_id_number=2332" /> <action application="bridge" data="sofia/gateway/provider/<Reginald's cellphone number>" />

If you find using set doesn't work, try using export instead.

See also:

  • sip_callee_id_name

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c15110
mod_sofiamod_sofia.c15211

sip_cid_in_1xx

Prevents FreeSWITCH when it receives 183 from leg-B to automatically insert RPID before sending 183 to leg-A.

Usage:

<action application="set" data="sip_cid_in_1xx=false"/>

See also: This can be defined profile-wide with: pass-callee-id=false

sip_cid_type

Modify caller ID in SDP header. Can be set to none, default, pid, or rpid (default).

rpid=Remote-Party-ID header pid=P-Asserted-Identity header none=Caller ID will be in the SIP "From" Note: for gateways, this will not work. You will require caller-id-in-from=true in the gateway settings

Usage:

{sip_cid_type=none}sofia/default/user@example.com

Or,

{sip_cid_type=rpid}sofia/default/user@example.com i.e. Remote-Party-ID: "9094445555" <sip:9094445555@1.2.3.4>;party=calling;screen=yes;privacy=off

Or,

{sip_cid_type=pid}sofia/default/user@example.com i.e. P-Asserted-Identity: "9094445555" <sip:9094445555@1.2.3.4>

Or,

{sip_cid_type=rpid,origination_caller_id_name=test,origination_caller_id_number=1234}sofia/default/user@example.com

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c12427
mod_sofiasofia_glue.c12427

sip_copy_multipart

FreeSWITCH supports only INVITEs with multipart bodies. FreeSWITCH does not support response messages such as 183 Session Progress or 200 Ok with multipart bodies. Typically SIP bodies only have one MIME part with an SDP using MIME type application/sdp. The SIP spec allows for multiple bodies defined with MIME type multipart/mixed. In this case FreeSWITCH will do it's best to find the MIME part with the SDP and parse that as it normally does. However, you can change FreeSWITCH behavior with multipart bodies and bridge using this variable.

Usage:

To have FreeSWITCH keep the multiple MIME parts intact when using bridge (default):

<action application="set" data="sip_copy_multipart=true"/>

NOTE: FreeSWITCH will "do the right thing" and attach an application/sdp type generated by FreeSWITCH (per your settings) for the B leg as it normally would. The other non-SDP MIME parts just pass through.

To have FreeSWITCH strip the multiple MIME parts when using bridge:

<action application="set" data="sip_copy_multipart=false"/>

sip_enable_soa

For per call basis which can be set to false to disable SIP SOA from sofia and most likely result in untouched exchange of SDP.

Usage:

<action application="set" data="bypass_media=true"/> <action application="export" data="sip_enable_soa=false"/>

sip_execute_on_image

Execute an application as soon as you get a T.38 invite. This variable is similar to execute_on_answer. You can run t38_gateway or rxfax etc when you get a T.38 re-invite but no CNG tone, or you want to ignore the tone and only react when getting a T.38 re-invite.

Usage: Need an example.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c

sip_force_audio_fmtp

Set the audio fmtp.

Usage:

Please add example if you have one.

See also:

Implemented By:

Module NameSource FileLast Updated
mod_sofiamod_sofia.c6360264f

sip_from_display

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12566

sip_hangup_disposition

This variable contains the value of who sent the SIP BYE message. Some examples from XML CDRs:

<sip_hangup_disposition>send_bye</sip_hangup_disposition> <sip_hangup_disposition>recv_bye</sip_hangup_disposition> <sip_hangup_disposition>send_refuse</sip_hangup_disposition> <sip_hangup_disposition>send_cancel</sip_hangup_disposition>

Interpretation of these values differs on incoming and outgoing calls since FreeSWITCH is at different ends of the session.

ValueIncomingOutgoing
send_byeFS sent BYE to the caller (we hung up)FS sent BYE to the endpoint (we hung up)
recv_byeFS received BYE from the caller (they hung up)FS received BYE from the endpoint (they hung up)
send_refuseFS rejected the call (e.g. 4xx or 5xx)Endpoint rejected the call (e.g. 4xx or 5xx)
send_canceln/aFS aborted the call (we sent CANCEL)

Usage:

Look in CDR for the value; only valid after call has ended.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c
mod_sofiasofia.c

sip_ignore_183nosdp

Ignoring 183 w/o SDP. This option is not for normal basic call flow.

Usage:

<action application="set" data="sip_ignore_183nosdp=true"/>

See also:

  • Channel_Variables#sip_ignore_183nosdp

sip_ignore_reinvites

Tells FreeSWITCH to accept/ignore re-INVITEs from remote end.

Usage:

Don't allow any re-INVITEs once bridged.

<action application="set" data="sip_ignore_reinvites=true"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c9634

sip_invite_contact_params

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12290

sip_invite_domain

Set the from domain in leg (B).

Usage:

<action application="bridge" data="{sip_invite_domain=${sip_from_host}}sofia/gateway/gw1/$1@domain.org"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9127

sip_invite_from_params

Sets the from parameters on the B-leg of the call. The from parameters come after user@host:port and before '>'. The initial semi-colon is added after the port.

Usage:

{sip_invite_from_params=otg=mytrunk}sofia/gateway/sonus/$1

Result:

From: <sip:5552345678@sonus:5060;otg=mytrunk>;tag=blah

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12287

ip_invite_params

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c11069
mod_sofiasofia_glue.c7861

sip_invite_req_uri

Sets the uri in the header Request-Line INVITE when calling bridge or originate.

NOTE: RFC 3261 specifies that compliant endpoints SHOULD route based on the Request URI, not the URI in To:

Usage:

<action application="bridge" data="{sip_invite_req_uri=sip:11112222@test1.com}sofia/external/33334444%192.168.4.6"/>

Result:

INVITE sip:11112222@test1.com SIP/2.0 From: "" <sip:0000000000@192.168.2.7>;tag=N6K579y4g6j0D To: <sip:33334444@192.168.4.6>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofia

sip_invite_route_uri

Sets the uri in the header Route when calling bridge or originate.

Usage:

originate {sip_invite_route_uri=<sip:+48399999999@10.0.0.51:5080;lr;orig>,origination_caller_id_number=399999000}sofia/internal/+48399999999@domain.com &echo

Result:

INVITE sip:+48399999999@domain.com SIP/2.0 Via: SIP/2.0/UDP 10.0.0.51;rport;branch=z9hG4bKpmFv4aXv4tKcK Route: <sip:+48399999999@10.0.0.51:5080;lr;orig>

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c

sip_invite_tel_params

Tel URI parameters (npdi, rn) appearing in SIP URI on outbound calls.

Usage:

<action application="bridge" data="{sip_invite_tel_params=npdi=yes;rn=555000001,sip_invite_params=user=phone}sofia/gateway/test_gw/555000002"/>

Result:

INVITE sip:555000002;npdi=yes;rn=5555550001@1.2.3.4;user=phone SIP/2.0

See also:

[http://jira.freeswitch.org/browse/FS-5118](http://jira.freeswitch.org/browse/FS-5118)

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.ca3786d5

sip_invite_to_params

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12287

sip_invite_to_uri

Sets the uri in the header To when calling bridge or originate.

Usage:

originate {sip_invite_to_uri=<sip:11112222@test1.com>}sofia/internal/33334444@192.168.4.6 &park

Result:

INVITE sip:33334444@192.168.4.6 SIP/2.0 From: "" <sip:0000000000@192.168.2.7>;tag=N6K579y4g6j0D To: <sip:11112222@test1.com>

Alternatively, if you need to set just the username in the header To, you can pass it at the end of the dial string:

originate sofia/internal/33334444@192.168.4.6^11112222 &park

Result:

INVITE sip:33334444@192.168.4.6 SIP/2.0 From: "" <sip:0000000000@192.168.2.7>;tag=Qr6pB00BBrZ5m To: <sip:11112222@@192.168.4.6>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofia

rtp_jitter_buffer_during_bridge

Enables/disables the jitter buffer during bridge.

Usage:

<action application="set" data="rtp_jitter_buffer_during_bridge=true"/>

or,

<action application="set" data="rtp_jitter_buffer_during_bridge=false"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c

sip_jitter_buffer_plc

Enables/disables packet loss concealment (PLC) when using the jitter buffer. PLC is enabled by default when the jitter buffer is enabled. Set this variable before enabling the jitter buffer for it to have an effect.

Usage:

<action application="set" data="sip_jitter_buffer_plc=true"/>

or,

<action application="set" data="sip_jitter_buffer_plc=false"/>

See also:

sip_local_sdp_str

Description goes here

Usage:

Example needed.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c?
mod_sofiasofia_glue.c?

sip_mirror_remote_audio_codec_payload

To tell sip to break the rfc and expect the codec payload the other side replies with rather than the one it offered which is the correct behavior.

Usage:

Examples needed!!!

Note: This variable can be set globally or per channel.

See also:

sip_network_destination

It is intended for use with devices registering behind a NAT where the Request-URI should contain the contact that was bound to the AOR during the registration request while the request itself should be sent to the public IP and port number of the NAT "pinhole". It does not add a Route header field to the request like the ;fs_path= or the sip_route_uri options do.

Usage:

<action application="bridge" data="{sip_network_destination=sip:5551234567@66.243.109.243:10005}sofia/external/5551234567@172.16.110.45:5060"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12409

sip_recovery_break_rfc

To NOT reverse the from and to on UAS Re-INVITEs. This breaks RFC.

Usage:

Examples needed!!!

Note: This variable can be set globally or per channel.

sip_renegotiate_codec_on_reinvite

Allow SDP codec change with re-INVITE

Usage:

<action application="bridge" data="{sip_renegotiate_codec_on_reinvite=true}sofia/gateway/trunk/$1"/>

Note: It may also be set globally in vars.xml or set it in sip profiles (<param name="renegotiate-codec-on-reinvite" value="true"/>)

sip_wait_for_aleg_ack

When you set the variable sip_wait_for_aleg_ack on the b leg in the {} for the outbound call, this should make the B leg delay sending the ACK until it sees that the A leg has recv'd an ack.

Usage:

<action application="bridge" data="{sip_wait_for_aleg_ack=true}sofia/internal/foo@bar.com"/>

skeleton

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"/>

See also:

Implemented By:

Module NameSource FileLast Updated
Leave blank if you don't know itLeave blank if you don't know itLeave blank if you don't know it

skip_cdr_causes

This is a list of call hangup causes that should not trigger cdr processing.

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c2012-09-19, git commit 3cf238fc9a1370a45d362c2193b8d3634ccd1d11

spandsp_dtmf_rx_filter_dialtone

Sets the filter dialtone parameter in the spandsp DTMF detector. Dialtone filtering is disabled by default. Set this variable prior to executing spandsp_start_dtmf.

Usage:

<action application="set" data="spandsp_dtmf_rx_filter_dialtone=true"/> <action application="spandsp_start_dtmf" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_dsp.c

spandsp_dtmf_rx_reverse_twist

Sets the reverse twist setting in the spandsp DTMF detector. Reverse twist is set to 4 dB by default. This value can be safely increased up to 6 or 7 without a significant increase in talk-off to allow DTMFs that exceed this threshold to be detected. Set this variable prior to executing spandsp_start_dtmf.

Usage:

<action application="set" data="spandsp_dtmf_rx_reverse_twist=6"/> <action application="spandsp_start_dtmf" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_dsp.c

spandsp_dtmf_rx_threshold

Sets the threshold parameter in the spandsp DTMF detector. Threshold is set to -42 dBm0 by default. Set this variable prior to executing spandsp_start_dtmf.

Usage:

<action application="set" data="spandsp_dtmf_rx_threshold=-42"/> <action application="spandsp_start_dtmf" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_dsp.c

spandsp_dtmf_rx_twist

Sets the twist parameter in the spandsp DTMF detector. Twist is set to 8 dB by default. Set this variable prior to executing spandsp_start_dtmf.

Usage:

<action application="set" data="spandsp_dtmf_rx_twist=8"/> <action application="spandsp_start_dtmf" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_dsp.c

suppress_cng

Enable/Disable comfort noise. (RTP/AVP 13)

You may wish to suppress comfort noise (which actually supresses VAD) if the call audio is being compromised by aggressive or poorly implemented VAD+silence suppression (eg. short words are missed in conversation)

Usage:

<action application="export" data="suppress_cng=true"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spandspmod_spandsp_dsp.c

switch_m_sdp

The B-leg remote SDP.

Usage:

  • Used to store the remote SDP used by the other leg/channel of a call. (In the A-leg that will be the remote SDP of the B-leg.)
  • This variable is set, but never used, by FreeSWITCH. ("read-only")
  • Known as SWITCH_B_SDP_VARIABLE in mod_sofia and the core switch code

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c8372
mod_sofiasofia.c10463
mod_sofiasofia_glue.c5114
coreswitch_core_session.c4796

switch_r_sdp

Read only. This variable holds the remote SDP for the current leg/channel.

Usage:

Rewriting SDP:

<action application="set"><![CDATA[switch_r_sdp=(sdp here) ]]> </action>

note: Don't add a carriage return after "set"> or you'll end up writing a variable with a different name, leaving switch_r_sdp with the same value.

Known as SWITCH_R_SDP_VARIABLE in source code

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c8542
mod_sofiasofia.c9591
coreswitch_core_session.c4796

temp_hold_music

This variable specifies a hold music value that gets played to a caller only until they get transferred. After the transfer, the hold_music variable will apply.

Usage:

<action application="set" data="temp_hold_music=local_stream://alternate_moh"/>

See also:

Implemented By:

Module NameSource FileLast Revised
Coreswitch_channel.c

timer_name

If set will make playback and speak use a timer to clock the audio instead of the read.

Usage:

<action application="set" data="timer_name=soft"/>

See also:

Implemented By:

Module NameSource FileLast Revised
Coreswitch_ivr_play_say.c4796

timezone

Sets the timezone for this particular call. Can be used, e.g., to set the timezone for a caller who is checking his/her voicemail. The value is expressed in Linux timezone format (ex. America/New_York -- see /usr/share/zoneinfo/zone.tab for the standard list of Linux timezones).

Note that this channel variable is only respected by the phrase layer -- ie, if you're using the 'say' application to announce times, this will work fine.

You can set the time zone Globally for Freeswitch in /conf/vars.xml by adding this line: <X-PRE-PROCESS cmd="set" data="timezone=America/Toronto"/> (of course replace the 'America/Toronto' with your own time zone.

If you would like to specify the time zone in the dialplan add <action application="set" data="timezone=America/Toronto"/> to your dialplan. (again replace with the proper timezone)

Finally you can specify a time zone for a particular extension in /conf/directory/default/'extension'.xml

Usage:

<action application="set" data="timezone=GMT0"/>

or,

<action application="set" data="timezone=America/New_York"/>

Directory Usage:

<param name="timezone" value="America/New_York"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_say_enmod_say_en.c10214

tod_tz_offset

Sets the GMT offset to be used on this call for tod based conditions.

NOTE: the variable must actually be set before the comparison, so either set it inline, transfer, or set it in the user directory.

You can set the offset Globally for Freeswitch in /conf/vars.xml by adding this line: <X-PRE-PROCESS cmd="set" data="tod_tz_offset=5"/> (of course replace the '5' with your GMT offset.

If you would like to specify the time offset in the dialplan add <action application="set" data="tod_tz_offset=5"/> to your dialplan. (again replace with the proper offset)

Finally you can set the variable for a particular extension in /conf/directory/default/'extension'.xml

Usage:

<action application="set" data="tod_tz_offset=5"/>

Directory Usage:

<variable name="tod_tz_offset" value="+2"/>

See also:

transfer_after_bridge

This variable can control what happens when a call is hang up. This can be used in conjunction with mod_fifo to control the "agent", possibly sending them back to an agent queue. This is checked after park_after_bridge and before hangup_after_bridge.

Usage:

<action application="set" data="transfer_after_bridge=1000"/>

or,

<action application="set" data="transfer_after_bridge=1000:XML:default"/>

(Note the : separator)

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c12691

transfer_on_fail

Allows you to tranfer call flow when a called party can not be reached for specific reasons ( unallocated_number, etc )

Usage:

<action application="set" data="transfer_on_fail= UNALLOCATED_NUMBER"/>

In this example, if you were to attempt a bridge that resulted in "UNALLOCATED_NUMBER" , the call flow would be "transferred" to the "UNALLOCATED_NUMBER" destination in your current dialplan ( probably default xml dialplan )

or,

<action application="set" data="transfer_on_fail=<hangupcauses> <destination> <dialplan> <context>"/>

or,

<action application="set" data="transfer_on_fail=1"/>

<hangupcause> can be the string "auto_cause" which will be replaced by the hangup cause returned by the bridge. this is the default action if no destination, dialplan or context are specified.

<action application="set" data="hangup_on_bridge=true"/>
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="transfer_on_fail=UNALLOCATED_NUMBER auto_cause xml error"/>
<action application="bridge" data="A..."/>
<action application="bridge" data="B..."/>

then have the an "Error" context in your dialplan.

<context name="error">
<extension name="UNALLOCATED_NUMBER" continue="true">
<condition field="${originate_disposition}" expression="UNALLOCATED_NUMBER" continue="false" break="on-true">
<action application="playback" data="/usr/local/freeswitch/sounds/NotInService.wav"/>
<action application="hangup" data="NORMAL_CLEARING"/>
</condition>
</extension>
</context>

See also:

transfer_to

Description needed

Example: Example needed

See also:

uuid_bridge_continue_on_cancel

When set to true causes the system to move on in the dialplan if it hits a bad b-leg. Default is false because this behavior is probably not recommended.

You may find this variable useful when implementing Dialplan_FollowMe

Usage:

<action application="set" data="uuid_bridge_continue_on_cancel=true"/>

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c17044

verbose_sdp

Enable this variable to fix a bug in certain VoIP phones.

The a=rtpmap lines are optional (RFC 3264) for static payload types according to the SDP standard, but not all phones implement this correctly and fail if these lines are missing.

By default FreeSWITCH will omit these lines so that the SDP is smaller (which lowers bandwidth use and avoids packet fragmentation). If this variable is set to true, FS will instead send these a=rtpmap for all codecs.

For example, Polycom phone requires you to list all codecs in the RTP map even though the SDP is valid, but they seem not to look at any codecs that are not in the map.

Usage: in vars.xml

verbose_sdp=true

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.cn/a

write_codec

Read only. The negotiated codec of the outbound call leg.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c10045

data

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c7402

endpoint_disposition

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c7779
mod_sofiasofia.c12652
mod_sofiasofia_glue.c5114
coreswitch_channel.c10098

fax_document_transferred_pages

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_faxmod_fax.c10506

fax_header

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_faxmod_fax.c9468

fax_start_page

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_faxmod_fax.c9468

fifo_music

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8065

fifo_priority

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8689

fifo_serviced_by

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8012

fifo_serviced_uuid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c11356

fifo_status

The status of the consumer or caller. Usually "WAITING" or "TALKING".

Usage:

None

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c9860

fifo_strategy

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8028

fifo_target

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fifomod_fifo.c8689

fire_asr_events

If set, fire an event when speech is detected.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c7402

flow_billmsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

flow_billsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

flow_billusec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

funny_stun

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9088

group_context

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c10917

has_t38

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c11006

holding_uuid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c7885
coreswitch_ivr_originate.c8475

id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c12887

inbound_dialplan

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6113

instant_ringback

When set, ringback will not wait for indication before sending ringback tone to calling party.

Usage:

<action application="set" data="instant_ringback=true" />

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c11740

is_outbound

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c10115

language

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c10516
coreswitch_ivr_play_say.c8054

last_app

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

last_arg

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

last_dtmf_duration

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_io.c9526

last_file_position

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spidermonkeymod_spidermonkey.c5498

lcr_auto_route

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_lcrmod_lcr.c10510

lcr_route_count

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_lcrmod_lcr.c10510

left_hanging_extension

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c7425

limit_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dbmod_db.c

limit_max

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dbmod_db.c

limit_rate

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_hashmod_hash.c

limit_realm

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dbmod_db.c

limit_usage

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dbmod_db.c
mod_hashmod_hash.c

local_media_ip

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9591

local_media_port

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9591

local_video_ip

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5114

local_video_port

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5114

loopback_leg

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_loopbackmod_loopback.c11536

max_forwards

Contains the current Max-Forwards value provided in the originating request. The Max-Forwards value is decremented by one for each hop in a SIP call, when the Max-Forwards value is depleted the receiving agent must not pass the call onwards.

The max_forwards variable may be set on an outbound channel, some providers such as BT IP Exchange insist on a minimum value to faithfully terminate the call, 50 in BT's case.

Beware! If the max-Forwards value is reset it can cause potential cyclic calls between two operators who loop calls back to each other in error. Use wisely.

Usage:

Bridge an incoming call to a provider requiring a minimum Max-Forwards value.

<action application="bridge" data="{max_forwards=65}sofia/gateway/ipexchange/442920180123" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c7347
mod_sofiasofia.c4819
mod_sofiasofia_glue.c6974
coreswitch_core_session.c6976
coreswitch_ivr.c8103

mduration

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

media_webrtc

Used to instruct FS to generate an INVITE for a WebRTC call. For example, in case you need to originate a WebRTC call but you are not calling a SIP UA that is registered with FS (if the UA is registered with FS, FS knows it should originate a WebRTC call).

Usage:

# In the origination vars (commands originate or bridge) add

memory_debug

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_session.c7718

monitor_ring_dispo

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c11437

myid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c8689

NDLB_support_asterisk_missing_srtp_auth

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c8908

new_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c9703

nonexistantvar

Description goes here

Usage:

Example needed

See also:

Implemented By:

original_caller_id_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c7083

original_caller_id_number

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c7083

original_destination_number

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c7083

originate_continue_on_timeout

Controls wether or not a bridge should continue after timing out. Default value is false. This variable resets the timeout after each | default is to die on first timeout

Usage:

<action application="set" data="originate_continue_on_timeout=true"/>

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_originate.c15121

originate_retries

Number of retries before giving up on originating a call.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c4796

originate_retry_sleep_ms

This will set how long FreeSWITCH is going to wait between sending invite messages to the receiving gateway. Using the value of 500 FreeSWITCH will wait 500ms between sending invite messages to the called gateway.

Usage:

<action application="set" data="originate_retry_sleep_ms=500" />

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c4796

origination_timeout

Controls the amount of time that the bridge or originate operation will remain in "originate" state. In effect, this is a control on how long the bridge/originate will spend in total when calling multiple endpoints.

Usage:

<action application="bridge" data="{origination_timeout=10}[leg_timeout=5]sofia/internal/foo1@bar1|[leg_timeout=5]sofia/internal/foo2@bar2" />

See also:

Implemented By:

Module NameSource FileLast Updated
Coreswitch_ivr_originate.c

IMPORTANT NOTE

This variable does not exist in freeswitch source, use originate_timeout instead.

origination_uuid

You can specify the uuid of an originated call using origination_uuid. This way you can hang up the call before it is answered, since you know the uuid. Just remember you need to use the create_uuid command to generate the uuid as 2 calls with the same uuid == bad!

Usage:

originate

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_session.c10239

originator

Holds the UUID of the channel that originated the call. It's used to notify a parent channel that the state of it's child has changed, hence interrupting any blocking reads on the parent. It's automatically set and read by FreeSWITCH internals, usually the user won't want to set it.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c4795
coreswitch_core_session.c4798

originator_video_codec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_session.c11731

other_loopback_leg_uuid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_loopbackmod_loopback.c12905

pa_hold_file

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_alsamod_alsa.c5023
mod_portaudiomod_portaudio.c4795

pa_ring_file

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_alsamod_alsa.c5023
mod_portaudiomod_portaudio.c4795

playback_terminators

Allows you to set which DTMF tones, if pressed during the playback of a file, will stop it. The default terminator is *. Keyword 'none' disables on-key termination. keyword 'any' will terminate playback when any key (1234567890*#) is pressed.

Usage:

<action application="set" data="playback_terminators=#*" />

Note: Git Committed 38b3f43d:

add prefix chars to playback_terminators + means include the term in the string and x means include the char and return SWITCH_STATUS_RESTART eg #+* only includes the * if you type it but not the #

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c5888

pound_replace

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c5908

You can customize the fields in FreeSWITCH's internal channels table by using the global variable presence_data_cols

Use : to separate the column names in presence_data_cols

You must define the fields in the channels table first:

ALTER TABLE channels ADD COLUMN accountcode VARCHAR(256)

<X-PRE-PROCESS cmd="set" data="presence_data_cols=accountcode:domain_name"/>

presence_id

Will instruct mod_sofia to invoke a PRESENCE_IN event that will assert the BLF lamp for the subscribed entity. This only lasts while the channel still exists so it should not be used for persistent status (i.e. a user that is DND, or an agent logged into a queue).

Usage:

<action application="set" data="presence_id=${dialed_extension}@${domain_name}"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c6849
mod_sofiasofia.c6808
coreswitch_channel.c9363

profile_start_epoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

profile_start_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

profile_start_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

progress_epoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c11186

progress_media_epoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c11186

progress_media_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8568

progress_media_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c11186

progress_mediamsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8576

progress_mediasec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8576

progress_mediausec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8576

progress_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8568

progress_timeout

This is the maximum time we will wait before we get media (wether its early media, ringing or answer)

Usage:

<action application="set" data="progress_timeout=20" />

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c11286

progress_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c11186

progressmsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8576

progresssec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8576

progressusec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8576

proxy_media

Proxy Media mode puts FreeSWITCH in a "transparent proxy mode" for the RTP streams. The RTP streams still pass through FreeSWITCH (unlike bypass media mode).

NOTE: Late Negotiation (<param name="inbound-late-negotiation" value="true"/>) must be enabled in SIP profile for this to work in the dialplan.

Usage:

<action application="set" data="proxy_media=true" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c7717

rdnis

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c9170

read_rate

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c9040

read_result

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c9225

read_terminator_used

Contains the digit that the caller used to terminate a playback.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c12840

recovery_profile_name

Taken from [http://lists.freeswitch.org/pipermail/freeswitch-users/2012-December/090291.html](http://lists.freeswitch.org/pipermail/freeswitch-users/2012-December/090291.html)

Its used internally so the core recovery engine knows which profile name goes with the call. The profile name to the core is just an arbitrary sub category of the call where to mod_sofia it means the sip profile name.

You personally don't really have much use for it.

Usage:

Example needed! Please contribute one.

remote_media_ip

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_esfmod_esf.c5057
mod_sofiamod_sofia.c8689
mod_sofiasofia_glue.c6370

remote_media_port

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_esfmod_esf.c5057
mod_sofiamod_sofia.c8689
mod_sofiasofia_glue.c6370

remote_video_ip

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5114

remote_video_port

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5114

ringback

This will set the unanswered aka (early media) calls. The following example uses the US ring tone defined in ~/autoload_configs/switch.conf.xml

Usage:

<action application="set" data="ringback=$${us-ring}" />

See also: transfer_ringback | mod_local_stream | mod_file_string

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c9095

rss_alt_config

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_rssmod_rss.c6309

rtp_adv_audio_ip

This channel variable explicitly sets the ip address in SDP on a one-off basis. The "right" way to do this is ext-rtp-ip in the sofia profile.

Usage: <action application="set" data="rtp_adv_audio_ip=127.0.0.1"></action>

See also: [https://wiki.freeswitch.org/wiki/Sofia.conf.xml#ext-rtp-ip](https://wiki.freeswitch.org/wiki/Sofia.conf.xml#ext-rtp-ip)

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9088

rtp_autoflush

Skip timer sleeps when the socket has data ready.

Usage: <action application="set" data="rtp_autoflush=true"/>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12854

rtp_hold_timeout_sec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c10566
mod_sofiasofia_glue.c7309

rtp_manual_rtp_bugs

Needed!!!

Usage:

<action application="set" data="rtp_manual_rtp_bugs=cisco_skip_mark_bit_2833" />

See also: RTP Issues Variable_disable_rtp_auto_adjust

Implemented By:

Module NameSource FileLast Revised

rtp_rewrite_timestamps

Description needed.

Usage:

See also:

[http://wiki.freeswitch.org/wiki/Sofia.conf.xml#rtp-rewrite-timestamps](http://wiki.freeswitch.org/wiki/Sofia.conf.xml#rtp-rewrite-timestamps)

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c5501

rtp_stun_ping

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9088

rtp_timeout_sec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c10566
mod_sofiasofia_glue.c6093

rtp_timer_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12676

signal_bridge_to

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr.c5738
coreswitch_ivr_bridge.c12671

sip

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c8689

sip_auth_method

The request method used to authenticate with.

Known values are;

  • REGISTER

Usage: TODO

See also: TODO

Implemented By: TODO

sip_auth_realm

This should contain the domain/realm of the authenticated user that has triggered the event, if applicable.

Usage:

originate {sip_auth_username=

Depending on how your FreeSWITCH instance is configured, you may experience problems with this variable being incorrect or blank after calling the 'bridge' application. If this happens, you may want to force the channel variable, for example;

<action application="bridge" data="{sip_auth_realm=${sip_auth_realm}}sofia/gateway/external/2000" />

See also: TODO

Implemented By: TODO

sip_auto_answer

Tells the SIP phone to auto-answer the call, if supported. Can be used for intercom support.

Usage: From dialplan/default.xml:

<action application="export" data="sip_auto_answer=true" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c11069
mod_sofiasofia.c5817

sip_call_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6481

sip_codec_negotiation

Description needed! Please Expand.

sip_codec_negotiation is basically a channel variable equivalent of inbound-codec-negotiation.

sip_codec_negotiation accepts "generous", "scrooge" & "greedy" as values.

on Freeswitch versions before Feb 3 ( 74a0cfd1e101413a3941c41d04ee01d8df2ae418 ) sip_codec_negotiation will always be over-written by the value of sip-codec-negotiation ( in the sofia profile ).

sine this same revision the behaviour was change so that the channel variable will always over-ride the value set in the sip profile. This means you can change codec negotiation on a per call basis.

Usage:

| | | |

See also: Sofia_Configuration_Files#inbound-codec-negotiation

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c11881

sip_contact_host

Hostname part of the 'Contact' SIP header.

Usage:

For example, if your request header contains:

Contact: <sip:gw+test@server.example.com:5060;transport=udp;gw=test>

Then the value for this field would be:

server.example.com

See also: TODO

Implemented By: TODO

sip_contact_port

Port part of the 'Contact' SIP header.

Usage:

For example, if your request header contains:

Contact: <sip:gw+test@server.example.com:5060;transport=udp;gw=test>

Then the value for this field would be:

5060

See also: TODO

Implemented By: TODO

sip_contact_user

Username part from the Contact SIP header.

Usage:

For example, if your request header contains:

Contact: <sip:gw+test@server.example.com:5060;transport=udp;gw=test>

Then the value for this field would be:

gw+test

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9190

sip_copy_custom_headers

To pass some custom X-headers from B-leg to A-leg, add {sip_copy_custom_headers=true} to the dial string of the B-leg.

Usage: Set it to false to disable sending custom X- headers to your SIP gateway provider

<action application="set" data="sip_copy_custom_headers=false" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c4350:
mod_sofiasofia.c4237

sip_destination_url

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c6451

sip_enable_soa

For per call basis which can be set to false to disable SIP SOA from sofia and most likely result in untouched exchange of SDP.

Usage:

<action application="set" data="bypass_media=true" />

See also:

Implemented By:

Module NameSource FileLast Updated

sip_exclude_contact

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c7894

sip_force_video_fmtp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_fsvmod_fsv.c7564
mod_sofiasofia_glue.c7565

sip_from_comment

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7190

sip_from_host

Hostname part of the 'From' SIP header.

Usage:

For example, if your request header contains:

From: <sip:1000@server.example.com>;tag=0e70ba56

Then the value for this field would be:

server.example.com

See also: TODO

Implemented By: TODO

sip_from_port

Port part of the 'From' SIP header.

Usage:

For example, if your request header contains:

From: <sip:1000@server.example.com:5661>;tag=0e70ba56

Then the value for this field would be:

5661

However, if your request header does not contain a port, then the value for this field would be your default SIP port (usually 5060) - for example;

From: <sip:1000@server.example.com>;tag=0e70ba56

See also: TODO

Implemented By: TODO

sip_from_uri

The SIP URI of the endpoint sending the INVITE.

Usage:

<action application="export" data="sip_from_uri=${sip_from_uri}" />

Some SIP providers insist on handling caller ID in a non-normal way. In most cases you can use effective_caller_id_name and effective_caller_id_number to set the caller ID on the outbound (B leg) of a bridged call. In some cases the SIP provider doesn't like that and may just show "anonymous" or some other default caller ID information.

The above example takes the From URI of an incoming SIP call and exports that value to the B leg. This is handy when you have a scenario like this:

Alice ==> FreeSWITCH bridge ==> Bob

You want Alice's caller ID information to be sent to Bob instead of FreeSWITCH's caller ID information. Usually this "just works" but if it doesn't you can try exporting sip_from_uri as above.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c10397

sip_from_user

Username part of the 'From' SIP header.

Usage:

For example, if your request header contains:

From: <sip:1000@server.example.com>;tag=0e70ba56

Then the value for this field would be:

1000

See also: TODO

Implemented By: TODO

sip_from_user_stripped

This is the same as sip_from_user, but has the "+" sign stripped from it.

Code snippet taken from src/mod/endpoints/mod_sofia/sofia.c:

if (!zstr(from_user)) { if (*from_user == '+') { switch_channel_set_variable(channel, "sip_from_user_stripped", (const char *) (from_user + 1)); } else { switch_channel_set_variable(channel, "sip_from_user_stripped", from_user); }}

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c4819

sip_gateway

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c11468

sip_gateway_name

If your call is outbound, and Leg B is routed via a gateway, then this variable will contain the gateway name.

Usage:

Call from user on internal profile, routed out via gateway 'ntl'

sip_profile_name=gatewaysip_gateway_name=ntlsofia_profile_name=internal

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c6489

sip_h_Referred-By

This is the line:

Referred-By

In the SIP message. It may be set on a transfer to a number, which then bridges somewhere else.

Description needed! Please contribute one.

Usage: You can SET it by using:

<action application="set" data="sip_h_referred-by=000@domain.com" />

If you wish to unset it, you can use:

<action application="unset" data="sip_h_referred-by" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7001

sip_header_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7190

sip_history_info

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c10718

sip_ignore_remote_cause

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c10090

sip_invite_call_id

SIP Call-ID to use when originating a call

Usage:

<action application="set" data="sip_invite_call_id=mycustomcallid" />

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c

sip_local_url

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c6451

sip_looped_call

True if the call has been authenticated via means other than an ACL and the current request IP/port matches the profile IP/port (see src/mod/endpoints/mod_sofia/sofia.c)

Usage: in dialplan/public.xml:

<condition field="${

Example:

| | | |

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7078

sip_nat_detected

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c8395
mod_sofiasofia.c8488
mod_sofiasofia_glue.c8395

sip_outgoing_call_id

Replaced by Variable_sip_invite_call_id

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c10416

sip_p_rtp_stat

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c8821

sip_profile

Name of the SIP profile which the request was received on.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dialplan_asteriskmod_dialplan_asterisk.c6214

sip_profile_name

If your call is outbound, then this variable will contain the profile name used for the outbound channel (Leg B)

If the outbound channel is a gateway, then this variable will be set to 'gateway', and you'd need to look at 'sip_gateway_name' to get the name of the gateway.

If the outbound channel is another profile, then this variable will be set to the name of that profile.

This should NOT be confused with sofia_profile_name, which is the name of the profile for Leg A.

Usage:

Call from user on internal profile, routed out via gateway 'ntl'

sip_profile_name=gatewaysip_gateway_name=ntlsofia_profile_name=internal

Call from user on internal profile, routed out via internal profile

sip_profile_name=internalsip_gateway_name=sofia_profile_name=internal

Call from user on external profile, routed out via internal profile

sip_profile_name=internalsip_gateway_name=sofia_profile_name=external

See also:

Implemented By:

TODO

sip_received_ip

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c8395

sip_received_port

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c8395

sip_refer_reply

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c10471
mod_sofiasofia.c10471

sip_referred_by_cid

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7190

sip_referred_by_user_stripped

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7190

sip_reply_host

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c10573

sip_request_host

Hostname part of the SIP header.

Usage:

For example, if your request header starts with:

REGISTER sip:172.16.44.8 SIP/2.0

Then the value of this field would be:

172.16.44.8

See also: TODO

Implemented By: TODO

sip_request_port

Port part of the SIP header.

Usage:

For example, if your request header starts with:

REGISTER sip:172.16.44.8:5061 SIP/2.0

Then the value of this field would be:

5061

However, if your request header does not contain a port, then the value for this field would be your default SIP port (usually 5060) - for example;

REGISTER sip:172.16.44.8 SIP/2.0

See also: TODO

Implemented By: TODO

sip_require_timer

FS requires timer by default on session refresh unless its t.38 re-invite. To disable the require timer on session refresh, set it to false.

Usage:

<action application="set" data="sip_require_timer=false" />

See also:

Implemented By:

Module NameSource FileLast Revised

sip_route_uri

This sets where the INVITE packet should actually be sent to.

This should normally be needed in situations where the TO field contains a hostname which points back at itself, and would cause an endless loop if this variable is not set.

Usage:

Very simple usage, set during bridge immediately before the endpoint to bridge to.

bridge {sip_route_uri=sip

or

A real-life example where this was needed. It changes the Request-URI and sends the INVITE packet to the correct destination by looking up the contact details for the registered endpoint. This is used to send an incoming call to a registered endpoint (PBX in this case) but set a Request-URI so the call can be routed by the receiving party. Without the sip_route_uri variable set, the call would loop back to FreeSWITCH endlessly until the originating party cancels the call.

The incoming number routes to another extension, and exports the original dialled DDI (as dialled_ddi) so this can be used with this bridge command.

bridge {sip_route_uri=sip

See also:

Variable sip invite req uri

[ Bug Report FS-5349] (which isn't a bug as such, but gives solution to a scenario where this variable is required)

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c12408

sip_rtp_rxstat

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7427

sip_rtp_txstat

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7427

sip_sticky_contact

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c8391
mod_sofiasofia_glue.c8888

sip_subject

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c5089

sip_term_cause

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c12676

sip_term_status

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c12676

sip_to_comment

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7190

sip_to_host

Hostname part of the 'To' SIP header.

Usage:

For example, if your request header contains:

To: <sip:1000@server.example.com>;tag=0e70ba56

Then the value for this field would be:

server.example.com

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c7067
mod_sofiasofia.c6874

sip_to_port

Port part of the 'To' SIP header.

Usage:

For example, if your request header contains:

To: <sip:1000@server.example.com:5661>;tag=0e70ba56

Then the value for this field would be:

5661

However, if your request header does not contain a port, then the value for this field would be your default SIP port (usually 5060) - for example;

To: <sip:1000@server.example.com>;tag=0e70ba56

See also: TODO

Implemented By: TODO

sip_to_uri

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c7347
mod_sofiasofia.c6874

sip_to_user

Username part of the 'To' SIP header.

Usage:

To set manually, use:

<action application="set" data="sip_to_user=whatevah" />

For example, if your request header contains:

To: <sip:1000@server.example.com>;tag=0e70ba56

Then the value for this field would be:

1000

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6874

sip_transport

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c7268

sip_use_gateway

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c10222
mod_sofiasofia_reg.c9068

sip_user_agent

User agent part of the SIP header.

Usage: For example, if your request header contains:

User-Agent: FreeSWITCH-mod_sofia/1.2.0-rc2+git~20120713T162602Z~0afd7318bd+unclean~20120713T184029Z

Then the value of this field would be:

FreeSWITCH-mod_sofia/1.2.0-rc2+git~20120713T162602Z~0afd7318bd+unclean~20120713T184029Z

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c9170

sip_via_host

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c4819

sip_via_port

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c4819

sip_via_protocol

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c9923

sip_via_rport

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c4819

sip_video_fmtp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c7546

sip_video_pt

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c7582

socket_host

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_event_socketmod_event_socket.c7766

socket_path

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_event_socketmod_event_socket.c7749

SOFIA_CRYPTO_MANDATORY_VARIABLE

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c7746

SOFIA_HAS_CRYPTO_VARIABLE

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c7244

sofia_profile_domain_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7313

sofia_profile_name

The name of the profile of which the call originated (Leg A).

This should NOT be confused with sip_profile_name.

Usage:

Call from user on external profile

sofia_profile_name=external

Call from user on internal profile

sofia_profile_name=internal

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c5739
mod_sofiasofia_glue.c5739

sofia_record_file

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6952

SOFIA_REFER_TO_VARIABLE

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c7008

SOFIA_REPLACES_HEADER

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c9530
mod_sofiasofia_glue.c6120

SOFIA_SECURE_MEDIA_CONFIRMED_VARIABLE

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c7244

SOFIA_SECURE_MEDIA_VARIABLE

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c10228
mod_sofiasofia_glue.c7779

SOFIA_SESSION_TIMEOUT

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiamod_sofia.c6347
mod_sofiasofia_glue.c6003

sound_prefix

Directory prefix where the sounds lives.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c11108

star_replace

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_play_say.c5908

start_epoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

start_stamp

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

start_uepoch

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

stream_prebuffer

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_spidermonkeymod_spidermonkey.c8689
coreswitch_cpp.cpp5374
coreswitch_ivr_play_say.c5302

supress_cng

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c9648

SWITCH_PLAYBACK_TERMINATOR_USED

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c10489

SWITCH_UUID_BRIDGE

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_bridge.c8686

sip_auto_simplify

If FreeSWITCH detects that it can remove itself from the SIP and RTP path (such as the haripin scenario) then it will issue REINVITEs the necessary endpoints.

Usage:

<action application="set" data="timer_name=soft" />

See also: uuid_simplify

tone_detect_expires

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c11309

tone_detect_sleep

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_async.c11309

transfer_fallback_extension

It's an extension the channel falls back to on failed transfer. Set it before the transfer. For example, if you transfer to some invalid or unavailable ext, it will then "fall back" to the ext set in the var.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia.c6908

transfer_history

Description goes here

Usage:

Example needed.

See also:

Implemented By:

Module NameSource FileLast Revised
?

transfer_ringback

This will set the ring tone for answered calls. This is any call that has been setup. One example would be the tone to play during transfer. The following example uses the French ringtone defined in ~/autoload_configs/switch.conf.xml

Usage:

<action application="set" data="transfer_ringback=$${fr-ring}" />

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr_originate.c9095

transfer_source

Description goes here

Usage:

Example needed.

See also:

Implemented By:

Module NameSource FileLast Revised
?

tts_engine

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c5876
coreswitch_ivr_menu.c12297
coreswitch_ivr_play_say.c8686

tts_voice

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c5876
coreswitch_ivr_menu.c12297
coreswitch_ivr_play_say.c8686

uduration

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c6917

UNIQUEID

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dialplan_asteriskmod_dialplan_asterisk.c6205

user_context

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c6641
mod_sofiasofia.c6641

user_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_ivr.c9056

verbose_presence

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_session.c9363

video_possible

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_sofiasofia_glue.c8542

video_read_codec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c7565

video_read_rate

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c7565

video_write_codec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c7565

video_write_rate

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c7565

vm_cc

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also: Mod_voicemail#vm_cc

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c12850

vm_message_ext

Determines in which format the voicemail message is saved.

This variable is set in the dial plan.

Valid values are (not exhaustive):

  • mp3
  • wav

Usage example:

<action application="set" data="vm_message_ext=mp3"/>

See also:

vm-message-ext

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c9098

vmd_detect

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_vmdmod_vmd.c10643

vname

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c8776

voicemail_account

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_alternate_greet_id

Overrides the ID the voicemail application reads back. I.e. to say a phone number instead of the user ID.

Usage:

<user id="johnsmith" number-alias="1000">

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c10594

voicemail_authorized

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6804

voicemail_caller_id_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_caller_id_number

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_current_folder

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c8689

voicemail_domain

Description needed! Please contribute one.

Usage: This variable will change the domain name in the sender email address, when mod_voicemail emails a voicemail message.

from conf/directory/default/1010.xml:

<include> <user id="1010" mailbox="1010"> <params> <param name="password" value="password" /> <param name="vm-password" value="1010" /> </params> <variables> <variable name="voicemail_domain" value="speakblast.com" /> </variables> </user></include>

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_domain_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_email

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_file_path

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_greeting_number

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_greeting_path

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c10569

voicemail_id

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_message_len

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_priority

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_profile_name

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_read_flags

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_time

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_total_new_messages

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_total_saved_messages

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_urgent_new_messages

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

voicemail_urgent_saved_messages

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_voicemailmod_voicemail.c6984

waitmsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3603

waitsec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3582

waitusec

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_channel.c3624

write_rate

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
coreswitch_core_codec.c10045

xfer_uuids

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_dptoolsmod_dptools.c7885

xml_cdr_base

Description needed! Please contribute one.

Usage:

Example needed! Please contribute one.

See also:

Implemented By:

Module NameSource FileLast Revised
mod_xml_cdrmod_xml_cdr.c6708

https://freeswitch.org/confluence/display/FREESWITCH/Variables