@hzkj/voicenine
v1.4.3
Published
js sdk of cloud platform base on janus gateway.
Downloads
445
Readme
HANZI VOICENINE
VERSION 1.4.2
引入
import { VoiceNine } from '@hzkj/voicenine'
const voice9 = new VoiceNine()方法
//身份初始化方法
voice9.init(login接口返回的对象)
//主动触发登出
voice9.logout()
//设置登录状态为”忙碌“
voice9.setBusy()
//设置登录状态为”空闲“
voice9.setReady()
//自定义忙碌(参数自定义)
voice9.setWorkNotReady('1234')
//拨打电话
voice9.call(telNum)
//接通电话
voice9.answer()
//挂断电话
voice9.hangup()
//发送按键
voice9.sendDtmf('1234')
//转接(转技能组: groupId:1, 转坐席: 1001@test, 转ivr: ivrId:100, 转外呼: 13311112222)
voice9.transfer(telNum)
//咨询(咨询ivr流程: ivrId:123, 咨询坐席:1001@test, 咨询分机:950002)
voice9.consult(telNum)
//取消咨询
voice9.consultCancel(telNum)
//咨询转接
voice9.consultTransfer(telNum)
//转多方
voice9.consultParty()
//通话静音
voice9.mute()
//通话取消静音
voice9.cancelMute()
//通话保持
voice9.hold()
//通话取消保持
voice9.cancelHold()
//班长监听:班长可以听到别人的声音,别人听不到班长的声音。
voice9.monitor('1003@test', callId)
//强拆:原本与客户通话的坐席会被挂断,发起强拆的坐席代替原坐席继续与客户通话。(必须处于监听中的电话)
voice9.intercept()
//强插:通话将由原来的双方通话变成三人会议
voice9.barge('1003@test', callId)
//辅导:辅导过程中被辅导坐席可以听到辅导者的声音,客户无法听到辅导者的声音。
voice9.coach('1003@test', callId)事件
// 监听全量消息
voice9.on('message', (data) => {})
// 监听退出
voice9.on('logout', (data) => {})
// 监听可用行为列表
voice9.on('btnstate', (btns) => {})
// 监听状态变化
voice9.on('agentstate', (state) => {})
// 监听具体状态
voice9.on(voice9.enum.state.LOGIN, (data) => {})
// 触发事件
voice9.emit(event, data)状态枚举
| 状态值 | 说明 |
|--------|------|
| LOGIN | 已登录 |
| LOGOUT | 已退出 |
| READY | 空闲 |
| NOT_READY | 忙碌 |
| WORK_NOT_READY | 自定义忙碌 |
| AFTER | 话后 |
| OUT_CALL | 外呼中 |
| OUT_CALLER_RING | 外呼主叫振铃 |
| OUT_CALLED_RING | 外呼被叫振铃 |
| PLAY_AGENT_ID | 播放坐席工号 |
| TALKING | 通话中 |
| MUTE_TALKING | 静音中 |
| HOLD_TALKING | 保持中 |
| INNER_CALL_RING | 内呼来电振铃 |
| INNER_CALL_TALKING | 内呼通话中 |
| INBOUND_RING | 来电振铃 |
| TRANSFER | 转接中 |
| TRANSFERED_RING | 转接来电振铃 |
| TRANSFER_OUT_RING | 转接外呼振铃 |
| TRANSFERED_TALKING | 转接来电通话中 |
| CONSULT | 咨询中 |
| CONSULT_RING | 咨询来电振铃 |
| CONSULT_OUT_RING | 咨询外呼振铃 |
| CONSULT_IVR | 咨询IVR |
| CONSULT_TALKING | 咨询通话中 |
| CONSULTED_TALKING | 来电咨询中 |
| CONFERENCE_TALKING | 多方通话 |
使用方式:
voice9.on(voice9.enum.state.TALKING, (data) => {})
voice9.on(voice9.enum.state.INBOUND_RING, (data) => {})
// 也可以直接用字符串
voice9.on('TALKING', (data) => {})连接状态事件
// 监听 WebSocket / Janus 连接状态变化
voice9.on('connstate', ({ type, state, code, reason }) => {
// type: 'ws' | 'janus'
// state: 'connecting' | 'connected' | 'closed' | 'failed'
})
// 监听 SIP 注册状态
voice9.on('sipstate', ({ registered, username, code, reason }) => {})
// 监听通话 ICE 连接状态(WebRTC 重连)
// state: 'disconnected' | 'reconnecting' | 'reconnected' | 'failed'
voice9.on('icestate', ({ state }) => {})