FreeSwitch ESL: конфликт синтаксиса NodeJS/JS/Freeswitch

Я создаю Twillio-подобный API номеронабирателя, используя Modesl в Node.JS для отправки команд и параметров в консоль 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 Parsing global variables 2019-03-17 08:53:22.755065 [ERR] switch_ivr_originate.c:2209 Parse Error! 2019-03-17 08:53:22.755065 [DEBUG] switch_ivr_originate.c:3941 Originate Resulted in Error Cause: 27 [DESTINATION_OUT_OF_ORDER]

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
271
2

Ответы 2

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

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

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

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

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

Другие вопросы по теме