FreeSWITCH 呼入系统的简要设计
文章目录
- 1. 呼入处理方案
- 2. 细节处理
- 1. a-leg 的拨号计划
- 2. originate 呼叫坐席
1. 呼入处理方案
使用 FreeSWICTH 的 ESL 模块,一个简单的呼入处理时序如下图所示,关键步骤做如下补充:
- 用户呼入到 FreeSWITCH 实例,a-leg 创建
- FreeSWITCH 根据用户呼叫的号码路由匹配拨号计划,该拨号计划最好配置上 ESL 外连的 socket APP
- esl 外连目标 esl 客户端,esl 客户端接收连接后需订阅 a-leg 上的相应事件
- esl 客户端根据业务规则分配一个示闲的坐席接待用户
- esl 客户端获取目标坐席的 SIP 账户,向 FreeSWITCH 下发
originate
命令,呼叫目标坐席。这里之所以不在 a-leg 的 outbound 连接上直接执行 bridge APP 桥接坐席,是因为坐席可能暂时忙其他事情直接挂断电话,这样用户会感知到对方挂断但自己这一端的电话还没有挂,影响体验- 对于坐席可以采用 inbound 模式监听其应答状态,如无特殊需求一般不需要为坐席单独配置拨号计划 outbound 外连
- 坐席的呼叫命令中可以带上超时参数,如果坐席超时未接听则自动挂断,从步骤4开始重新执行,继续分配另外一个坐席
- 如果目标坐席接了电话,则 b-leg 接通,此时在用户来电的 a-leg 上执行 answer APP 通知对方已接通即可
- a/b leg 都已经接通,接下来使用
uuid_bridge
API 桥接两条腿就可以通话了
2. 细节处理
1. a-leg 的拨号计划
用户呼入的拨号计划示例如下,当用户呼入到 FreeSWITCH 时可以先执行 ring_ready APP 回一个 180 给到用户终端,然后直接执行 esl 外连将 a-leg 交给目标服务器控制,由业务系统决定在 a-leg 上的响应行为
<extension name="inbound"><condition field="destination_number" expression="^9000(\d+)$"><action application="ring_ready"/><action application="socket" data="127.0.0.1:9000 async full"/></condition>
</extension>
2. originate 呼叫坐席
呼叫坐席的命令示例如下,需要注意的有以下几点:
- 通过 originate_timeout 设置呼叫坐席的超时秒数,坐席超时未接听则自动挂断 b-leg
- 通过 origination_uuid 指定 b-leg 的会话 id,会话 id 可以自行生成保存,方便之后执行
uuid_bridge
- 在 b-leg 接通后执行 park 程序把坐席端的电话保持住,否则呼叫可能会超时自动挂断
originate {originate_timeout=10,origination_uuid=888888,origination_caller_id_number=1008611,origination_caller_id_name=1008611}user/1018 &park()
FreeSWITCH 呼入系统的简要设计相关推荐
- Freeswitch呼入及呼出录音问题
Freeswitch 呼入与呼出录音配置方式不同,网上一般只提到呼入的录音,如果这种配置用在呼出上一般是不成功的. 呼入录音一般的配置方式是在defautl.xml中路由下配置即可,配置文件如下: & ...
- FreeSwitch呼入处理流程
为了简单起见,本文分析一个单边呼叫.让终端呼入到FS,然后播放一个文件就退出,不执行FS的呼出动作.参考拨号方案: <extension name="fs_one_way_inboun ...
- freeswitch呼入落地测试信息
insert into feeext(ext,label) select username,password from fs_user event plain all event filter Cal ...
- FreeSWITCH 1.10 源码阅读(3)-sofia 模块原理及其呼入处理流程
文章目录 1. 前言 2. 源码分析 2.1 sofia 模块的加载 2.2 呼入的处理流程 1. 前言 SIP(Session Initiation Protocol) 是应用层的信令控制协议,有许 ...
- freeswitch软电话配置、结合讯时网关,外线电话呼入、呼出配置
文章目录 软电话配置 配置外部电话呼入sip软电话 配置sip软电话呼出 交换机后台配置 参考资料 软电话配置 不同的软电话配置大同小异.FreeSWITCH 默认配置了 1000 ~ 1019 共 ...
- 呼入型呼叫中心系统的ACD排队规则
呼叫中心带有客服型特点的软件系统都会有ACD排队功能,每个公司的排队规则也是不同的,今天我们就来了解一下,呼叫中心软件系统的智能ACD排队规则. 呼叫中心ACD是指客服中心接到客户来电时,会根据一定的 ...
- freeswitch + dbl 呼入设置
在fs_cli中,提示错误: Rejected by acl "domains". Falling back to Digest auth. 解决: 2,提示错误: sofia_r ...
- 系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)
权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555) 1. 前言: 权限管理往往是一个极其复杂的问题,但也可 ...
- 一个小型的网页抓取系统的架构设计
一个小型的网页抓取系统的架构设计 网页抓取服务是互联网中的经常使用服务.在搜索引擎中spider(网页抓取爬虫)是必需的核心服务.搜索引擎的衡量指标"多.快.准.新"四个指标中,多 ...
最新文章
- 互联网50年类脑架构技术演化图
- 洛谷——P2872 [USACO07DEC]道路建设Building Roads
- DPDK — IGB_UIO,与 UIO Framework 进行交互的内核模块
- Framebuffer原理、使用、测试系列文章
- boost::units::unscale相关的测试程序
- ISERDES Guidelines
- Algorithm I assignment Collinear
- android shell 批量打包,Android执行shell命令打包
- MySQL高级-内存管理及优化
- 森林结点数,边数与树个数的关系
- 使用Flink实现索引数据到Elasticsearch
- 2021新书—《Python机器学习算法与实战》
- 2.运筹学上课复盘 之 单纯性法的原理 + 两阶段法 + 解的类型
- 电力-开闭所/配电房/变电所/变电站
- html段落简字前带繁字,简繁体字对照表,抄佛经的师兄们必藏
- React Native 移动开发入门与实战
- 爬虫练手项目:获取豆瓣评分最高的电影并下载
- 英特尔Nick McKeown:定义边缘 引领前沿
- fcitx切换半角/全角,显示状态条
- 中标麒麟系统u盘安装_U盘启动中标麒麟V6双系统安装教程
热门文章
- 测试人明年跳槽,我劝你千万别忽略这些“细节”不然……
- (2018-2021年)Uncertainty 相关SOTA文献笔记整理
- pdb断点命令_python的pdb调试命令的命令整理及实例
- 搜索引擎的原理,架构与细节
- 南理文字RPG Four
- JDBC-通用查询功能
- C++专题:异常处理与转换函数,智能指针,STL模板
- ffmpeg学习(11)音视频文件muxer(2)多输入混流
- 折叠屏已经不新鲜了,明天你可能会用上“伸缩屏幕”!
- 2021.07.17【R语言】丨扩增子课程学习——α多样性简介