Good work, Michael!
This is the knowledge we’ve
accumulated regarding the channel variables:
·
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
·
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
·
RECORD_TITLE - <Text> - Set Prior To Performing A
Record To Set The File Header Meta Data Provided The File Format Supports
·
RECORD_COPYRIGHT - <Text> - Set Prior To
Performing A Record To Set The File Header Meta Data Provided The File Format
Supports
·
RECORD_SOFTWARE - <Text> - Set Prior To
Performing A Record To Set The File Header Meta Data Provided The File Format
Supports
·
RECORD_ARTIST - <Text> - Set Prior To Performing
A Record To Set The File Header Meta Data Provided The File Format Supports
·
RECORD_COMMENT - <Text> - Set Prior To Performing
A Record To Set The File Header Meta Data Provided The File Format Supports
·
RECORD_DATE - <Text> - Set Prior To Performing A
Record To Set The File Header Meta Data Provided The File Format Supports
·
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…
From: freeswitch-dev-bounces@lists.freeswitch.org
[mailto:freeswitch-dev-bounces@lists.freeswitch.org] On Behalf Of Michael Collins
Sent: Saturday, June 07, 2008 4:55
AM
To:
freeswitch-dev@lists.freeswitch.org
Subject: Re: [Freeswitch-dev]
INFO: Channel variables
Follow up:
Are most of these read/write? Are
there any that are by definition read-only? If so, could someone in the
know point those out and I will get with Ray to make sure that we get the
channel variables wiki page is updated.
Thanks,
MC
From:
freeswitch-dev-bounces@lists.freeswitch.org
[mailto:freeswitch-dev-bounces@lists.freeswitch.org] On Behalf Of Brian West
Sent: Friday, June 06, 2008 9:58
AM
To:
Subject: Re: [Freeswitch-dev]
INFO: Channel variables
Forgot the ones in switch_types.h ;)
/b
On Jun 6, 2008, at 11:41 AM,
Guys,
I made a list by grepping and perling
around in the source.
grep -Pr
"c(.)(\s+)switch_channel_set_variable\(channel, \"" * | grep -v
"Binary" > /tmp/chan_vars.tmp
This gave me a massive list of all
filenames and occurrences of “switch_channel_set_variable” with a
channel variable explicitly named in quotes.
I then filtered out stuff with svn in the
source filename and then create a tab-separated list of chan variables and
source filenames. Finally, I distilled that list with this script:
perl -n -e
'm/(\w+)\t(.*)/;next if (exists($seen{$1}));print $1 . "\t" . $2 .
"\n";$seen{$1}=$2;' /tmp/chan_vars3.tmp
This yielded a nice list of variables.
Let me know what you think about using this as the base list for channel
variables on the wiki:
Variable
Source File:
limit_realm
mod/applications/mod_limit/mod_limit.c
limit_id
mod/applications/mod_limit/mod_limit.c
limit_max
mod/applications/mod_limit/mod_limit.c
enum_route_count
mod/applications/mod_enum/mod_enum.c
enum_auto_route
mod/applications/mod_enum/mod_enum.c
voicemail_total_new_messages
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_total_saved_messages
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_urgent_new_messages
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_urgent_saved_messages
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_current_folder
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_account
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_domain
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_caller_id_number
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_caller_id_name
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_file_path
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_read_flags
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_time
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_priority
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_message_len
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_email
mod/applications/mod_voicemail/mod_voicemail.c
RECORD_ARTIST
mod/applications/mod_voicemail/mod_voicemail.c
RECORD_DATE
mod/applications/mod_voicemail/mod_voicemail.c
RECORD_SOFTWARE
mod/applications/mod_voicemail/mod_voicemail.c
RECORD_TITLE
mod/applications/mod_voicemail/mod_voicemail.c
RECORD_COMMENT
mod/applications/mod_voicemail/mod_voicemail.c
RECORD_COPYRIGHT
mod/applications/mod_voicemail/mod_voicemail.c
voicemail_notify_email
mod/applications/mod_voicemail/mod_voicemail.c
mailbox
mod/applications/mod_dptools/mod_dptools.c
user_name
mod/applications/mod_dptools/mod_dptools.c
domain_name
mod/applications/mod_dptools/mod_dptools.c
xfer_uuids
mod/applications/mod_dptools/mod_dptools.c
dialed_user
mod/applications/mod_dptools/mod_dptools.c
dialed_domain
mod/applications/mod_dptools/mod_dptools.c
sip_force_video_fmtp
mod/applications/mod_fsv/mod_fsv.c
fifo_priority
mod/applications/mod_fifo/mod_fifo.c
fifo_status
mod/applications/mod_fifo/mod_fifo.c
fifo_timestamp
mod/applications/mod_fifo/mod_fifo.c
fifo_target
mod/applications/mod_fifo/mod_fifo.c
dl_user
mod/endpoints/mod_dingaling/mod_dingaling.c
dl_host
mod/endpoints/mod_dingaling/mod_dingaling.c
dl_from_user
mod/endpoints/mod_dingaling/mod_dingaling.c
dl_from_host
mod/endpoints/mod_dingaling/mod_dingaling.c
sip_nat_detected
mod/endpoints/mod_sofia/sofia_glue.c
sofia_profile_name
mod/endpoints/mod_sofia/sofia_glue.c
auto_answer_destination
mod/endpoints/mod_sofia/sofia.c
sip_user_agent
mod/endpoints/mod_sofia/sofia.c
sip_rtp_txstat
mod/endpoints/mod_sofia/sofia.c
sip_rtp_rxstat
mod/endpoints/mod_sofia/sofia.c
sip_call_id
mod/endpoints/mod_sofia/sofia.c
sip_authorized
mod/endpoints/mod_sofia/sofia.c
sip_term_status
mod/endpoints/mod_sofia/sofia.c
sip_term_cause
mod/endpoints/mod_sofia/sofia.c
transfer_fallback_extension
mod/endpoints/mod_sofia/sofia.c
call_clientcode
mod/endpoints/mod_sofia/sofia.c
sofia_record_file
mod/endpoints/mod_sofia/sofia.c
sip_received_ip
mod/endpoints/mod_sofia/sofia.c
sip_received_port
mod/endpoints/mod_sofia/sofia.c
sip_looped_call
mod/endpoints/mod_sofia/sofia.c
sip_from_user_stripped
mod/endpoints/mod_sofia/sofia.c
sip_from_comment
mod/endpoints/mod_sofia/sofia.c
sofia_profile_domain_name
mod/endpoints/mod_sofia/sofia.c
sip_to_comment
mod/endpoints/mod_sofia/sofia.c
sip_referred_by_user_stripped
mod/endpoints/mod_sofia/sofia.c
sip_referred_by_cid
mod/endpoints/mod_sofia/sofia.c
sip_subject
mod/endpoints/mod_sofia/sofia.c
sip_via_host
mod/endpoints/mod_sofia/sofia.c
sip_via_port
mod/endpoints/mod_sofia/sofia.c
sip_via_rport
mod/endpoints/mod_sofia/sofia.c
sip_gateway
mod/endpoints/mod_sofia/sofia.c
alert_info
mod/endpoints/mod_sofia/sofia.c
presence_id
mod/endpoints/mod_sofia/sofia.c
call_timeout
mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
EXTEN
mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
CHANNEL
mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
UNIQUEID
mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
socket_path
mod/event_handlers/mod_event_socket/mod_event_socket.c
socket_host
mod/event_handlers/mod_event_socket/mod_event_socket.c
last_file_position
mod/languages/mod_spidermonkey/mod_spidermonkey.c
hangup_cause
switch_channel.c
endpoint_disposition
switch_channel.c
start_stamp
switch_channel.c
profile_start_stamp
switch_channel.c
answer_stamp
switch_channel.c
progress_stamp
switch_channel.c
progress_media_stamp
switch_channel.c
end_stamp
switch_channel.c
start_epoch
switch_channel.c
start_uepoch
switch_channel.c
profile_start_epoch
switch_channel.c
profile_start_uepoch
switch_channel.c
answer_epoch
switch_channel.c
answer_uepoch
switch_channel.c
end_epoch
switch_channel.c
end_uepoch
switch_channel.c
last_app
switch_channel.c
last_arg
switch_channel.c
caller_id
switch_channel.c
duration
switch_channel.c
billsec
switch_channel.c
progresssec
switch_channel.c
progress_mediasec
switch_channel.c
flow_billsec
switch_channel.c
mduration
switch_channel.c
billmsec
switch_channel.c
progressmsec
switch_channel.c
progress_mediamsec
switch_channel.c
flow_billmsec
switch_channel.c
uduration
switch_channel.c
billusec
switch_channel.c
progressusec
switch_channel.c
progress_mediausec
switch_channel.c
flow_billusec
switch_channel.c
read_codec
switch_core_codec.c
read_rate
switch_core_codec.c
write_codec
switch_core_codec.c
write_rate
switch_core_codec.c
video_read_codec
switch_core_codec.c
video_read_rate
switch_core_codec.c
video_write_codec
switch_core_codec.c
video_write_rate
switch_core_codec.c
sound_prefix
switch_ivr_play_say.c
_______________________________________________
Freeswitch-dev mailing list
Freeswitch-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org