====== Конфигурация web сервера и рабочего узла (Ubuntu Server 18.04) для работы WebRTC, SRTP, TLS ======
0. Предполагаем что сервер был уже установлен и настроен по [[imain_install_ubuntu_work|инструкции]];
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_renew.sh install test.minipbx.ru
результатом его выполнения будет **ПОЛНОЕ обновление каталога /var/www/certs**!
Следуйте инструкциям, в результате вы получите настроенный nginx, по ссылке https://test.minipbx.ru/certs будут лежать наши сертификаты. Для того чтобы они не попали в чужие руки, настраивается простая аутентификация (http basic auth). На рабочем узле выполните:
/usr/voice/minipbx_ssl_download.sh install test.minipbx.ru
Следуйте инструкциям скрипта. Нам нужно задать в планировщике (crontab), в часы наименьшей нагрузке, регулярную проверку обновления сертификатов и перезапуск службы asterisk.
\\
\\
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. Добавим поддержку ice в **/etc/asterisk/rtp.conf** добавим:
[general]
...
icesupport=yes
stunaddr=stun.l.google.com:19302
Также для серьезной работы можно поставить свой ice сервер.
\\
\\
6. Перезапустим asterisk:
$ systemctl restart asterisk.service
7. Проверим HTTPS сервер: с рабочей машины выполним:
https://test.minipbx.ru:8089/httpstatus
Должны увидеть страницу статуса WEB сервера asterisk, **без предупреждения системы безопасности!**
\\
\\
8. В консоли asterisk (asterisk -r) выполним:
CLI> http show status
Должны увидеть что работает HTTP и HTTPS сервер и существует uri /ws
\\
\\
9. Разместим например на web сервере, sipml5 софтфон;\\
10. В настройках тестового терминала выберите **Тип терминала - webrtc**. Откройте веб страницу софтфона, настройте;\\
{{:mp_doc:sipml5_call.png?400 |Базовая настройка SIPML5}}
{{:mp_doc:sipml5_expert.png?400 |Расширенные настройки SIPML5}}