Инструменты пользователя

Инструменты сайта


mp_doc:imain_install_ubuntu_webrtc

Это старая версия документа!


Конфигурация рабочего узла (Ubuntu Server 18.04) для работы WebRTC, SRTP, TLS

0. Предполагаем что сервер был уже установлен и настроен по инструкции; 1. Далее шаги на примере Let's Encrypt, если у Вас уже есть сертификат - пропустите этот пункт: 1.1. Устанавливаем certbot:

$ apt update && apt install certbot

1.2. У нас должно быть прописано в нашей доменной зоне имя. Для примера:

test.minipbx.ru

1.3. Получаем сертификат:

certbot certonly --standalone -d test.minipbx.ru -m admin@minipbx.ru

2. Выполним скрипт:

/usr/voice/minipbx_ssl.sh test.minipbx.ru

результатом его выполнения будет ПОЛНОЕ обновление каталога /etc/asterisk/keys!

3. Для поддержки TLS, в файл /etc/asterisk/sip.conf, добавим:

tlsenable=yes
tlsbindaddr=0.0.0.0:6061
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlsclientmethod=tlsv1
tlscipher=ALL

4. Для поддержки WEBRTC, в файл /etc/asterisk/sip.conf, исправим:

[general]
...
transport=udp,wss

5. Для поддержки WEBRTC, в файл /etc/asterisk/sip.conf, добавим шаблон (после шаблона ipphone):

[webrtc](!)
type=friend
host=dynamic
language=ru
canreinvite=no
disallow=all
allow=alaw,ulaw
call-limit=1
busylevel=1
;nat=force_rport,comedia
transport=wss
avpf=yes
force_avp=yes
icesupport=yes
directmedia=no
qualify=yes
rtcp_mux=yes
encryption=yes
dtlsenable=yes
dtlscertfile=/etc/asterisk/keys/asterisk.pem
dtlsprivatekey=/etc/asterisk/keys/privkey.pem
dtlsverify=fingerprint
dtlssetup=actpass

6. Настроим http сервер встроенный в Asterisk, в файле /etc/asterisk/http.conf заменим:

[general]
enabled=yes
servername=pbx1.1
bindaddr=0.0.0.0
bindport=8088
tlsenable=yes
tlsbindaddr=0.0.0.0:8089
tlscertfile=/etc/asterisk/keys/fullchain.pem
tlsprivatekey=/etc/asterisk/keys/privkey.pem
enablestatic=yes

6. Добавим поддержку ice в /etc/asterisk/rtp.conf добавим:

[general]
...
icesupport=yes
stunaddr=stun.l.google.com:19302

Также для серьезной работы можно поставить свой ice сервер.

7. В /etc/asterisk/modules.conf, если есть директива preload ⇒ chan_sip.so, то добавим перед ней

preload => res_http_websocket.so
preload => chan_sip.so

8. Перезапустим asterisk:

$ systemctl restart aasterisk.service

9. Проверим HTTPS сервер: с рабочей машины выполним:

https://test.minipbx.ru:8089/httpstatus

Должны увидеть страницу статуса WEB сервера asterisk, без предупреждения системы безопасности!

10. В консоли asterisk (asterisk -r) выполним:

CLI> http show status

Должны увидеть что работает HTTP и HTTPS сервер и существует uri /ws

11. Разместим например на web сервере, sipml5 софтфон;
12. В настройках тестового терминала выберите Тип терминала - webrtc. Откройте веб страницу софтфона, настройте;
Базовая настройка SIPML5 Расширенные настройки SIPML5

mp_doc/imain_install_ubuntu_webrtc.1582601958.txt.gz · Последнее изменение: 2024/03/31 22:04 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki