Реальное применение WebRTC в сервисах IP-телефонии

от автора

На Хабре уже сообщалось о технологии WebRTC (Web Real-Time Communications). Стандарту WebRTC, который в настоящее время находится еще в черновом варианте, пророчат большое будущее, и в дальнейшем развитие Интернета и веб-технологий он вполне готов повторить путь Skype.
WebRTC может быть использован для создание принципиально новой категории веб-приложений, способных работать с голосовым и видео трафиком без задействования сторонних технологий и программ, с использованием только HTML5 и JavaScript, что существенно облегчит разработчикам создание приложений.

Технология по настоящему кроссплатформенна, независима от используемой вами операционной системы, необходима только поддержка WebRTC в вашем браузере. Cейчас её поддерживает популярный браузер Google Crome без каких-либо дополнительных настроек и установок плагинов на всех десктопных операционных системах, таких как Windows, Linux, Mac OS X и других. Так же, в силу того, что для веб-звонков, а в частности для установления соединения по протоколу SIP необходим транспорт в виде html5 технологии WebSocket, работа WebRTC возможна, практически, на всех остальных браузерах под Windows (Safari, FireFox, IE, Opera) с помощью установки дополнительно расширения webrtc4all.

Первым сервисом, который запустил в коммерческую эксплуатацию звонки с веб-браузера, стал сервис Callbacker, который интегрировал в свой личный кабинет веб-телефон, на базе открытого продукта sipml5.

Что было сделано:

  • интеграция в личный кабинет sipml5 и его кастомизация с отменой дополнительных функций, которые не работают или работают, но нестабильно, в режиме экспериментального тестирования;
  • установка и настройка пропатченного Asterisk 11 ревизии 373330. Asterisk в последнем релизе 11 поддерживает WebSocket и транспорт SAVPF, что делает его совместимым с веб-телефоном sipml5. Необходима поддержка SRTP, поэтому собираем Asterisk с обязательными параметрами: —with-crypto —with-ssl —with-srtp. Настройка Asterisk ничем не отличается от обычной, за исключением настроек http для работы WebSocket.

В конфигурационных файлах Asterisk:

http.conf:

enabled=yes bindaddr=0.0.0.0 bindport=8088 

sip.conf:

udpbindaddr=0.0.0.0:5060 realm=mydomain.com domainsasrealm=mydomain.com videosupport=no directmedia=no avpf=yes ;необходимый параметр для работы веб-телефона, включающий AVPF-транспорт для медиа-потока encryption=yes ;шифрование SRTP transport=udp,ws,wss ;ws и wss - транспорт для WebSocket 

На самом деле, флаг encryption у пользователя можно установить как encryption=no, в противном случае, другие софтфоны или VoIP-устройства, так же должны будут работать с шифрованием, что не всегда поддерживается и может быть неудобным.

Для того, чтобы попробовать, как же это все работает, необходимо иметь логин и пароль учетной записи одной из программ Callbacker для iOS или Android или можно зарегистрироваться вновь и протестировать связь. Здесь находится личный кабинет, в котором есть тот самый веб-телефон. В настоящее время, проект Callbacker развивается, обрастает новыми возможностями. Обнадеживает то, что последние перспективные технологии, в том числе и в сфере Интернет-телефонии, не умирают на дисках SVN-хостеров, а находят практическое применение.

ссылка на оригинал статьи http://habrahabr.ru/post/158543/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *