0

我在 Asterisks 服务器上集成 SIPML5 插件的演示时遇到了问题。Asterisks 服务器版本是“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:6001@X.X.X.X
Password; ****
Realm: X.X.X.X

其中 XXXX 是我的 Asterisks 服务器 IP。

当单击 call.htm 页面上的“登录”按钮时,会显示如下错误消息

Disconnected: Failed to connect to the server

linphone 插件现在已安装在项目中。由于 Chrome/Mozilla 浏览器取消了对 NPAPI 的支持,该项目的 VoIP 功能完全过时了。现在我想用支持 WebRTC 协议的 SipML5 插件替换该功能。我需要检查 SIPML5 插件的注册、登录、语音通话功能。但是一旦我连接到服务器,所有这些功能都可以实现。

Asterisks CLI 不显示任何错误消息。Chrome 和 Mozilla 浏览器的控制台历史不会显示任何易受攻击的错误消息。所以我完全坚持这个项目。

演示文件在 Asterisks 11.8.1 服务器上运行良好。但是服务器上没有安装 SRTP 模块,因此音频功能无法正常工作。我们的支持团队现在安装了库并重新安装了版本 13 的星号服务器。AWS 服务器的防火墙已打开,端口现在已打开。

谁能帮我解决这个问题,以便我可以进一步将插件集成到我的项目中。如果需要任何其他详细信息,请告诉我

4

2 回答 2

1

SipML5 客户端将尝试通过 Secure WebSocket URL(WSS) 连接服务器。所以你需要在 WSS url 中使用端口 8089(tls)。

如果您在 http.conf 中使用自签名 SSL 证书,请通过在浏览器选项卡中打开https://XXXX:8089/ws url 来允许它们。

于 2017-03-22T19:32:10.137 回答
0

可能的调试步骤: 1. 检查星号是否真的在监听 8089。你可以使用 netstat。2. 如果您在 https 模式下加载您的客户端/浏览器,那么您需要在星号上信任您的客户端。这可以通过:http://XXXX:8089/httpstatus并选择信任来完成。

于 2017-03-30T20:39:32.653 回答