Подход к реализации голосовой связи с использованием сценария браузер-телефон (браузер-софтфон)

 

Поскольку на сегодня отсутствуют комплексные решения, реализующие сценарий браузер-телефон, ниже предлагается подход, основанный на бесплатном программном обеспечении, предоставляет необходимую функциональность. В качестве медиа-сервера предлагается использовать сервер Red5, на котором хранится клиентская приложение red5phone. В качестве SIP-шлюза предлагается использовать Asterisk — бесплатный IP PBX, имеющая все возможности классической АТС, также можно использовать радиотелефон Senao. Использование SIP-шлюза позволяет совершать звонки на программные SIP-телефоны (софтфон). Если же IP PBX оснащен платой для подключения к сети ТфОП, то это даст возможность совершать звонки с браузера на стационарные телефоны сети ТфОП.

сценария браузер-телефон (браузер-софтфон)

Для того, чтобы совершать звонки, RTMP-клиент red5phone регистрируется на сервере. Он создает сетевое соединение с SIP-приложением на Red5. Когда он получает успешное подтверждение, то осуществляет удаленный вызов метода в Red5 SIP-приложения, который создает пару объектов SIPUser и RTMPUser для этого пользователя и регистрирует пользователя на Asterisk. Когда red5phone закрывает сетевое соединение, эта пара объектов удаляется, и пользователь становится незарегистрированным на Asterisk.

Организация соединения при исходящем звонке с red5phone происходит по следующему сценарию. Red5phone удаленно вызывает метод, которым SIPUser инициирует выходной SIP-звонок с использованием Asterisk, и осуществляет обмен RTP аудио-потоками. При этом SIPUser осуществляет публикацию потока от Asterisk, и передает на red5phone имя этого потока с целью воспроизвести сам поток в динамике. Red5Phone в свою очередь публикует поток с микрофона компьютера для передачи в SIPUser. Происходит преобразование поступающих от Asterisk звуковых RTP-пакетов с 8 кГц в 11 кГц при преобразовании ULAW в ADPCM, и вызывается метод в объекте RTMPUser для публикации аудио-потока на Red5, используя имя, на которое уже подписан Red5Phone.

Объект RTMPUser преобразует поток с кодека Nellymoser ASAO, который передает Red5Phone. Это называется ASAO — ULAW преобразованием (для получения ULAW-пакетов и их передачи в SIPUser). Стоит отметить, что в Adobe Flash Player 10 появилась поддержка кодека Speex, который при одинаковом качестве аудио-сигнала имеет в несколько раз меньший битрейт.

Организация соединения при вызове в обратную сторону (телефон-браузер) происходит такой же схеме: входной SIP-сигнал появляется как удаленный входящий вызов на red5Phone. Затем пользователь может получить звонок и red5phone удаленно вызывает метод в SIPUser для подключения. В этом случае передача аудиоданных организована так же, как и при исходящем звонке.

 
 
 

0 - Количество комментариев

Оставьте комментарий.

 
 

Оставьте комментарий