1.3.4 • Published 1 month ago

@herbiel/sip-call v1.3.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

话务条(demo)

本项目是基于JsSIP实现的webrtc软电话条、话务条。不依赖于其他业务系统,支持直接对接opensips、freeswitch。 支持react、vue、jquery、原生js。

使用说明

安装

使用 npm 或 yarn 安装

我们推荐使用 npm 或 yarn 的方式进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。

npm install sip-call --save
yarn add sip-call

浏览器引入

在浏览器中使用 script 和 link 标签直接引入文件,并使用全局变量 SipCall。 我们在 npm 发布包内的 sip-js/lib 目录下提供了 bundle.browser.js

<script src="lib/bundle.browser.js"></script>

快速上手

let stateEventListener = (event, data) => {
switch(event){
    case "ERROR":
    
    break
    case "CONNECTED":
    
    break

    
    default:
    
    }
}
let config = {
    host: '10.133.35.89',
    port: '5066',
    proto: true,
    extNo: '1001',
    extPwd: '123456',
    autoRegister: true,
    stateEventListener: stateEventListener
}
this.sipClient = new SipCall(config)

文档说明

提供如下方法:

函数调用方式说明
初始化new SipCall(config)
销毁SDKcleanSDK()
注册register()
取消注册unregister()
呼叫请求call(phone)真实外呼需要传的参数
挂断电话hangup()
应答接听answer()
保持hold()
取消保持unhold()
转接通话transfer(phone)

以下对几个特殊的方法进行说明:

初始化SDK

初始化加载sdk的参数说明:

参数说明是否必填
host服务器地址必填项
port服务器端口必填项
protobool类型 true/false,使用wss或者ws协议不填,默认为ws协议
extNo分机账号必填项
extPwd分机密码必填项
stateEventListener状态回调函数方法 参照文档最下方stateEventListener详细说明需注入状态回调
autoRegisterbool类型 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无返回值通话结束
1.3.4

1 month ago

1.3.3

1 month ago