WebRTC话机插件
适用版本soft-phone-sdk_1.0.19
安装
npm install soft-phone-sdk
或者
<script src="/soft-phone-sdk/soft-phone-sdk_1.0.19.js"></script>
快速使用
下面例子会自动创建一个默认自动接听的话机实例
import SoftPhoneSdk from 'soft-phone-sdk';
const op = {
wss: '话机服务地址',
wssport: '话机服务端口',
account: '话机账号',
password: '话机密码'
}
const SoftPhoneSdk = new SoftPhoneSdk(op);
如果弹出浏览器对麦克风的使用请求, 请点击允许
初始化配置 SoftPhoneOptions
在new SoftPhoneSdk(options)
中,options
配置项如下:
wss: string
必传
远程
websocket
服务地址wssport: string
必传
远程
websocket
服务端口account: string
必传
话机账号
password: string
必传
话机密码
el: string
接收一个元素选择器,用于指定
SDK
的UI控件的显示位置, 不传则不展示UI控件。
<div id="sdk-box"></div>
const sdk = new SoftPhoneSdk({
el: '#sdk-box',
...
});
如果配置正确, 会有如图控件出现在页面上的指定元素内。
ring: string
default: 内置音频
振铃音频文件路径
autoAnswer: boolean
default: true
开启自动接听
logLevel: number
default: 3
日志等级,
error 0
warn 1
log 2
debug 3
stunServers: Array
default: null
配置
stun
服务地址
API
在const sdk = new SoftPhoneSdk(options)
中,可以通过sdk
直接调用的方法。
init(options: SoftPhoneOptions)
接收一个
SDK
配置对象,将当前实例再次初始化,new SoftPhoneSdk(options)
会自动调用,当你需要重新初始化SDK
的时候可以使用。register(options ?: SoftPhoneOptions)
登录话机, 重新建立链接, 发起注册
stop()
退出, 断开链接
call(called: string)
话机发起外呼, 参数
called
为被叫号码answer()
应答
dtmf(num: number | string)
发送单个字符的
dtmf
命令, 支持0-9#*
mute()
静音
unMute()
解除静音
hangup()
挂断通话, 呼叫中和通话中都可以使用
getDevices(): Promise<Array<MediaDeviceInfo>>
获取设备信息
on(eventName: string, callback: Function): string
对
sdk
的事件进行监听,当事件触发时调用callback
, 返回一个监听的uuid
用于取消监听, 支持的事件名称在EventMap部分找到。
const uuid = softPhone.on('Registered', data => {
// 注册成功
})
once(eventName: string, callback: Function): string
对
sdk
的事件进行监听,当事件触发时调用callback
, 返回一个监听的uuid
用于取消监听, 支持的事件名称在EventMap部分找到, 与on
不同的是,once
绑定的事件在触发之后会自动解绑, 一次绑定只会触发一次。
const uuid = softPhone.once('Registered', data => {
// 注册成功
})
off(eventName: string, uuidOrFn: string | Function): Boolean
取消一个SDK
的事件监听, 需要指定eventName
, 可以使用指定函数引用或监听的uuid
。
softPhone.off('Registered', uuid);
// or
softPhone.off('Registered', functionPointer);
事件 EventMap
可以通过sdk.on方法绑定或解绑并取得响应数据的事件名称集合。
sdk.on('Registered', res => { ... })
可监听的事件名称如下:
Connected
链接成功
Disconnected
链接断开
Registered
注册成功
UnRegistered
退出成功
RegistrationFailed
注册失败
CallTerminated
呼叫终止
Invite
收到呼叫
Answer
应答
AnswerFailed
应答失败
Accepted
进入通话
Terminated
通话结束