qiyujsip 是一款基于 JSSIP 封装的 npm 包,用于前端与七鱼客服系统进行呼叫通讯。本教程将详细介绍 qiyujsip 的使用方法,包括安装、初始化、呼叫等流程,并提供示例代码及其讲解。
安装
在使用 qiyujsip 前,需要先安装这个 npm 包。安装命令如下:
npm install qiyujsip
初始化
在使用 qiyujsip 前,需要先初始化并配置相关参数。初始化示例代码如下:
-- -------------------- ---- ------- ------ -------- ---- ----------- ----- ---- - --- ------------- ------------ ---- ------------------ -- -------- --- -- --------- ------ ------------ ------ ---------- ---------------------- -- -------- --- -- -------------------- --- ------------------------------ ------ ----- ---------------------------------------- - -- -------------- -- ---
上述代码中,我们首先通过 import
引入 qiyujsip 包,并创建一个 qiyu 实例。然后,通过 setup()
方法设置相关参数,其中具体参数含义如下:
参数 | 参数类型 | 参数作用 | 是否必填 | 备注 |
---|---|---|---|---|
uri | string | SIP 协议中指定唯一用户的地址 | 是 | 适用于电商平台的 URI 格式 |
password | string | SIP 协议中用户认证的密码 | 是 | |
displayName | string | 显示在 SIP 界面上的名称 | 是 | |
wsServers | string[] | WebSocket 服务器地址 | 是 | 适用于电商平台的 wss 格式 |
mediaHandlerFactory | CustomMediaHandler | 自定义音视频处理函数 | 否 | 若不需要音视频功能,可以不填 |
debug | boolean | 是否开启调试模式 | 否 | |
sessionDescriptionHandlerFactoryOptions | object | 其他配置参数 | 否 | 若不需要音视频功能,可以不填 |
呼叫
完成初始化后,我们可以使用 qiyu 实例来发起呼叫。呼叫示例代码如下:
-- -------------------- ---- ------- ----- ------ - ---------------------------------- ----- ------- - - ----------------- - ------ ------ ------ ----- -- -------------- - -------- -- -- - ------------------ ---------- -- --------- -- -- - ------------------------ -- --------- -- -- - ----------------- ----------- -- ----------- -- -- - ----------------- ------------- -- ------- -- -- - ----------------- --------- - - -- ----------------- ---------
上述代码中,我们首先定义了呼叫的目标地址 target
,然后通过 call()
方法发起呼叫。在发起呼叫时,可以通过 options
对象传入其他参数,具体参数含义如下:
参数 | 参数类型 | 参数作用 | 是否必填 | 备注 |
---|---|---|---|---|
mediaConstraints | object | 媒体限制条件 | 否 | 通过该属性可以指定呼叫是否需要音视频功能 |
eventHandlers | object | 呼叫过程中的事件处理函数 | 否 | 可以监听呼叫过程中的各种事件,如进度、接通、结束等等 |
结语
本文介绍了 qiyujsip 的安装、初始化、呼叫等流程,同时提供了示例代码及其讲解。通过本文的学习,读者可以掌握如何使用 qiyujsip 进行前端与七鱼客服系统的呼叫通讯,对于涉及此类功能的项目开发有一定的指导意义。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572c481e8991b448e8df6