WebRTC: Asterisk 13 + Sipml5

размещено в: Asterisk, VoIP Блог | 4

WebRTC (Web Real Time Communication (веб-коммуникация в режиме реального времени)) — это открытый стандарт для внедрения возможностей передачи потоковых данных в реальном времени непосредственно в веб-браузере или через другие поддерживающие его приложения по технологии точка-точка. WebRTC поддерживается в Google Chrome, Mozilla Firefox и Opera.
Для осуществления вызовов из браузера используется специальное приложение (SIP-клиент для браузера) – SIPML5. Приложение написано на Javascript и позволяет использовать браузер в качестве VoIP телефона.

Мы будем использовать:

  • Centos 6.6
  • Asterisk 13
  • sipML5

Первым делом обновим нашу систему:

Установим необходимые пакеты:

Если хотите быстро установить все зависимости для Asterisk, то можно перейти в /usr/src/asterisk-13.3.2/contrib/scripts/ и выполнить команды:

 

Если хотите все сделать вручную, то переходим в папку /usr/src/ и скачиваем Asterisk, libsrtp,jansson, pjproject.

Устанавливаем libsrtp:

Устанавливаем библиотеку pjproject. Для х64 систем папка должна быть «–libdir=/usr/lib64», а для x32 «–libdir=/usr/lib».

Устанавливаем Jansson. Для х64 систем папка должна быть «–libdir=/usr/lib64», а для x32 «–libdir=/usr/lib».

Устанавливаем Asterisk. Для х64 систем папка должна быть «–libdir=/usr/lib64», а для x32 «–libdir=/usr/lib»

Теперь нам нужно сгенерировать сертификаты:

В процессе генерации скрипт попросит вас установить пароль на сертификат.

 

Установка закончена, теперь нам нужно отредактировать конфигурационные (sip.conf, http.conf, rtp.conf, extensions.conf) файлы Asterisk.

Первым делом переходим в /etc/asterisk/sip.conf, и в секции [general] расскоментируем и добавим следующие параметры:

Переходим в /etc/asterisk/http.conf и в секции [general] расскоментируем и добавим следующие параметры:

Переходим в /etc/asterisk/rtp.conf и в секции [general] расскоментируем и добавим следующие параметры:

Переходим в /etc/asterisk/extensions.conf и настраиваем Dialplan:

Основную часть работы мы сделали, осталось только установить и настроить sipml5.

 

Установим sipml5 к себе на сервер:

Теперь sipml5 установлен на вашем сервере. В браузере переходим по ссылке http://IP-адрес вашего сервера/sipml5/call.htm (в нашем случае http://voip.voipnotes.ru/sipml5/call.htm)

 

Настраиваем приложение:

Display Name: Отображаемое имя
Private Identity*: Внутренний номер
Public Identity*: sip: внутренний номер @ ip-адрес или доменное имя сервера, где установлен Asterisk
Password: Пароль
Realm*: ip-адрес или доменное имя сервера, где установлен Asterisk

Нажимаем Expert mode и выполняем следующие настройки:

в Expert mode
WebSocket Server URL[2]: ws://webrtc.pbxware.ru:8088/ws
ICE Servers[4]: [{ url: ‘stun:stun.l.google.com:19302′}]


Сохраняемся, логинимся, настраиваем второй номер, и теперь можем совершать вызовы между двумя web-клиентами.

 

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

ФигняНичего инетересногоСереднячокХорошоОтлично (1 votes, average: 5,00 out of 5)
Loading...Loading...

Похожие статьи:

Установка FreePBX 12 на базе Asterisk 13
FreeSWITCH: подключение к VoIP оператору и настройка диалплана

 

4 ответов

  1. Антоп

    Для http это просто и понятно. А как тоже самое для https?

  2. asterboy

    Пасиб, ценно. Только екстен 8XX неправильный в паттерне, должен начинаться с подчеркивания (возможно ваш хтм валидатор выкосил?)

  3. Александр

    Ошибки:
    Устанавливаем libsrtp
    tar zxvf srtp-1.4.2.tgz
    cd srtp
    autoconf
    ./configure
    make
    make install
    cp /usr/local/lib/libsrtp.a /lib
    Правильно делать так
    ./configure –prefix=/usr –libdir=/usr/lib64
    и не нужно делать cp/

    И вообще, ./configure делается всегда с указанием префикса /usr и либдир /usr/lib64 для конкретной статьи.

    contrib/scripts/get_mp3_source.sh
    Этот скрипт по умолчанию копирует исходники mpg123 не в нужную папку, так что при сборке будет ошибка.
    Исходники нужно скопировать в папку addons с исходниками астериска.

    В rtp.conf не нужно указывать stunaddr вообще. Без него всё работает.

    В extensions.conf
    [from-internal]
    exten => 8XX,1,Answer()
    same => n,DIAL(SIP/${EXTEN})
    same => n,Hangup()

    Не нужно делать Answer!!!

  4. Voipnotes

    Мы согласный с вами, и все указанное в статье можно сделать по другому. Статья писалась исходя из официальных манов и своего опыта.
    Конечно можно не указывать stunaddr, но если указать его тоже не будет ошибкой.

Оставить ответ

*