Ссылка на скачивание SipML5
https://github.com/DoubangoTelecom/sipml5
Для того, чтобы запустить WebRTC клиент (в дальнейшем будем считать, что речь идет конкретно о SipML5), необходимо сделать несколько простых шагов
Во-первых скачать сам клиент, после чего положить его в директорию с веб-файлами, например /var/www/html.
Теперь приступим к настройке АТС
Для начала нужно убедиться, что Астериск собран с поддержкой srtp
1) Нужно поднять https соединение на веб-сервере (из-за того, что все совеременные браузеры не дают пользоваться устройствами ввода/вывода, например микрофоном для сайтов с незащищенным соединением).
Ставим openssl
Используя OpenSSL, сгенерируем собственный сертификат. Для рабочего сервера, крайне рекомендуется использовать сертификат от доверенного центра сертификации, но если вы работаете на личном сайте или в целях тестирования - собственного сертификата вполне достаточно.
В случае, если используется не самоподписной сертификат, этот блок можно пропустить
# Генерация приватного ключа
# Генерация запроса на сертификат CSR
# Генерация самоподписанного ключа
# Перемещение полученных файлов в правильные места
Затем нам нужно обновить конфигурационный файл Apache SSL.
Теперь необходимо указать путь к файлам ключа и сертификата
(Пути указаны для примера с собственной генерацией)
Затем установите правильный путь к файлу сертификата.
Сохраните файл и перезагрузите Apache.
Затем необходимо создать запись для VirtualHost;
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
Добавляем порт 443 в исключения IPtables
2) После этого необходимо настроить http сервер Астериска
Прописываем в файл
Пути к файлам сертификата соответствую путям, прописанным выше в файле /etc/httpd/conf/httpd.conf
tlsbindaddr=0.0.0.0:8089
tlscertfile=/etc/pki/tls/certs/ca.crt
tlsprivatekey=/etc/pki/tls/private/ca.key
Далее сгенерируем ключи для шифрования голосового траффика
Переходим в директорию с исходниками Asterisk, как правило это /usr/src/asterisk-*
Далее в директорию /contrib/scripts/
И запускаем скрипт
После этого необходимо добавить в настройки sip.conf в секцию general
transport=udp,ws,wss
И добавить пиры. Ниже приведен пример настроек пира
rtcp_mux=yes
host=dynamic
secret=password
context=from-internal
type=friend
encryption=yes
avpf=yes
force_avp=yes
icesupport=yes
directmedia=no
disallow=all
allow=ulaw
dtlsenable=yes
dtlsverify=fingerprint
dtlscertfile=/etc/asterisk/keys/asterisk.pem
dtlscafile=/etc/asterisk/keys/ca.crt
dtlssetup=actpass
После чего нужно перечитать конфигурацию Asterisk, выполнив из консоли комманду
3) Чтобы открыть SipML5 клиент, нужно перейти по адресу
Далее, после перехода по ссылке "Enjoy Live Demo" откроет окно для регистрации клиента.
Заполняем поля
Display Name: - можно указать любое
Private Identity*: имя учетной записи (например 1000, из приведенного выше примера)
Public Identity*: полное имя учетной записи в формате sip:1000@your_ip_adress:5160 (sip:username@host:port)
Password: пароль данной учетной записи
Realm*: адрес сервера для подключения в формате host:port
Далее переходим на страницу Expert Mode
Здесь необходимо указать адрес для WebSocket, для этого в строке WebSocket Server URL, пишем
В поле ICE Servers указываем пустой массив
ВАЖНО! Если на Вашем сервер используются доменные имена, то во всех поля вместо your_server_ip необходимо указывать доменное имя сервера
После чего нажимаем кнопку "Login" и, если появилась надпись "Connected", можно приступать к звонкам