FreeSWITCH学习笔记:通道变量

本文更新于2022-12-19,使用FreeSWITCH 1.10.7。

官方文档见:https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables+Catalog

通道变量与info应用程序输出变量的对应关系见官方文档:https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables

  • ani:主叫的ANI,一般与caller_id_number相同。
  • aniii:主叫的ANI II,如果有的话。
  • answered_time:应答时间。
  • billsec:计费时长。从应答开始到呼叫结束。
  • bridge_hangup_cause:记录b腿bridge失败的原因。
  • bypass_media:来话是否启用媒体绕过模式。
  • caller_id_name:主叫名称。
  • caller_id_number:主叫号码。
  • channel_name:Channel名称。
  • context:Dialplan当前的Context。
  • continue_on_fail:当bridge失败时是否继续执行后面的action。还可以为挂断原因的逗号分隔的列表,挂断原因见originate_disposition。
  • created_time:创建时间。
  • destination_number:被叫号码。
  • detect_speech_result:语音识别结果。
  • dialplan:使用的Dialplan模块的名字,如XML、YAML、lua、enum、asterisk、lcr等。
  • direction:呼叫方向,Inbound或Outbound。
  • domain:租户域。
  • domain_name:租户域的名字。
  • dtmf-type:DTMF类型。inband为使用带内DTMF,info为使用SIP的INFO消息。
  • duration:呼叫时长。从呼叫开始到呼叫结束。
  • effective_caller_id_number:设置在a-leg上,但影响b-leg的主叫号码显示。
  • enable_file_write_buffering:录音时是否先写到内存缓冲区中,以减少IO访问。默认为true。默认缓冲区大小是65536字节。
  • end_stamp:结束时间。
  • execute_on_answer:应答时的钩子。格式为:APP [ARG[ ...]]。
  • fifo_bridge_uuid:呼叫取回时指定来话Channel。
  • fifo_caller_exit_key:退出呼叫队列等待的按键。
  • fifo_caller_exit_to_orbit:退出呼叫队列等待时是否转至其它号码。如否则直接退出。
  • fifo_chime_freq:呼叫队列等待时给来话播放提示音的间隔秒数。
  • fifo_chime_list:呼叫队列等待时每隔一段时间给来话播放的提示音。
  • fifo_music:呼叫停泊时播放的音乐。
  • fifo_orbit_announce:坐席接听时先给来话播放的提示音。
  • fifo_orbit_context:等待超时转至的Context。
  • fifo_orbit_dialplan:等待超时转至的Dialplan。
  • fifo_orbit_exten:等待超时转至的号码。格式为USERNAME:TIMEOUTSEC。
  • fifo_override_announce:坐席接听后在来话通话前给坐席播放的提示音。
  • fifo_position:来话在当前队列中的位置。执行过程自动产生。
  • fifo_priority:将来话放至呼叫队列的优先级。1至10,默认为5,越大优先级越高。
  • fifo_serviced_by:为来话服务的坐席Channel。执行过程自动产生。
  • hangup_after_bridge:在bridge正常完成后是否挂机,不继续执行后面的action。
  • hangup_time:挂机时间。
  • ignore_early_media:忽略早期媒体,避免被认为已接听。
  • instant_ringback:见《FreeSWITCH权威指南》P219。
  • is_loopback:通道是否是由loopback呼叫字符串创建的。
  • leg_timeout:等待返回媒体(如183或200)的超时时间。
  • loopback_bowout:是否令loopback呼叫字符串创建的那条额外的腿在完成使命后尽快释放。
  • network_addr:主叫的IP。
  • nibble_account:计费模块的计费账号。
  • nibble_rate:计费模块的每分钟费率。
  • origination_caller_id_name:可以设置在a-leg上,也可以设置在b-leg上,影响本leg的主叫名称显示。
  • origination_caller_id_number:可以设置在a-leg上,也可以设置在b-leg上,影响本leg的主叫号码显示。
  • origination_cancel_key:取消协商转的按键。
  • originate_disposition:记录b腿bridge失败的原因,只读。其值为挂机原因的枚举值。
  • outbound_caller_id_name:设置在a-leg上,但影响b-leg的主叫名称显示。
  • playback_delimiter:file_string中多个文件的分隔符。
  • playback_sleep_val:file_string中多个文件的播放时间间隔。
  • profile_index:Profile Index。
  • read_codec:读Codec。
  • read_rate:读采样率。
  • record_sample_rate:录音时的采样率,进行实时的转码。可为:8000、12000、16000、24000、32000、11025、22050、44100、48000。
  • RECORD_ANSWER_REQ:是否等通话被应答后才开始录音,可以防止录制不必要的早期媒体。默认为false。
  • RECORD_APPEND:如录音文件已存在,是否在文件后追加录音而不是覆盖文件,可用于电话中断重新建立后重新录音。默认为false。
  • RECORD_ARTIST:文件元信息之一。
  • RECORD_BRIDGE_REQ:是否等当前的Channel与其它Channel桥接后才开始录音,可以防止录制不必要的早期媒体。
  • RECORD_COMMENT:文件元信息之一。
  • RECORD_COPYRIGHT:文件元信息之一。
  • RECORD_DATE:文件元信息之一。
  • RECORD_FINAL_TIMEOUT_MS:录音过程中检测不到声音的超时毫秒数,超时则停止录音。
  • RECORD_HANGUP_ON_ERROR:录音失败时是否挂断电话。默认为false。
  • RECORD_INITIAL_TIMEOUT_MS:从录音开始检测不到声音的超时毫秒数,超时则停止录音。
  • RECORD_MIN_SEC:最小录音秒数。如小于该值,则删除录音文件。默认为3。
  • RECORD_READ_ONLY:是否只录读方向的录音。
  • RECORD_SILENCE_THRESHOLD:静音能量阈值,小于该值认为是静音。默认为200。
  • RECORD_SOFTWARE:文件元信息之一。
  • RECORD_STEREO:是否录制立体声。
  • RECORD_STEREO_SWAP:是否录制立体声,同时将左右声道互换。
  • RECORD_TITLE:文件元信息之一。
  • RECORD_WRITE_ONLY:是否只录写方向的录音。
  • rdnis:原被叫号码,一般用于呼叫转移时。
  • rtp_auto_adjust:是否启用RTP自动调整。
  • source:呼叫来源,来自哪一个FreeSWITCH模块,如mod_sofia、mod_portaudio、mod_freetdm等。
  • start_stamp:开始时间。
  • state:当前Channel的状态。
  • state_number:当前Channel的状态整数值。
  • transfer_after_bridge:通话结束后再转移到呼叫此号码,重新等待。
  • transfer_ringback:见《FreeSWITCH权威指南》P218。
  • transfer_time:转移时间。
  • tts_engine:TTS引擎。
  • tts_voice:TTS嗓音。
  • username:用户名。
  • uuid:Channel的UUID。
  • write_codec:写Codec。
  • write_rate:写采样率。
posted @ 2022-12-19 22:49  garvenc  阅读(2879)  评论(0编辑  收藏  举报