Linkus Windows SDK Core 使用示例
本文使用简化的代码提供一个示例,展示使用 Linkus Windows SDK Core 发起呼叫及接听来电的流程。
import { init, on } from 'ys-webrtc-sdk-core';
init({
username: '1000',
secret: 'sdkshajgllliiaggskjhf',
pbxURL: 'https://192.168.1.1:8088'
})
.then(operator => {
// 获得 PhoneOperator 实例、PBXOperator 实例及 destroy 方法
const { phone, pbx, destroy } = operator;
// 创建 RTC 实例
phone.on('newRTCSession', ({callId,session})=>{
const {status} = session
// 开始监听 session 中的事件
session.on('confirmed', {callId,session})=>{
// 通话成功接通,session.status.callStatus 进入 talking 状态
// 界面更新,开始通话计时
})
})
// 监听 startSession 事件
phone.on('startSession',({callId,session})=>{
const {status} = session
if(status.communicationType === 'outbound') {
// 去电
// 界面更新,对方响铃中
}else{
// 来电
// 界面更新,连接中
}
});
// 监听来电事件
phone.on('incoming', (callId,session)=>{
const {status} = session
// 界面弹出来电窗口,显示来电号码,来电者姓名
// ...
// 点击接听按钮,调用 answer 方法,随后触发 startSession 事件
phone.answer(status.number);
});
// 监听事件后,开始创建 SIP UA 连接
phone.start();
// ...
// 点击呼出按钮,呼叫1001
phone.call('1001')
})
.catch(error => {
console.log(error);
});