Извлечение и вставка аудио в текущий вызов VOIP

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

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

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

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


person Moon    schedule 29.01.2019    source источник


Ответы (2)


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

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

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

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

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

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

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

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

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

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

person pxlinux    schedule 08.02.2019

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

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

person Sean Miller    schedule 09.02.2019