Извлечение и вставка звука в текущий VOIP-вызов - PullRequest
0 голосов
/ 29 января 2019

Я очень новичок, когда дело доходит до VOIP и интеграции с системами VOIP.

Вот что я пытаюсь сделать:

  1. Звонит вызывающий абонент, и оператор отвечает на звонок.
    1.1.Начать потоковую передачу аудио звонящего на службу анализа в облаке.
  2. Как только аудиоанализ будет выполнен (обычно через несколько секунд), оператор нажмет кнопку «Удержание», чтобы выполнить действие, предлагаемое анализом.
    2.1.В зависимости от результата анализа воспроизведите определенный аудиофайл для вызывающего абонента, чтобы сообщить им, что оператор выполняет «x», «y» или «z», пока он удерживается.

Учитывая мой неопытный опыт работы с системами VOIP, я ищу любые предложения / указатели на темы, области, статьи, технологии, которые могут указать мне правильное направление.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Рассматривали ли вы использование VOIP-провайдера на основе API, например Plivo ?

Потоковая часть вашего сценария использования в реальном времени может быть трудной, но держу пари, вы могли бы найти достойную работу вокруг.Раньше я работал там инженером по решениям, поэтому я довольно хорошо знаком с API.Не стесняйтесь сообщать мне, если у вас есть какие-либо вопросы.

0 голосов
/ 09 февраля 2019

Я мог бы дать некоторую общую точку зрения.Я бы предположил, что VOIP на основе SIP, который на самом деле довольно вездесущ (IMS, LTE, 3GPP и т. Д.).

VOIP состоит из двух частей, которые вы могли заметить при поиске:

  • SIP (плоскость управления)
  • RTP (плоскость данных или полезной нагрузки = аудио)

В общем, естьЭто два подхода, один из которых приходит из однорангового мира, где каждое изменение в потоке мультимедиа передается другой стороне, когда REFER фактически выполняет передачу вызова для любых целей.Но это обычно не предпочтительный способ делать вещи.Здесь следует второй подход, который как бы скрывает любые изменения на стороне B-стороны (называемой стороной).Такая вещь используется также в IMS (которая стоит за современными сетями GSM).Хитрость в том, что A-party (вызывающая сторона) фактически достигает B-party proxy.С точки зрения SIP , это B2BUA , он же спина к агенту пользователя.Который, как следует из названия, охватывает всю магию, которая происходит в сети вызываемой стороны.

Магия тогда фактически скрыта за этой B2BUA , которая фактически ведет себя как сущность в середине и, таким образом,может манипулировать как SIP , так и RTP .

Следовательно, этот объект может фактически fork аудио, используя MGW (носительшлюз) в направлении «настоящей» B-партии (человек / оператор), а также направление аудио на анализ ML / AI / Expert System .Этот процесс также включает в себя соответствующие события плоскости управления, такие как запуск аналитического присоединения процесса, фактическое звуковое разветвление ( RTP ), а также запуск SIP INVITE для финальной B-стороны.Всякий раз, когда анализ завершается, следует отправлять внешнюю рассылку некоторым «расширенным» клиентам в SIP Agent (компьютер / планшет с SoftPhone) или в какой-либо системе CRM , подключенной к системе центра обработки вызовов.Такое сообщение должно информировать B-Party о результате анализа.

Вся магия скрыта либо внутри B2BUA , либо в конечном итоге внутри SIP-сервера приложений , которыйэто общее название для различных услуг, таких как распределение вызовов операторам центра обработки вызовов, голосовая почта, IVR и т. д.

Сегодня голосовой анализ используется в банках для проверки звонящих, анализа настроения и многих «умных» обработок звука.

В этом домене есть несколько открытых и закрытых систем SIP.Они имеют тенденцию быть как-то сложным.Более того, логика сильно отличается от систем запроса-ответа (например, HTTP).Вызов представляет собой систему с состоянием с «сеансом» (call ~ Call-ID), и все с этим связано.

Надеюсь, что это поможет вам.

...