Запуск JavaScript внутри API остальных

Я работаю на звездочке.
Мне удалось вызвать внешний API, используя Dialplan.
Теперь я хочу запустить javascript внутри этой функции api, потому что мне нужно уведомить браузер о том, что кто-то вызывает. Я думаю, что могу сделать это с помощью node.js. Я не хочу использовать опрос ajax, потому что это плохо.

Ниже описан процесс, когда кто-то звонит

Вызов -> Триггер плана набора -> Вызов внешнего API через метод AGI -> запустить событие javascript websocket внутри api -> уведомить браузер.

Это возможно? или есть гораздо лучший способ.

0

Решение

Ответ «да», но это также зависит от API, который вы хотите использовать, и того, что вы пытаетесь достичь.

У Asterisk есть три «основных» API: AMI, AGI и ARI. AMI и AGI существуют уже давно; ARI — интерфейс REST Asterisk — является относительно новым. Цитировать из Звездочка вики:

Не долго в проект, два интерфейса прикладного программирования
(API) были добавлены в Asterisk: интерфейс Asterisk Gateway (AGI)
и интерфейс Asterisk Manager (AMI). Эти интерфейсы имеют
различные цели:

  1. AGI является аналогом CGI в Apache. AGI обеспечивает интерфейс между абонентской группой Asterisk и внешней программой, которая хочет
    манипулировать каналом в диалплане. В общем, интерфейс
    синхронный — действия, выполняемые на канале из блока AGI и не выполняемые
    возвращайтесь, пока действие не будет завершено.
  2. AMI предоставляет механизм для контроля выполнения каналов в диалплане. В отличие от AGI, AMI является асинхронным интерфейсом, управляемым событиями.
    По большей части AMI не предоставляет механизмов для управления каналом
    выполнение — скорее, оно предоставляет информацию о состоянии
    каналы и элементы управления о том, где каналы выполняются

В отличие от AMI и AGI, ARI позволяет вам создавать собственные приложения для набора номеров. Если вы заинтересованы в этом, я настоятельно рекомендую вам посетить вики-страницу, указанную выше.

API, который вы выбираете, должен быть основан на том, чего вы хотите достичь. Так как вы хотите сделать вызов, вы действительно можете сделать это либо AMI (прослушивая какой-то триггер события), либо через ARI (если канал войдет в стаз приложение dialplan, выполняющее пользовательское ARI-приложение node.js).

Для обоих API существуют библиотеки node.js:

AMI

ARI

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector