由于浏览器的安全策略对除 127.0.0.1 以外的 HTTP 地址作了限制,RTCSIP Web SDK 仅支持 HTTPS 协议或者 http://localhost (http://127.0.0.1),请勿使用 HTTP 协议部署你的项目。
<script src="SDK目录/QZLinkRTCSipSDK.min.js"></script><div id="stream_area"></div>请在设置播放音视频流的HTML元素后,再初始化对象实例。
// 开启(true)/关闭(false)调试模式QZLinkRTCSip.debug = true// 初始化实例对象const rtcsip = new QZLinkRTCSip()
登录服务器。
options Objectappid String - 应用IDusername String - 应用账号password String - 应用密码host String - 服务器IP地址port String - 服务器端口element String - 播放音视频流的HTML元素IDjoinType(可选) String - 用户进入房间的方式,默认值为connect。取值:connect - 在接听后进入;ringing - 在振铃后进入codec(可选) String - 浏览器使用的编码格式,默认值为vp8。有以下两种选择:vp8 - 浏览器使用 VP8 编码;h264 - 浏览器使用 H.264 编码。cameraResolution(可选) String - 视频属性,默认值为480p_1success(res) Function (可选) - 执行成功后的回调res Objectuserid String - 用户IDfail(err) Function (可选) - 执行失败后的回调err Objecttype String - 错误类型evt String - 事件名称reason String - 错误码msg String - 错误信息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)})
发起通话请求。
远端会触发ringing事件。
callee String - 被呼叫方的用户ID或者电话号码options ObjectisVideo Boolean - 是否视频通话,默认值为false。isSip Boolean - 是否SIP通话,默认值为false。gateway (可选)String - 网关。若通话为Call Sip模式,则必须传此值。success(res) Function (可选) - 执行成功后的回调res Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道IDfail(err) Function (可选) - 执行失败后的回调err Objecttype String - 错误类型evt String - 事件名称reason String - 错误码msg String - 错误信息rtcsip.calling('被呼者ID', {isVideo: false,isSip: true,gateway: '106.xx.xx.xx:15080'}, res => {console.log('拨号成功:', res)}, err => {console.error('拨号失败: ' + err.msg)})
接受通话请求。
本地及远端都会触发connected事件。
success(res) Function (可选) - 执行成功后的回调res Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道IDfail(err) Function (可选) - 执行失败后的回调err Objecttype String - 错误类型evt String - 事件名称reason String - 错误码msg String - 错误信息取消/拒绝/挂断通话。
本地会触发hangup事件,远端会触发remote-cancel/remote-rejected/remote-disconnect事件
success(res) Function (可选) - 执行成功后的回调res Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道IDfail(err) Function (可选) - 执行失败后的回调err Objecttype String - 错误类型evt String - 事件名称reason String - 错误码msg String - 错误信息设置用户进入房间的方式,若正在通话中执行此方法,则会返回USER_BUSY错误。
joinType String - 用户进入房间的方式,默认值为connect。取值:connect - 在接听后进入;ringing - 在振铃后进入rtcsip.setJoinType('`ringing`')设置浏览器使用的编码格式,若正在通话中执行此方法,则会返回USER_BUSY错误。
codecString - 浏览器使用的编码格式,默认值为vp8。有以下两种选择:vp8 - 浏览器使用 VP8 编码;h264 - 浏览器使用 H.264 编码。rtcsip.setCodec('h264')设置视频属性,若正在通话中执行此方法,则会返回USER_BUSY错误。
cameraResolution String - 视频属性,默认值为480p_1rtcsip.setCameraResolution('720p_1')错误事件。
rtcsip.on('ringing', err => console.log(err))返回:
err Objecttype String - 错误类型evt String - 事件名称reason String - 错误码msg String - 错误信息警告事件。
返回:
err Objecttype String - 错误类型evt String - 事件名称reason String - 错误码msg String - 错误信息有远端通话请求时触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID通话连接建立后触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID本地取消/拒绝/挂断通话后触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID远端拒绝通话后触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID远端取消通话后触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID本地请求通话,而远端正在通话中时触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID远端挂断通话时触发。
返回:
evt Objectuserid String - 用户IDcaller String - 呼叫者IDcallee String - 被呼者IDcallType String - 呼叫类型:AUDIO(音频)、VIDEO(视频)sip Boolean - 是否SIP通话channel String - 通话频道ID远端音视频流添加后触发。
返回:
evt ObjectstreamId Int - 音视频流ID,用于控制其所在的HTML元素,id名称为video+streamId远端音视频流删除后触发。
返回:
evt ObjectstreamId Int - 音视频流ID,用于控制其所在的HTML元素,id名称为video+streamId