[Freeswitch-dev] INFO: Channel variables
Michael Collins
mcollins at fcnetwork.com
Sat Jun 7 12:44:19 EDT 2008
Both of your comments are duly noted we will make sure to doc the case
insensitivity we will also document the latest variable you just added
regarding SIP call ID
-MC
________________________________
From: freeswitch-dev-bounces at lists.freeswitch.org
[mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of
Anthony Minessale
Sent: Saturday, June 07, 2008 8:37 AM
To: freeswitch-dev at lists.freeswitch.org
Subject: Re: [Freeswitch-dev] INFO: Channel variables
right now the variable names are not case sensitive anyway. It's
probably too late to change that so.... =D
On Sat, Jun 7, 2008 at 6:30 AM, UV <uv at talknet.com.au> wrote:
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
_______________________________________________
Freeswitch-dev mailing list
Freeswitch-dev at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale at hotmail.com
<mailto:MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
<mailto:PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
<mailto:sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org
<mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:213-799-1400
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20080607/8a936eb2/attachment-0001.html
More information about the Freeswitch-dev
mailing list