RTCSipWebSDK接入指南

由于浏览器的安全策略对除 127.0.0.1 以外的 HTTP 地址作了限制,RTCSIP Web SDK 仅支持 HTTPS 协议或者 http://localhosthttp://127.0.0.1),请勿使用 HTTP 协议部署你的项目。

1. 获取SDK

点击下载SDK

2. 开发语言及浏览器支持

3. 搭建开发环境

3.1 引入 SDK 文件

<script src="SDK目录/QZLinkRTCSipSDK.min.js"></script>

3.2 设置播放音视频流的HTML元素

<div id="stream_area"></div>

3.3 初始化实例

请在设置播放音视频流的HTML元素后,再初始化对象实例。

// 开启(true)/关闭(false)调试模式QZLinkRTCSip.debug = true// 初始化实例对象const rtcsip = new QZLinkRTCSip()

4. 实例方法

4.1 init(options[, success, fail])

登录服务器。

rtcsip.init({  appid: '应用ID',  username: '应用账号',  password: '应用密码',  host: '服务器IP地址',  port: '服务器端口',  codec: 'vp8',  cameraResolution: '480p_1',  element: 'stream_area' // 播放音视频流的HTML元素ID}, res => {  console.log('登录成功:', res)}, err => {  console.error('登录失败: ' + err.msg)})

4.2 calling(callee[, options, success, fail])

发起通话请求。

远端会触发ringing事件。

rtcsip.calling('被呼者ID', {  isVideo: false,  isSip: true,  gateway: '106.xx.xx.xx:15080'}, res => {  console.log('拨号成功:', res)}, err => {  console.error('拨号失败: ' + err.msg)})

4.3 answer([success, fail])

接受通话请求。

本地及远端都会触发connected事件。

4.4 hangup([success, fail])

取消/拒绝/挂断通话。

本地会触发hangup事件,远端会触发remote-cancel/remote-rejected/remote-disconnect事件

4.5 setJoinType(joinType)

设置用户进入房间的方式,若正在通话中执行此方法,则会返回USER_BUSY错误。

rtcsip.setJoinType('`ringing`')

4.6 setCodec(codec)

设置浏览器使用的编码格式,若正在通话中执行此方法,则会返回USER_BUSY错误。

rtcsip.setCodec('h264')

4.7 setCameraResolution(cameraResolution)

设置视频属性,若正在通话中执行此方法,则会返回USER_BUSY错误。

rtcsip.setCameraResolution('720p_1')

5. 实例事件

5.1 事件:'error'

错误事件。

rtcsip.on('ringing', err => console.log(err))

返回:

5.2 事件:'warning'

警告事件。

返回:

5.3 事件:'ringing'

有远端通话请求时触发。

返回:

5.4 事件:'connected'

通话连接建立后触发。

返回:

5.5 事件:'hangup'

本地取消/拒绝/挂断通话后触发。

返回:

5.6 事件:'remote-rejected'

远端拒绝通话后触发。

返回:

5.7 事件:'remote-cancel'

远端取消通话后触发。

返回:

5.8 事件:'remote-busy'

本地请求通话,而远端正在通话中时触发。

返回:

5.9 事件:'remote-disconnect'

远端挂断通话时触发。

返回:

5.10 事件:'remote-added'

远端音视频流添加后触发。

返回:

5.11 事件:'remote-removed'

远端音视频流删除后触发。

返回:

6. 错误码