FreeSwitch ESL: конфликт синтаксиса NodeJS / JS / Freeswitch - PullRequest
0 голосов
/ 17 марта 2019

Я создаю Twillio-подобный Dialer API с использованием Modesl в Node.JS для отправки команд и параметров в консоль Freeswitch.

Edit: я сузил проблему до проблемы синтаксиса, где 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]

Как правильно делать то, что мне нужно?

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

попробуйте это,

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) {

литералы или строки шаблона, заключенные в галочки, это предоставит вам необходимый формат, ура:)

0 голосов
/ 17 марта 2019

Исправлено использование встроенного '\' для ввода '.

var onanswer =' \ '' + uuid + '' + dmtf;

...