文章目录

  • 1. 呼入处理方案
  • 2. 细节处理
    • 1. a-leg 的拨号计划
    • 2. originate 呼叫坐席

1. 呼入处理方案

使用 FreeSWICTH 的 ESL 模块,一个简单的呼入处理时序如下图所示,关键步骤做如下补充:

  1. 用户呼入到 FreeSWITCH 实例,a-leg 创建
  2. FreeSWITCH 根据用户呼叫的号码路由匹配拨号计划,该拨号计划最好配置上 ESL 外连的 socket APP
  3. esl 外连目标 esl 客户端,esl 客户端接收连接后需订阅 a-leg 上的相应事件
  4. esl 客户端根据业务规则分配一个示闲的坐席接待用户
  5. esl 客户端获取目标坐席的 SIP 账户,向 FreeSWITCH 下发 originate 命令,呼叫目标坐席。这里之所以不在 a-leg 的 outbound 连接上直接执行 bridge APP 桥接坐席,是因为坐席可能暂时忙其他事情直接挂断电话,这样用户会感知到对方挂断但自己这一端的电话还没有挂,影响体验
  6. 对于坐席可以采用 inbound 模式监听其应答状态,如无特殊需求一般不需要为坐席单独配置拨号计划 outbound 外连
    1. 坐席的呼叫命令中可以带上超时参数,如果坐席超时未接听则自动挂断,从步骤4开始重新执行,继续分配另外一个坐席
    2. 如果目标坐席接了电话,则 b-leg 接通,此时在用户来电的 a-leg 上执行 answer APP 通知对方已接通即可
  7. 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 呼叫坐席

呼叫坐席的命令示例如下,需要注意的有以下几点:

  1. 通过 originate_timeout 设置呼叫坐席的超时秒数,坐席超时未接听则自动挂断 b-leg
  2. 通过 origination_uuid 指定 b-leg 的会话 id,会话 id 可以自行生成保存,方便之后执行 uuid_bridge
  3. 在 b-leg 接通后执行 park 程序把坐席端的电话保持住,否则呼叫可能会超时自动挂断
originate {originate_timeout=10,origination_uuid=888888,origination_caller_id_number=1008611,origination_caller_id_name=1008611}user/1018 &park()

FreeSWITCH 呼入系统的简要设计相关推荐

  1. Freeswitch呼入及呼出录音问题

    Freeswitch 呼入与呼出录音配置方式不同,网上一般只提到呼入的录音,如果这种配置用在呼出上一般是不成功的. 呼入录音一般的配置方式是在defautl.xml中路由下配置即可,配置文件如下: & ...

  2. FreeSwitch呼入处理流程

    为了简单起见,本文分析一个单边呼叫.让终端呼入到FS,然后播放一个文件就退出,不执行FS的呼出动作.参考拨号方案: <extension name="fs_one_way_inboun ...

  3. freeswitch呼入落地测试信息

    insert into feeext(ext,label) select username,password from fs_user event plain all event filter Cal ...

  4. FreeSWITCH 1.10 源码阅读(3)-sofia 模块原理及其呼入处理流程

    文章目录 1. 前言 2. 源码分析 2.1 sofia 模块的加载 2.2 呼入的处理流程 1. 前言 SIP(Session Initiation Protocol) 是应用层的信令控制协议,有许 ...

  5. freeswitch软电话配置、结合讯时网关,外线电话呼入、呼出配置

    文章目录 软电话配置 配置外部电话呼入sip软电话 配置sip软电话呼出 交换机后台配置 参考资料 软电话配置 不同的软电话配置大同小异.FreeSWITCH 默认配置了 1000 ~ 1019 共 ...

  6. 呼入型呼叫中心系统的ACD排队规则

    呼叫中心带有客服型特点的软件系统都会有ACD排队功能,每个公司的排队规则也是不同的,今天我们就来了解一下,呼叫中心软件系统的智能ACD排队规则. 呼叫中心ACD是指客服中心接到客户来电时,会根据一定的 ...

  7. freeswitch + dbl 呼入设置

    在fs_cli中,提示错误: Rejected by acl "domains". Falling back to Digest auth. 解决: 2,提示错误: sofia_r ...

  8. 系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)

    权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555)      1. 前言:      权限管理往往是一个极其复杂的问题,但也可 ...

  9. 一个小型的网页抓取系统的架构设计

    一个小型的网页抓取系统的架构设计 网页抓取服务是互联网中的经常使用服务.在搜索引擎中spider(网页抓取爬虫)是必需的核心服务.搜索引擎的衡量指标"多.快.准.新"四个指标中,多 ...

最新文章

  1. 互联网50年类脑架构技术演化图
  2. 洛谷——P2872 [USACO07DEC]道路建设Building Roads
  3. DPDK — IGB_UIO,与 UIO Framework 进行交互的内核模块
  4. Framebuffer原理、使用、测试系列文章
  5. boost::units::unscale相关的测试程序
  6. ISERDES Guidelines
  7. Algorithm I assignment Collinear
  8. android shell 批量打包,Android执行shell命令打包
  9. MySQL高级-内存管理及优化
  10. 森林结点数,边数与树个数的关系
  11. 使用Flink实现索引数据到Elasticsearch
  12. 2021新书—《Python机器学习算法与实战》
  13. 2.运筹学上课复盘 之 单纯性法的原理 + 两阶段法 + 解的类型
  14. 电力-开闭所/配电房/变电所/变电站
  15. html段落简字前带繁字,简繁体字对照表,抄佛经的师兄们必藏
  16. React Native 移动开发入门与实战
  17. 爬虫练手项目:获取豆瓣评分最高的电影并下载
  18. 英特尔Nick McKeown:定义边缘 引领前沿
  19. fcitx切换半角/全角,显示状态条
  20. 中标麒麟系统u盘安装_U盘启动中标麒麟V6双系统安装教程

热门文章

  1. 测试人明年跳槽,我劝你千万别忽略这些“细节”不然……
  2. (2018-2021年)Uncertainty 相关SOTA文献笔记整理
  3. pdb断点命令_python的pdb调试命令的命令整理及实例
  4. 搜索引擎的原理,架构与细节
  5. 南理文字RPG Four
  6. JDBC-通用查询功能
  7. C++专题:异常处理与转换函数,智能指针,STL模板
  8. ffmpeg学习(11)音视频文件muxer(2)多输入混流
  9. 折叠屏已经不新鲜了,明天你可能会用上“伸缩屏幕”!
  10. 2021.07.17【R语言】丨扩增子课程学习——α多样性简介