智能语音电话机器人源码部署 mod 命令集

关于
mod_commands处理可通过其控制台,fs_cli,事件套接字接口和脚本接口发布到FreeSWITCH的API命令。

可用命令集取决于加载的模块。安装的权威命令集是每个模块注册的命令集的并集。

要查看可用API命令列表,只需在CLI中键入help或show api。

XAPI /事件接口

mod_event_socket
mod_erlang_event
mod_xml_rpc
脚本接口
的mod_perl
mod_v8
mod_python的
mod_lua
来自拨号方案
可以从拨号方案中调用API命令。例:

image.png

其他例子:

image.png

具有多个参数的API命令通常将参数分隔为空格:

image.png

拨号方案用法

如果您从拨号方案调用API命令,请确保没有拨号方案应用程序为您提供所需的功能。有关拨号方案应用程序列表,请参阅mod_dptools,它们非常广泛。

提取脚本
Mitch Capper写了一个Perl脚本来从mod_commands源代码中提取命令。它专门为从mod_commands中提取而定制,但应该适用于大多数其他文件。

提取Perl脚本扩展源代码

核心命令
在http://fisheye.freeswitch.org/browse/freeswitch.git/src/mod/applications/mod_commands/mod_commands.c中实现

返回数据的格式

默认情况下,某些状态和列表命令的结果以逗号分隔的列表显示。从某些模块返回的数据也可能包含逗号,因此很难自动执行结果处理。通过将字符串“as xml”附加到命令字符串的末尾,或者使用“as json”作为json,或者使用“as delim |”将分隔符从逗号更改为其他内容,可以以XML格式检索它们。 ”。

ACL
将ip与访问控制列表进行比较

用法:acl <list_name>
别号
别名:一种在常用命令上保存一些击键的方法。

用法:别名add | del [<别名> | *]
例:

freeswitch> alias add reloadall reloadacl reloadxml

  • OK
    freeswitch> alias add unreg sofia profile internal flush_inbound_reg
  • OK
    您可以使用stickyadd参数添加在重新启动时保留的别名:

freeswitch> alias stickyadd reloadall reloadacl reloadxml

  • OK
    只有真正适用于控制台,而不是fs_cli。

bgapi
在线程中执行API命令。

用法:bgapi []
完成
完成。

用法:完成添加 | del [ | *]
条件
评估条件表达式。

用法:cond ?:
expr支持的运营商是:

==平等<小于>大于
例:

如果第一个val大于第二个,则返回true

cond 5> 3?真假真正
拨号方案中的示例:

<action application =“set”data =“voicemail_authorized = $ {cond($ {sip_authorized} == true?true:false)}”/>
稍微复杂的例子:

<action application =“set”data =“voicemail_authorized = $ {cond($ {sip_acl_authed_by} == domains?false:$ {cond($ {sip_authorized} == true?true:false)})}”/>
注意语法

自FS-5945以来,需要在questionmark和冒号周围的空格。在此之前,它们是可选的。如果缺少空格,cond函数将返回-ERR。

domain_exists
检查FreeSWITCH域是否存在。

用法:domain_exists
EVAL
Eval(noop)。计算字符串,扩展变量。仅在呼叫会话期间设置的那些变量需要所需会话的uuid,否则返回“-ERR no reply”。

用法:eval [uuid:]
例子:

eval $ {domain}10.15.0.94
你好,世界!你好,世界!
eval uuid:e72aff5c-6838-49a8-98fb-84c90ad840d9 $ {channel-state}CS_EXECUTE
扩大
执行带有变量扩展的API命令。

用法:展开[uuid:]
例:

扩展原始索菲亚/内部/ 1001%$ {domain} 9999
在此示例中,$ {domain}的值已展开。例如,如果域名为“192.168.1.1”,则执行此命令:

发起索菲亚/内部/ 1001%192.168.1.1 9999
FSCTL
将控制消息发送到FreeSWITCH。

用法:fsctl
[
api_expansion [on | off] |
calibrate_clock |
debug_level [level] |
debug_sql |
default_dtmf_duration [n] |
flush_db_handles |
hupall |
last_sps |
loglevel [level] |
max_dtmf_duration [n] |
max_sessions [n] |
min_dtmf_duration [n] |
min_idle_cpu [d] |
暂停[inbound | outbound] |
pause_check [inbound | outbound] |
ready_check |
reclaim_mem |
恢复|
resume [inbound | outbound] |
save_history |
send_sighup |
shutdown [cancel | elegant | asap | now | restart] |
shutdown_check |
sps |
sps_peak_reset |
sql [开始] |
sync_clock |
sync_clock_when_idle |
threaded_system_exec |
verbose_events [on | off]
]
有不明白的欢迎留言或看博主名字关注有微一起交流学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI_wx_3307623172

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值