[Freeswitch-dev] INFO: Channel variables

UV uv at talknet.com.au
Sat Jun 7 07:30:43 EDT 2008


Disregard the fact it's all upper-case. It's only for clearer presentation
in the documentation.

I'll look forward seeing your finished work. Let me know if I can be of any
assistance.

 

  _____  

From: freeswitch-dev-bounces at lists.freeswitch.org
[mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Michael
Collins
Sent: Saturday, June 07, 2008 6:35 AM
To: freeswitch-dev at lists.freeswitch.org
Subject: Re: [Freeswitch-dev] INFO: Channel variables

 

  _____  

From: freeswitch-dev-bounces at lists.freeswitch.org
[mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of UV
Sent: Friday, June 06, 2008 12:20 PM
To: freeswitch-dev at lists.freeswitch.org
Subject: Re: [Freeswitch-dev] INFO: Channel variables

 

Good work, Michael!

 

This is the knowledge we've accumulated regarding the channel variables:


Channels Variables Types


*    PROTO_SPECIFIC_HANGUP_CAUSE

*    EXECUTE_ON_ANSWER - <Command><Args> - Execute A Command When The Called
Party Answer. Example: Execute_On_Answer=Lua Incrinuse.Lua ${Uuid}

*    CALL_TIMEOUT - <Seconds> - Controls How Long (In Seconds) To Ring The B
Leg Of A Call When Using The Bridge Application.

*    HOLDING_UUID

*    API_AFTER_BRIDGE

*    API_HANGUP_HOOK - <Command><Args> - Execute An Api Command On Hangup.
Example: <Action Application="Set" Data="Api_Hangup_Hook=Jsrun Cleanup.Js
${Uuid}"/>

*    PROCESS_CDR - <False|True|A_Only|B_Only> - Indicates How To Process Cdr
Records.

o     "false" indicates to not process the record.

o     "true" or undefined indicates the default behavior which is to process
all CDR records.

o     "a_only" indicates to only process CDR records on the inbound leg of a
call.

o     "b_only" indicates to only process CDR records on the outbound leg of
a call.

*    BRIDGE_CHANNEL

*    CHANNEL_NAME

*    BRIDGE_UUID

*    PLAYBACK_TERMINATORS - <Keys> - Allows You To Set Which Dtmf Tones, If
Pressed During The Playback Of A File, Will Stop It. "None" Is Valid <Keys>
And Will Stand For No Termination Keys. Example: Playback_Terminators=#*

*    CACHE_SPEECH_HANDLES

*    BYPASS_MEDIA - <True|False> - 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.

*    PROXY_MEDIA - <True|False> - 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), However It Is Lighter On The
Cpu Because Freeswitch Never Even Parses The Packets Or Processes Them In
Any Way, It Simply Forwards Them Onwards.

*    ENDPOINT_DISPOSITION

*    HOLD_MUSIC - <Audio_Path> - Per-Channel Hold Music. Supports All Audio
Formats And Audio Streams.

*    EXPORT_VARS

*    SWITCH_R_SDP - <Sdp String> - Changes The Remote Sdp Header

*    SWITCH_L_SDP - <Sdp String> - Changes The Local Sdp Header

*    SWITCH_M_SDP - <Sdp String> - Merged? Sdp

*    BRIDGE_TO - 

*    SIGNAL_BRIDGE_TO - 

*    SIGNAL_BOND

*    ORIGINATOR - 

*    ORIGINATOR_CODEC - <Codec> - Sets The Codec For Calls Originated From
Leg A (Setting The Codec For Leg B)

*    LOCAL_MEDIA_IP - 

*    LOCAL_MEDIA_PORT - 

*    REMOTE_MEDIA_IP - 

*    REMOTE_MEDIA_PORT - 

*    REMOTE_VIDEO_IP

*    REMOTE_VIDEO_PORT

*    LOCAL_VIDEO_IP

*    LOCAL_VIDEO_PORT

*    HANGUP_AFTER_BRIDGE - <True|False> - 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.

*    EXEC_AFTER_BRIDGE_APP

*    EXEC_AFTER_BRIDGE_ARG

*    MAX_FORWARDS - 

*    DISABLE_APP_LOG

*    PASS_RFC2833 - <True|False> - Passes Rfc2833 Dtmf'S From One Side Of A
Bridge To The Other Untouched. If Unset, It Decodes And Reencodes Them
Before Passing Them On.

*    DEFAULT_LANGUAGE - <Language I.E. Fr> - 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.

*    CONTINUE_ON_FAIL - <True|False|Couses> - 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.

*    CALLER_ID_NAME - <Name> - The Caller Id Name Set By The Inbound Call,
Not A Real Variable. Practically It Is Read Only.

*    CALLER_ID_NUMBER - <Number> - The Caller Id Phone Number Set By The
Inbound Call, Not A Real Variable. Practically It Is Read Only.

*    EFFECTIVE_CALLER_ID_NAME - <Name> - Sets The Effective Callerid Name.
Automatically Exported To Originated Channels. It Is A Var Set On A Channel
In Case It Becomes The A Leg Of A Bridge - It Will Use This Callerid Name On
The B Leg Outbound Call.

*    EFFECTIVE_CALLER_ID_NUMBER - <Number> - Sets The Effective Callerid
Number. Automatically Exported To Originated Channels. It Is A Var Set On A
Channel In Case It Becomes The A Leg Of A Bridge - It Will Use This Callerid
Number On The B Leg Outbound Call.

*    ABSOLUTE_CODEC_STRING - <Codec> - Sets The Absolute Codec To Use

*    CODEC_STRING - <Codecs> - Sets The Codec To Add To The List Of Codecs.

*    RECORD_ANSWER_REQ - <True|False> - Start Recording Only When The
Channel Has Been Answered.

*    RECORD_STEREO - <True|False> - Record Leg A And Leg B Streams Into
Different Channel In A Stereo File.

*    TIMER_NAME - <Soft|Other> - If Set Will Make Playback And Speak Use A
Timer To Clock The Audio Instead Of The Read.

*    FIRE_ASR_EVENTS - 

*    SOUND_PREFIX - 

*    _SOFIA_REPLACES_ - 

*    ALERT_INFO - 

*    ABSOLUTE_CODEC_STRING - <Codec> - Sets The Absolute Codec To Use

*    READ_CODEC - The Negotiated Codec Of The Inbound Call Leg.

*    WRITE_CODEC - The Negotiated Codec Of The Outbound Call Leg.

*    RECORD_RATE - <Rate> - Set The Sample Rate Of The Recording. Usage:
Record_Rate=11025

 

Recording Meta Data - The following are set prior to performing a record to
set the file header meta data provided the file format supports meta
headers. 

 

*    RECORD_TITLE - <Text> - Set Prior To Performing A Record To Set The
File Header Meta Data Provided The File Format Supports Meta Headers.

*    RECORD_COPYRIGHT - <Text> - Set Prior To Performing A Record To Set The
File Header Meta Data Provided The File Format Supports Meta Headers.

*    RECORD_SOFTWARE - <Text> - Set Prior To Performing A Record To Set The
File Header Meta Data Provided The File Format Supports Meta Headers.

*    RECORD_ARTIST - <Text> - Set Prior To Performing A Record To Set The
File Header Meta Data Provided The File Format Supports Meta Headers.

*    RECORD_COMMENT - <Text> - Set Prior To Performing A Record To Set The
File Header Meta Data Provided The File Format Supports Meta Headers.

*    RECORD_DATE - <Text> - Set Prior To Performing A Record To Set The File
Header Meta Data Provided The File Format Supports Meta Headers.


Originate Variables Types


*    FAIL_ON_SINGLE_REJECT = <true|false> - 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. 

*    IGNORE_EARLY_MEDIA = <true|false> - Controls if the call returns on
early media or not. Default is false.

*    GROUP_CONFIRM_KEY = <key> - the call acceptance DTMF key. If <key> is
"EXEC" it will run the application stated in group_confirm_file.  i.e:
group_confirm_key = 3

*    GROUP_CONFIRM_FILE = <audio_file> - sound file for asking an approval
DTMF. If group_confirm_key is "EXEC", this argument will have
<application><args> as data and will run it before executing call. i.e.
group_confirm_file = /wav/announce.wav

*    FORKED_DIAL

*    RETURN_RING_READY

*    ORIGINATE_RETRIES = <number> - number of retries 

*    ORIGINATE_RETRY_SLEEP_MS = <number> - how many milisec between retries

*    ORIGINATION_CALLER_ID_NAME = <name> - Sets the origination callerid
name. (LEG A) 

*    ORIGINATION_CALLER_ID_NUMBER = <number> - Sets the origination callerid
number. (LEG A) 

*    RINGBACK = <audio_path> - Ring back is used to specify a sound/tone to
be played for the calling user. The value is interpreted as a file if a path
is given, else as a teletone. 

*    TRANSFER_RINGBACK = <media_path> - 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 definte in ~/autoload_configs/switch.conf.xml :
transfer_ringback="$${fr-ring}"

*    ORIGINATE_TIMEOUT = <number> - duration of timeout of originate attempt

 

Since there's barely 5% match between our lists, I assume I'm completely
off.

 

 

Well, I took the variable names right out of the source code which is mostly
lower case so that might account for a lot of the differences.  However, I
will use your list as a reference just to make sure that I've not missing
anything.

 

-MC

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20080607/64a9573e/attachment-0001.html 


More information about the Freeswitch-dev mailing list