FreeSWITCH学习笔记:内部命令

官方文档见:mod_commands | FreeSWITCH Documentation

说明:下文中,部分大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。

在freeswitch或fs_cli可执行以下内部命令:

(输入制表符可补全命令,输入空格再输入制表符可补全子命令。只输入命令不输入参数,或输入错误的参数,都会提示用法。)

  • bgapi API [ARG [ ...]]:将API命令放到后台执行。
  • callcenter_config agent add AGENT callback|uuid_standby:向呼叫中心添加坐席。
  • callcenter_config agent list:列出呼叫中心所有坐席。
  • callcenter_config agent set ATTRIBUTE AGENT VALUE:设置呼叫中心坐席的属性。
  • callcenter_config queue list:列出所有呼叫中心所有队列。
  • callcenter_config tire list:列出呼叫中心所有梯队。
  • cdr_csv rotate:令CSV话单文件轮替。
  • conference:查看会议命令的帮助。
  • conference CONFERENCE agc MEMBERID|all|last|non_moderator VALUE:启用自动增益控制(Auto Gain Control)。
  • conference CONFERENCE bgdial CALLURL [CALLERIDNUMBER] [CALLERIDNAME]:从会议呼出,令对方加入会议。其是非阻塞的。
  • conference CONFERENCE chkrecord [FILEPATH]:检查会议录音情况。
  • conference CONFERENCE clear-vid-floor:取消视频会议的floor。
  • conference CONFERENCE deaf MEMBERID|all|last|non_moderator:将会议成员禁听。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE dial CALLURL [CALLERIDNUMBER] [CALLERIDNAME]:从会议呼出,令对方加入会议。其是阻塞的。
  • conference CONFERENCE dtmf MEMBERID|all|last|non_moderator DIGITS:向会议成员发送DTMF。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE energy MEMBERID|all|last|non_moderator VALUE:设置会议成员的能量值(音量超过此值才能混音到会议桥中)。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE enter_sound file FILEPATH:设置会议成员进入时向其它成员播放声音的文件。
  • conference CONFERENCE enter_sound none:设置会议成员进入时向其它成员播放声音为静音。
  • conference CONFERENCE enter_sound off:设置会议成员进入时向其它成员播放声音为禁用。
  • conference CONFERENCE enter_sound on:设置会议成员进入时向其它成员播放声音为启用。
  • conference CONFERENCE exit_sound file FILEPATH:设置会议成员退出时向其它成员播放声音的文件。
  • conference CONFERENCE exit_sound none:设置会议成员退出时向其它成员播放声音为静音。
  • conference CONFERENCE exit_sound off:设置会议成员退出时向其它成员播放声音为禁用。
  • conference CONFERENCE exit_sound on:设置会议成员退出时向其它成员播放声音为启用。
  • conference CONFERENCE file_seek [+|-]VALUE MEMBERID:会议中播放声音文件的快进、快退。
  • conference CONFERENCE floor MEMBERID|last:将会议成员设置为floor。没什么用。
  • conference CONFERENCE get PARAM:获取会议参数的值。参数有max_members、sound_prefix、caller_id_name、caller_id_number、endconference_grace_time。
  • conference CONFERENCE hup MEMBERID|all|last|non_moderator:挂断会议成员。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE kick MEMBERID|all|last|non_moderator:从会议中踢出成员。可指定所有成员、最后加入的成员、非主席成员。
  • conference [CONFERENCE] list:列出会议的成员。
  • conference CONFERENCE lock:锁定会议,别人无法加入。
  • conference CONFERENCE mute MEMBERID|all|last|non_moderator:将会议成员禁言。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE nopin:取消会议的密码。
  • conference CONFERENCE norecord [FILEPATH|all]:停止会议录音。
  • conference CONFERENCE pause [FILEPATH]:暂停会议中声音文件的播放,或暂停会议录音。
  • conference CONFERENCE pin PIN:设置会议的密码。
  • conference CONFERENCE play FILEPATH [MEMBERID]:向会议中播放声音文件,可指定成员。
  • conference CONFERENCE record FILEPATH:对会议录音。
  • conference CONFERENCE recording check|pause|resume|start|stop FILEPATH|all:如在会议的Profile中设置了录音摸板,则可如此检查/暂停/恢复/开始/停止录音。
  • conference CONFERENCE relate MEMBERID1[,...] MEMBERID2[,...] clear:清除会议成员前者和后者之间可否听到的关系。
  • conference CONFERENCE relate MEMBERID1[,...] MEMBERID2[,...] nohear:令会议成员后者听不到前者。
  • conference CONFERENCE relate MEMBERID1[,...] MEMBERID2[,...] nospeak:令会议成员后者说话前者听不到。
  • conference CONFERENCE resume [FILEPATH]:恢复会议录音。
  • conference CONFERENCE say TEXT:在会议中使用TTS播放文本。
  • conference CONFERENCE saymember MEMBERID TEXT:在会议中仅向某个成员使用TTS播放文本。
  • conference CONFERENCE set PARAM VALUE:设置会议参数的值。参数有max_members、sound_prefix、caller_id_name、caller_id_number、endconference_grace_time。
  • conference CONFERENCE stop all|current|last [MEMBERID]:停止会议中声音文件的播放。可指定所有正在播放、当前正在播放、最后播放。
  • conference CONFERENCE tmute MEMBERID|all|last|non_moderator:切换会议成员的禁言/不禁言状态。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE transfer OTHERCONFERENCE MEMBERID[ ...]:将会议成员转到另一个会议。
  • conference CONFERENCE undeaf MEMBERID|all|last|non_moderator:取消对会议成员的禁听。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE unlock:解锁会议,允许加入。
  • conference CONFERENCE unmute MEMBERID|all|last|non_moderator:取消对会议成员的禁言。可指定所有成员、最后加入的成员、非主席成员。
  • conference CONFERENCE vid-floor MEMBERID|last [force]:将视频会议成员设置为持有floor,在视频会议中所有成员都看到持有floor成员的画面。如指定force则固定成员,不再根据声音大小自动切换画面。
  • conference CONFERENCE volume_in MEMBERID VALUE:设置会议成员的输入音量。
  • conference CONFERENCE volume_out MEMBERID VALUE:设置会议成员的输出音量。
  • conference [CONFERENCE] xml_list:列出会议的成员,XML格式。
  • console loglevel console|alert|crit|err|warning|notice|info|debug:设置控制台日志等级。
  • curl URL:与HTTP服务器交互。
  • db delete|insert|select:持久化数据库存储。
  • distributor LIST:从号码连选的列表中选择一个节点名称。
  • echo STR[ ...]:原样输出字符串。
  • esf_page_group [MULTICASTIP MULTICASTPORT CONTROLPORT] :发送组播RTP包。三个参数的默认值依次为:224.168.168.168、34567、6061。
  • expand API [ARG [ ...]]:将${}$${}引起的变量替换为实际值后再执行API命令。
  • expr EXPR[;...]:计算表达式结果。EXPR可为:
    • 数学表达式:如1+1。
    • 函数:
      • ceil(NUMBER):向上取整。
      • random(BEGIN,END,&SEED):获取区间之间的随机数。
      • randomize(&SEED):设置随机数种子。
  • fifo list [LIST]:查看呼叫队列的状态。
  • fifo reparse:重新解析呼叫队列的配置。
  • fifo_member add LIST CALLURL:动态增加呼叫队列坐席。
  • fifo_member del LIST CALLURL:动态删除呼叫队列坐席。
  • fsctl crash:令FreeSWITCH崩溃。
  • fsctl max_sessions [VALUE]:查看或设置呼叫最大并发数。
  • fsctl sps [VALUE]:查看或设置每秒最大呼叫数。
  • global_getvar VAR:查看全局变量的值。
  • hash delete/HASH/KEY:删除内存中哈希表数据结构的键值对。
  • hash insert/HASH/KEY/VALUE:插入内存中哈希表数据结构的键值对。
  • hash select/HASH/KEY:获取内存中哈希表数据结构的键值对的值。
  • help:查看帮助。
  • hupall:挂断所有通话。
  • jsrun JSFILEPATH:执行JavaScript脚本。
  • load MOD:加载模块。
  • lua LUAFILEPATH [ARG [ ...]]:执行Lua脚本。在当前线程执行,会阻塞当前线程。
  • luarun LUAFILEPATH [ARG [ ...]]:执行Lua脚本。在新线程执行,不会阻塞当前线程。
  • nat_map status:查看NAT端口映射状态。
  • originate CALLURL EXTEN|&APP(ARG[ ...]) [DIALPLAN] [CONTEXT] [CALLERIDNAME] [CALLERIDNUMBER] [TIMEOUTSEC]:发起对CALLURL的呼叫,接听后将另一端转入Dialplan路由至EXTEN或执行APP。当使用XML Dialplan时EXTEN为另一个号码;当使用inline Dialplan时EXTEN为[m:C:]APP[:ARG][,...,APPN[:ARGN]],如果ARG有空格则需使用单引号括起,如ARG有逗号则将分隔符替换为字符C。DIALPLAN默认为XML。inline Dialplan会忽略CONTEXT,Lua Dialplan的CONTEXT为Lua文件路径。CALLERIDNAME为来电显示的名字,CALLERIDNUMBERBER为来电显示的号码。TIMEOUTSEC为对方收到INVITE消息后不回复100 Trying的超时秒数。会阻塞并在收到媒体指示后返回(如183或200消息)。
  • pa answer:接听电话。
  • pa call USERNAME:呼叫用户。
  • pa devlist:列出portaudio模块发现的设备。
  • pa hangup:挂机。
  • pa indev #N:使用第N个设备作为输入设备。
  • pa looptest:echo回路测试。
  • pa outdev #N:使用第N个设备作为输出设备。
  • python PYFILEPATH:执行Python脚本。文件路径为相对于Python的查找目录(如/usr/lib/python2.7/dist-packages/)。
  • regex STR | REGEX [| REPLACEMENT]:测试字符串STR是否匹配正则表达式REGEX,如有REPLACEMENT则使用其替换匹配的内容。REPLACEMENT可以使用$N%N的形式引用匹配的分组。
  • reload MOD:重新加载模块。
  • reloadxml:重新加载XML配置文件。
  • rtmp status:查看RTMP状态。
  • rtmp_contact [PROFILE/]USERNAME[@DOMAIN]:返回使用RTMP的已注册用户的联系地址。
  • show channels:查看正在通话的通道。
  • show codec:查看可用的编解码类型及其支持模块。
  • show dialplan:查看可用的Dialplan及其支持模块。
  • show file:查看可用的文件类型及其支持模块。
  • show nat_map:查看NAT端口映射关系。
  • shutdown:停止FreeSWITCH。
  • sofia global capture on|off:开启/关闭所有Profile的Homer方式抓包。
  • sofia global siptrace on|off:开启/关闭所有Profile的SIP消息打印。
  • sofia help:查看帮助。
  • sofia loglevel all|default|tport|iptsec|nea|nta|nth_client|nth_server|nua|soa|sresolv|stun 0|1|2|3|4|5|6|7|8|9:设置Sofia底层协议栈中指定模块的日志级别。越大信息越详细。
  • sofia profile PROFILE capture on|off:开启/关闭指定的Profile的Homer方式抓包。
  • sofia profile PROFILE flush_inbound_reg USERNAME@DOMAIN|CALLID:将指定的Profile中指定的已注册用户清除。
  • sofia profile PROFILE killgw GATEWAY:删除指定的Profile中指定的网关。
  • sofia profile PROFILE rescan:刷新指定的Profile。隐含reloadxml,并不是所有配置参数都能生效。
  • sofia profile PROFILE register GATEWAY:令指定的Profile中指定的网关立即向外注册。
  • sofia profile PROFILE restart:重启指定的Profile。隐含reloadxml。
  • sofia profile PROFILE siptrace on|off:开启/关闭指定的Profile的SIP消息打印。
  • sofia profile PROFILE start:启动指定的Profile。隐含reloadxml。
  • sofia profile PROFILE stop:停止指定的Profile。隐含reloadxml。
  • sofia profile PROFILE unregister GATEWAY:令指定的Profile中指定的网关立即向外注销。
  • sofia recover:从数据库中读出FreeSWITCH崩溃前的通话信息并恢复。
  • sofia status|xmlstatus:查看Sofia状态。
  • sofia status|xmlstatus gateway GATEWAY:查看指定网关的状态。
  • sofia status|xmlstatus profile PROFILE:查看指定的Profile的状态。
  • sofia status|xmlstatus profile PROFILE reg:查看指定的Profile所有已注册用户。
  • sofia status|xmlstatus profile PROFILE reg USERNAME:查看指定的Profile中指定的已注册用户。通过SIP的Contact头过滤。
  • sofia status|xmlstatus profile PROFILE user USERNAME@DOMAIN:查看指定的Profile中指定的已注册用户。
  • sofia tracelevel console|alert|crit|err|warning|notice|info|debug:console只会打印到控制台,不会写入日志文件。
  • sofia_contact [PROFILE/]USERNAME[@DOMAIN]:返回已注册用户的联系地址。
  • sofia_count_reg USERNAME@DOMAIN:查看该用户使用多少个客户端注册。在允许多点注册的情况下会有多个。
  • sofia_dig IP:返回其他服务器的地址和端口。类似DNS的dig。
  • sofia_presence_data list USERNAME@DOMAIN:列出指定用户的Presence信息。
  • sofia_presence_data status USERNAME@DOMAIN:列出指定用户的Presence状态。
  • sofia_presence_data user_agent USERNAME@DOMAIN:列出指定用户的Presence的user agent信息。
  • sofia_username_of USERNAME@DOMAIN:返回已注册用户的用户名。
  • status:查看服务器状态。
  • strepoch:显示当前的Unix时间戳。
  • strftime [FORMAT]:将当前时间格式化显示。
  • stun STUNSERVER:使用STUN服务器检测公网IP和端口。
  • system CLI [ARG [...]]:调用系统命令。
  • uptime:查看服务启动的秒数。
  • uuid_bridge CHANNELUUID1 CHANNELUUID2:使用UUID桥接两个通话Channel。
  • uuid_debug_media CHANNELUUID read|write|both|vread|vwrite|vboth on|off:打开/关闭指定通话Channel的媒体流调试信息。read为收,write为发,both为收发,v开头为可打印视频媒体流。每行输出包括以下信息:R或W表示收或发,呼叫字符串,b=表示RTP包大小(含包头),本地IP和端口,远端IP和端口,pt=表示载荷类型,ts=表示时间戳,m=表示RTP的Marker。
  • uuid_kill CHANNELUUID:释放通话Channel。
  • uuid_record CHANNELUUID start FILENAME:对指定的通话Channel开始录音。如不指定扩展名,则以原生格式录音。
  • uuid_record CHANNELUUID stop FILENAME|all:对指定的通话Channel停止录音。如使用all则停止通话Channel的所有录音。如不指定扩展名,则以原生格式录音。
  • uuid_setvar CHANNELUUID VAR VALUE:对指定的通话Channel设置通道变量。
  • uuid_transfer(CHANNELUUID CALLURL|lua:LUAFILENAME [DIALPLAN [CONTEXT]]):将通话重新转移到ROUTING阶段,重新去Dialplan中进行路由。
  • version:查看服务器版本。
  • xml_curl debug_on:打开mod_xml_curl模块的调试。会将每次请求得到的XML文件存放到系统临时目录中。

有些命令可以使用COMMAND help查看帮助。

示例:

originate user/1000 &echo
originate user/1000 1001
originate user/1000 1001 XML
originate user/1000 echo
originate user/1000 echo inline
originate {origination_caller_id_name=test}{effective_caller_id_name=haha}user/1000 &bridge(user/1001)

你可能感兴趣的:(freeswitch,学习,笔记,运维)