node.js - FreeSwitch ESL:NodeJS/JS/Freeswitch 语法冲突
问题描述
我正在使用 Node.JS 中的 Modesl 构建一个类似 Twillio 的拨号器 API,以将命令和参数发送到 Freeswitch 控制台。
编辑:我已将问题缩小到语法问题,我用来输入变量的 javascript 与 FreeSwitchs 语法冲突。 uuid_send_dtmf 前面需要有一个 ',而 uuid 是 NodeJS 参数,需要在一个空格后传递,dmtf 也是如此,而 api_on_answer 需要一个 ' 用于在我的参数传递后关闭。
语法一直是我的弱点,任何帮助将不胜感激。
,api_on_answer='uuid_send_dtmf ' + uuid + ' ' + dmtf +' ' }
conn.api('originate {
origination_uuid=' + uuid
+ ',origination_caller_id_number=' + cid
+ ',api_on_answer=uuid_send_dtmf ' + uuid
+ ' ' + dmtf +' }
sofia/external/' + pnumber + '@provider', function(res) {
目前该命令给出了一个非常模糊的错误,几乎没有帮助:
2019-03-17 08:53:22.755065 [DEBUG] switch_ivr_originate.c:2204 解析全局变量 2019-03-17 08:53:22.755065 [ERR] switch_ivr_originate.c:2209 解析错误!2019-03-17 08:53:22.755065 [DEBUG] switch_ivr_originate.c:3941 Originate 导致错误原因:27 [DESTINATION_OUT_OF_ORDER]
做我需要的正确方法是什么?
解决方案
尝试这个,
conn.api(`originate {origination_uuid=${uuid},origination_caller_id_number=${cid},api_on_answer='${uuid_send_dtmf} ${uuid} ${dtmf}'}sofia/external/${pnumber}@${provider}`, function(res) {
模板文字或字符串,用反引号括起来,这将为您提供所需的格式,干杯:)
推荐阅读
- php - 当我运行 locahost 时 CSS 不显示
- python - 使用 DFS 搜索图形时出现 KeyError
- d3.js - 如何使等值线居中?
- android - 视图仅出现在顶部或根本不出现
- visual-studio-code - 在编辑器中隐藏文件下拉菜单
- r - 如何在字段中只留下字符
- youtube - Youtube 播放器支持片段不再适用于 Android Studio 3.2 (androidx)
- java - org.springframework.http.converter.HttpMessageNotWritableException:没有找到类型的返回值的转换器:类 sun.nio.ch.ChannelInputStream
- r - 用分号分隔符分割数据帧?
- c# - 如何反序列化时间戳本身包含字段的JSON数据?