集成 Linkus Windows SDK Core

Linkus Windows SDK Core 提供核心的通话功能 (不带 UI 组件),本文介绍如何将 Linkus Windows SDK Core 集成到 Windows 项目。

前提条件

Demo & 源码

在正式集成之前,我们推荐你体验 Linkus Windows SDK Core 的 React Demo,并查阅 项目源码 以了解 Linkus Windows SDK Core 的整体运行框架及流程。

支持的模块化格式

Linkus Windows SDK Core 支持 UMDCJSESMIIFE 四种模块化格式,你可以根据实际需求选择所需的格式。
注: 如果你想要较小的 SDK 体积,或现有项目支持 ESM,建议导入 ESM 使用。

步骤一、引入 Linkus Windows SDK Core

  1. 前往 Linkus Windows SDK Core 的 GitHub 仓库,下载 Linkus Windows SDK Core。
  2. 使用以下任意一种方式将 Linkus Windows SDK Core 引入至 Windows 项目。
    • 使用 npm 引入 Linkus Windows SDK Core
      npm install ys-webrtc-sdk-core
    • 使用 script 标签方式引入 Linkus Windows SDK Core
      <script src="./ys-webrtc.umd.js"></script>

步骤二、初始化 Linkus Windows SDK Core

使用 init 方法对 Linkus Windows SDK Core 进行初始化。初始化成功后会得到两个实例化后的 Operator 对象和一个方法。
名称 类型 说明
PBXOperator 对象 包含 PBX 相关的方法和参数,如通话记录查询、用户账号登出等。
PhoneOperator 对象 包含通话相关的方法及参数,如发起呼叫、接听通话、挂断通话等。
destroy 方法 用于销毁 Linkus Windows SDK Core。
方法
init({
    params//具体参数参见下表
})
参数
参数 类型 是否必填 说明
username string 分机号或邮箱地址
secret string 用户的 Linkus SDK 登录签名。
pbxURL URL | string PBX 的访问地址,需要包含使用协议以及对应的端口。如:https://192.168.1.1:8088https://yeastar.example.com.。
enableLog boolean 是否启用日志输出并将错误日志上报至 PBX。
取值范围
  • true:启用
  • false:禁用
注: 此功能默认启用。
reRegistryPhoneTimes number 指定可重新注册 SIP UA 的次数,默认无限制。
userAgent WebPC" | "WebClient Asterisk 系统中的用户代理 (User Agent),用于标识正在使用该系统的客户端。

默认值为 WebClient

deviceIds { cameraId?: string; microphoneId?: string;} 指定音视频输入设备的 ID,包含摄像头 ID 及麦克风 ID。
disableCallWaiting boolean 是否禁用呼叫等待。
取值范围
  • true:禁用呼叫等待,PBX 设置的呼叫等待时间不生效,且 PBX 只处理单路通话。
  • false:启用呼叫等待。
示例代码
  • 使用 npm 安装并初始化 Linkus 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;
        })
        .catch((error) => {
          console.log(error);
          });
  • 使用 script 标签方式导入并初始化 Linkus SDK Core。
    <script src="./ys-webrtc.umd.js"></script>
    <script>
      // 加载成功后通过YSWebRTC对象进行初始化
      YSWebRTC.init({
        username: '1000',
        secret: 'sdkshajgllliiaggskjhf',
        pbxURL: 'https://192.168.1.1:8088',
      })
        .then((operator) => {
          // 获得 PhoneOperator和PBXOperator实例和destroy方法
          const { phone, pbx, destroy } = operator;
        })
        .catch((error) => {
          console.log(error);
        });
        </script>