====== Конфигурация 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 aasterisk.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**. Откройте веб страницу софтфона, настройте;\\ {{ wiki:SIPML5_Call.png |Базовая настройка SIPML5}} {{ wiki:SIPML5_Expert.png |Расширенные настройки SIPML5}}