本人不熟悉前端,但从今天开始研究tryit-jssip,尽量把看到的点点滴滴都记录下来
到这里下载源码:
https://github.com/versatica/tryit-jssip
安装nodejs v18,其它版本暂时没试过
npm install --legacy-peer-deps && npm install -g gulp-cli
npm prod 或者 npm dev # 编译成生产版本或者开发版本
第一次运行会把配置自动保存到chrome的local storage
chrome,打开tryit-jssip的网页,[F12],应用,local storage,找到settings,下面是我测试用到的配置:
{
"display_name": "test01",
"uri": "sip:1001@192.168.100.205",
"password": "1234",
"socket": {
"uri": "wss://192.168.100.205:7443",
"via_transport": "auto"
},
"registrar_server": null,
"contact_uri": null,
"authorization_user": null,
"instance_id": null,
"session_timers": true,
"use_preloaded_route": false,
"pcConfig": {
"rtcpMuxPolicy": "negotiate",
"iceServers": [
{
"urls": [
"stun:220.231.180.131:12297"
]
}
]
},
"callstats": {
"enabled": false,
"AppID": null,
"AppSecret": null
}
}
stun可以不配
192.168.100.205运行的是FreeSWITCH v1.10.9,自签名证书
如果不想用local storage,那么可以先删除local storate里面的settings,index.html里面有个window.SETTINGS,修改之后重启就可以生效
有问题可以mail list或者github issue,其中mail list地址是:
https://groups.google.com/g/jssip
工单(issue)地址是:
https://github.com/versatica/JsSIP/issues
https://github.com/versatica/tryit-jssip/issues
上面讲的都是私有部署
当然也可以直接用官方的demo,地址如下:
https://tryit.jssip.net/
服务器可以用Kamailio或者FreeSWITCH,更详细的资料可以参考这里:
https://jssip.net/documentation/misc/interoperability/
浏览器方面的兼容性可以参考这里:
https://caniuse.com/?search=webrtc
不要用navigator.webkitGetUserMedia,已经淘汰了,要用navigator.mediaDevices.getUserMedia