我正在使用Node.JS中的Modesl构建类似Twillio的Dialer 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源于错误的原因:27 [DESTINATION_OUT_OF_ORDER]
做我需要的正确方法是什么?
答案 0 :(得分:0)
使用“ \”输入“内联”固定。
var onanswer ='\''+ uuid +''+ dmtf;
答案 1 :(得分:0)
尝试一下
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) {
模板文字或字符串,用反引号括起来,这将为您提供所需的格式,加油:)