Linkus Web SDK Core 使用示例

本文使用简化的代码提供一个示例,展示使用 Linkus Web 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);
    });