Реальное применение 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-хостеров, а находят практическое применение.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 13

    0
    Только стабильно оно работает если звонить с Хром(32бит) на Хром(32бит).
    Или уже что-то изменилось в королевстве датском?
      0
      Попробовал у них в кабинете зайти в раздел, что бы звонить — падает Хром(x64)
        0
        Если установить webrtc4all то работает под Win32 c браузерами Safari, FireFox, IE, Opera. С Хром(x64) не тестировал, но вроде где-то видел, что Google рекомендует пока использовать 32 разрядную версию на 64 разрядных машинах, так как не успевает параллельно приводить обе версии в порядок. Собственно на x64 Windows устанавливает автоматом 32-разрядный Хром. Думаю, нормальная поддержка WebRTC в Хром(x64) — вопрос времени.
          +1
          «Cейчас её поддерживает популярный браузер Google Crome без каких-либо дополнительных настроек и установок плагинов на всех десктопных операционных системах, таких как Windows, Linux, Mac OS X и других. „
          Так-ли это?
          Захожу на сайт WebRTC и вижу совсем другую информацию: You can enable WebRTC by enabling the PeerConnection experiment on both Chrome Canary and Dev Channel.
          И ничего про поддержку его “из коробки».

          Я понимаю что пиарить «колбекера» хочется, но пока webrtc не поддерживается броузерами по умолчанию он еще бесполезен.
            0
            У них там устаревшая информация, к сожалению, можете зайти из хрома сюда, например, и проверить. У меня завелось на стандартной версии без включения каких-либо флагов.
              0
              Меня браузер на этом сайте спросил разрешения флешу использовать камеру. Казалось бы, причем здесь webRTC?
                0
                The goal of WebRTC is to enable applications such as voice calling, video chat and P2P file sharing without plugins.
                (пруф на англ.).
            0
            Последние несколько дней замечено, что в последней версии Google Chrome поддержка WebRTC включена по-умолчанию, без возможности включения и отключения, что раньше было возможно через chrome://flags. Сейчас все флаги типа PeerConnection и WebRTC отсутствуют в настройках Chrome вообще. Да, официального заявления об этом не видно, но тем не менее, сей факт имеет место быть.
              0
              Немного не про webRTC. Почему в callbacker тарифы для IOS и для Android/WP сильно отличаются?
                0
                Причина в 30%-ой комиссии, которая взимается Apple-ом с разработчика, при использовании In-App Purchase, в данном случае для пополнения баланса. Эта комиссия включена в тарифы для iOS-девайсов. Поэтому тарифы выше.
                  0
                  Ну а если пополнять через paypal?
                0
                Через PayPal, комиссия меньше, поэтому действует бонусная акция (+60% от суммы пополнения на счет) при пополнениях счета через PayPal, что становиться гораздо выгоднее.
                  0
                  Это шикарно.
                  Хотя freeswitch/RTMP с флешем тоже вполне неплохо работает, хотя и не всегда, и только со Speex.
                  Придётся делать какую-то обёртку, которая будет одним то, а другим это давать.

                  Only users with full accounts can post comments. Log in, please.