Я пытаюсь немного поиграть с ARI, чтобы создать очередь, способную обслуживать несколько экземпляров звездочки. После некоторой базовой документации c кажется, что ARI - способ сделать это.
То, чего я достиг к настоящему времени, - это простая абонентская группа, которая отправляет входящий вызов в мое приложение стазис. Как только звонок поступил в стазис, вызывается событие STASIS_START, и я считаю, что это точка входа в мою очередь (это моя первая проблема). После получения звонка я поместил несколько записей в базу данных H2 и начал играть moh на этом канале.
Просто для демонстрации, я сразу же пытаюсь создать другой канал для свободного агента для обработки вызова.
Проблема в том, что когда я создаю канал, мне нужно установить приложение, и если я установлю то же самое приложение, я получу новое событие STASIS_START, запущенное (другая запись в H2 DB - что нежелательно), но в этом случае это фальшивая, так как я считал, что STASIS_START должен запускаться только тогда, когда новый звонок пришел в мою "очередь". Я думал поместить некоторые переменные в «настоящие внешние вызовы», которые входят в приложение stasis, а затем проверить, есть ли переменные в поступивших вызовах ... но я боюсь, что я делаю что-то не так, возможно, с архитектурной точки зрения ,
Какой здесь лучший подход?
Еще два бонусных вопроса:
Зачем мне использовать бридж, чтобы играть в MOH для ожидающего абонента, когда я могу сыграть какую-нибудь мелодию прямо на этом канале? Это потому, что мост дал мне возможность записывать или записывать события DTMF?
Правильно ли мое предположение, что когда я m trying to call for queue agents (in order to match these with the waiting call in the queue) I should use
POST / channel / создаю combined with
POST / channel / {channelId} / dial instead of using
POST / channel`, который будет использовать ?