1.0.19 • Published 8 months ago
react-jssip-ui v1.0.19
项目基于 sip-call(对jssip的二次封装,感谢原作者的贡献)。
安装
npm install react-jssip-ui
yarn add react-jssip-ui
示例
import { SipContactCenter } from 'react-jssip-ui';
import 'react-jssip-ui/dist/style.css';
let sipCall;
export default () => {
// 拨打电话
function call(phone) {
// 其中:
// 入参,第一个参数为必填,第二个参数为可选的扩展参数
// 出参,callUUID表示通话的唯一标识,与话单中的uuid一致
sipCall.call(phone,{"businessId":"自定义参数(最多100个字符)"});
}
// 检查麦克风
function micCheck() {
sipCall.micCheck();
}
return (
<SipContactCenter
options={{
host: 'sip.example.com',
port: '5066',
proto: false,
extNo: '8889',
extPwd: '8889'
}}
onRegister={(sip) => (sipCall = sip)}
></SipContactCenter>
)
}
文档说明
提供如下方法:
函数 | 调用方式 | 说明 |
---|---|---|
销毁SDK | cleanSDK() | |
检查麦克风 | micCheck() | 异步接口,若麦克风异常会回调MIC_ERROR事件 |
注册 | register() | |
取消注册 | unregister() | |
呼叫请求 | call(phone,extraParam={}) | phone为外呼号码,extraParam为可选的扩展参数(可以不传) |
挂断电话 | hangup() | |
应答接听 | answer() | |
保持 | hold() | |
取消保持 | unhold() | |
转接通话 | transfer(phone) | |
按键 | sendDtmf(tone) | 按键或二次拨号 |
以下对几个特殊的方法进行说明:
初始化options参数
参数 | 说明 | 是否必填 |
---|---|---|
host | 服务器地址 | 必填项 |
port | 服务器端口 | 必填项 |
proto | bool类型 true/false,使用wss或者ws协议 | 不填,默认为ws协议 |
extNo | 分机账号 | 必填项 |
extPwd | 分机密码 | 必填项 |
stateEventListener | 状态回调函数方法 参照文档最下方stateEventListener详细说明 | 需注入状态回调 |
autoRegister | bool类型 true/false,initSDK调用后是否自动注册 | 不填默认为false |
状态回调(stateEventListener)
前端注入状态回调函数,通过状态回调 控制页面按钮显示
stateEventListener回调参数为 event, data
Event事件列表 | 返回值 | 状态说明 |
---|---|---|
MIC_ERROR | {msg: xxxx} | 麦克风检测异常 |
ERROR | {msg: xxxx} | 错误异常 |
CONNECTED | {localAgent: '1001'} | 连接成功 |
DISCONNECTED | 无返回值 | websocket连接失败 |
REGISTERED | 无返回值 | 注册成功 |
UNREGISTERED | 无返回值 | 取消注册 |
REGISTER_FAILED | {msg: xxxx} | 注册失败 |
INCOMING_CALL/OUTGOING_CALL | {direction: 'inbound', otherLegNumber: '138xxxxxxxx', 'callId': 'xxxxxxx'} 说明:direction为呼叫方向:inbound呼入,outbound呼出;otherLegNumber:第三方呼叫记录 | 呼入振铃/外呼响铃 |
IN_CALL | 无返回值 | 通话中 |
HOLD | 无返回值 | 保持中 |
CALL_END | CallEndEvent | 通话结束 |
CallEndEvent
属性 | 必须 | 类型 | 说明 |
---|---|---|---|
answered | 是 | boolean | 是否接通(以后端为准) |
originator | 是 | string | 发起方(挂断方):local本地(自己),remote远程(对方) |
cause | 是 | string | 挂断原因 |
code | 否 | number | 当originator=remote,且answered=false时存在 |
1.0.19
8 months ago
1.0.18
8 months ago
1.0.17
8 months ago
1.0.16
8 months ago
1.0.15
8 months ago
1.0.14
9 months ago
1.0.9
9 months ago
1.0.11
9 months ago
1.0.10
9 months ago
1.0.13
9 months ago
1.0.12
9 months ago
1.0.8
9 months ago
1.0.7
9 months ago
1.0.6
9 months ago
1.0.5
9 months ago
1.0.3
9 months ago
1.0.2
9 months ago
1.0.0
9 months ago