freeswitch - Freeswitch - 拨号方案中的“find_user_xml”返回布尔值而不是 XML
问题描述
fs_cli 可以执行 api 函数find_user_xml并且我可以在 XML 中获取用户数据。但是,如果我在拨号计划中运行它,Freeswitch 会记录true而不是真实结果。
这是我的拨号方案扩展:
<extension name="Test">
<condition field="destination_number" expression="^(\d{1,20})$">
<action application="set" data="somevar=${find_user_xml(id 1000 xxx.xxx.xxx.xxx)}"/>
<action application="log" data="INFO ${somevar}"/>
</condition>
</extension>
我得到了这个结果,而不是实际的 XML 表示:
2019-09-02 07:01:58.120071 [信息] mod_dptools.c:1792 真
如果用户不存在,Freeswitch 将返回false。命令xml_locate还返回 XML 格式的数据,它工作得很好。
有谁知道如何从“find_user_xml”命令而不是布尔值获取 XML 结果?
解决方案
我找到了解决此问题的方法 -像系统命令一样执行find_user_xml 。这不是最佳解决方案,但仍会返回所需的结果。
<extension name="Test">
<condition field="destination_number" expression="^(\d{1,20})$">
<action application="set" data="somevar=${system fs_cli -x 'find_user_xml id 1000 xxx.xxx.xxx.xxx'}" />
<action application="log" data="INFO ${somevar}" />
</condition>
</extension>
推荐阅读
- android-room - Android Room Database Drop table UI 测试
- django - 如何通过 django 内联表单中的外键字段进行查询?
- reporting-services - 计算 SSRS 中的中位数
- sql - 检查 SQL Server 上的常用密码
- c# - 在 c# 中通过 npgsql 打开与 Denodo 的连接时出现错误消息
- python - Python & PyQt5:如何获取帧的 RGB 颜色值?
- react-native - 优化 FlatList 项性能的最佳方法
- extjs - Extjs如何参数化商店代理url
- reporting-services - SSRS 报告参数 当当前日期为星期一时,开始日期设置为星期五
- javascript - 如何在 for ..of 中添加等待时间?