Я столкнулся с проблемой интеграции демо плагина SIPML5 на сервер Asterisks. Версия сервера Asterisk — «Asterisk 13.14.0». Новая версия сервера звездочек поддерживает модуль SRTP. Демонстрационные файлы плагина взяты из репозитория Doubango на github. Демонстрационные файлы интеграции помещаются в корневую папку нашей учетной записи сервера AWS.
Ref: https://github.com/DoubangoTelecom/sipml5/
Содержимое различных файлов конфигурации для сервера Asterisks следующее:
http.conf
[general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088
tlsenable=yes
tlsbindaddr=0.0.0.0:8089
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlsprivatekey=/etc/asterisk/keys/asterisk.pem
rtp.conf
[general]
rtpstart=10000
rtpend=20000
icesupport=yes
stunaddr=stun.l.google.com:19302
extensions.conf
[default]
exten => 100,1,Dial(SIP/1060)
exten => 101,1,Dial(SIP/1061)
exten => 102,1,Playback(1-for-am-2-for-pm)
exten => 205,1,Answer
exten => 205,2,Wait(2)
exten => 205,3,Record(asterisk-recording%d:ulaw)
exten => 205,4,Wait(2)
exten => 205,5,Playback(${RECORDED_FILE})
exten => 205,6,Wait(2)
exten => 205,7,Hangup
[from-internal]
exten => 1000,1,Answer()
same => n,Playback(demo-congrats)
same => n,Hangup()
sip.conf
[general]
udpbindaddr=0.0.0.0:5060
realm=x.x.x.x ;replace with your Asterisk server public IP address or host
transport=udp,ws,wss
externaddr=x.x.x.x ;replace with your Server's Public IP Address
websocket_enabled=true
[6001]
host=dynamic
secret=****
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
Значения полей, установленные для страницы expert.htm для демонстрации, следующие:
WebSocket Server URL : wss://X.X.X.X:8088/ws
SIP outbound Proxy URL: udp://X.X.X.X:5060
ICE servers: [{ url: ‘stun:stun.l.google.com:19302’}]
Значения полей, установленные для страницы call.htm для демонстрации, следующие:
Display name: Rusty WEBRTC
Private identity: 6001
Public identity: sip:[email protected]
Password; ****
Realm: X.X.X.X
Где X.X.X.X — IP-адрес моего сервера Asterisk.
При нажатии на кнопку «Войти» на странице call.htm отображается сообщение об ошибке вида
Disconnected: Failed to connect to the server
Плагин linphone уже установлен на проекте. В связи с прекращением поддержки NPAPI браузерами Chrome/Mozilla функция VoIP в проекте полностью устарела. Теперь я хочу заменить эту функцию плагином SipML5, который поддерживает протокол WebRTC. Мне нужно проверить функции регистрации, входа в систему, аудиовызова плагина SIPML5. Но все эти функции могут быть реализованы после того, как я подключился к серверу.
Интерфейс командной строки Asterisks не отображает никаких сообщений об ошибках. В истории консоли браузеров Chrome и Mozilla не отображаются сообщения об уязвимых ошибках. Так что я полностью застрял на проекте.
Демонстрационные файлы отлично работали на сервере Asterisks 11.8.1. Но на сервере не был установлен модуль SRTP, поэтому функция аудио не работала нормально. Наша команда поддержки сейчас установила библиотеку и переустановила сервер звездочек с версией 13. Брандмауэр открыт для сервера AWS, и теперь открыты порты.
Может ли кто-нибудь помочь мне решить проблему, чтобы я мог продолжить интеграцию подключаемого модуля в мой проект. Пожалуйста, дайте мне знать, если нужны какие-либо другие детали.