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

    <extension name="fs_one_way_inbound"><condition field="destination_number" expression="^10086$"><action application="sleep" data="1000 "/><action application="answer"/><action application="playback" data="ivr/8000/ivr-welcome_to_freeswitch.wav"/></condition></extension>

Sofia栈捕获INVITE消息后,处理100 Trying,调用模块初始化时注册的回调函数sofia_event_callback()。处理新的INVITE请求,首先调用switch_core_session_request_uuid()实例化Session对象,同时实例化Channel对象,并把Channel状态初始化为CS_NEW,激活通道处理线程。

Sofia栈进一步处理INVITE消息,抛出nua_i_invite事件通报事件进展,这时驱动状态机变化,状态机由CS_NEW状态迁移到CS_INIT状态。最终由状态机核心代码里的switch_core_standard_on_init()驱动状态迁移到CS_ROUTING。进而执行核心回调switch_core_standard_on_routing(),这个函数执行拨号方案的定位与查找,记录一个todo list,查找结束后,状态迁移到CS_EXECUTE。核心回调switch_core_standard_on_execute()挨个执行前一步todo list的APP。执行answer时,会触发 SIP的200 OK消息发出;当执行完最后一条APP后,触发一个hangup,即发SIP BYE消息。

后续的状态迁移省略。

说明:呼叫状态机会调用所有注册的状态回调函数,上图中仅体现推动状态迁移的关键调用。

FreeSwitch呼入处理流程相关推荐

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

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

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

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

  3. FreeSWITCH 呼入系统的简要设计

    文章目录 1. 呼入处理方案 2. 细节处理 1. a-leg 的拨号计划 2. originate 呼叫坐席 1. 呼入处理方案 使用 FreeSWICTH 的 ESL 模块,一个简单的呼入处理时序 ...

  4. freeswitch呼入落地测试信息

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

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

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

  6. freeswitch + dbl 呼入设置

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

  7. 点星PBX(DotAsterisk)外线呼入到离线坐席(sip分机未注册)时,如何播放语音提示外线客户坐席不在线

    1. 公司需求说明 公司部署的点星PBX(DotAsterisk)呼叫中心进行电话业务,一段时间后,运维人员提出了下面一个需求,需求内容如下. 客户公司话务员是轮班制,采用电脑SIP软电话坐席,坐席下 ...

  8. 大数据产品开发流程规范_华为内部资料流出!揭秘华为数据湖:3大特点、6个标准、入湖流程...

    点蓝色字关注"云技术" 导读:数据湖:实现企业数据的"逻辑汇聚". 作者:华为公司数据管理部来源:大数据DT(ID:hzdashuju)01 华为数据湖的3个特 ...

  9. 工信部:老年人拨打三大运营商客服享受一键呼入等服务

    12月26日消息,据工信部发布的消息,日前,在切实解决老年人运用智能技术困难新闻发布暨成果展示会上,工业与信息化部副部长刘烈宏发布了老年人一键呼入人工客服.电信服务营业厅爱心通道以及主流手机" ...

最新文章

  1. 中国LINUX内核开发大会 ppt演讲资料 与 会议视频
  2. signature=17cdfa42b38e299201383f4fa6ccc23f,EYE FOR FASHION
  3. 易语言基础编程知识〖E语言手册〗
  4. 【Maven实用技巧】03. Maven 编译打包时如何忽略测试用例
  5. 关闭edge任务栏预览_如何在Microsoft Edge中关闭选项卡预览
  6. 这 30 个常用的 Maven 命令你必须熟悉
  7. 论文浅尝 | CFO: Conditional Focused Neural Question Answering
  8. python入门-廖雪峰 Python教程
  9. Objective-C SQLiteHelper
  10. php第三节(运算符)
  11. php自动关机代码,vb下的恶搞关机程序
  12. 从np.random.normal()到正态分布的拟合
  13. AWK相关学习(转)
  14. bpftrace - tcpstates.bt
  15. VS2015安装使用番茄助手Visual Assist
  16. 手机号码是如何构成的?
  17. java web 怎么实现直播_java web开发直播平台可以实现但有缺陷
  18. Markdown (CSDN) MD编辑器(四)- 漂亮表格(表格背景色、跨行、跨列、多行)
  19. 【在线图表生成】掌握这些图表,年终报表根本不用愁!
  20. 求助!网站重构需要帮手(前端)

热门文章

  1. 【转】浅谈面向对象的坏处
  2. sklearn——线性回归例子
  3. 计算机共享网络热点,(传输)将win7计算机无线网络变成WiFi热点,使​​手机和笔记本电脑可以共享Internet...
  4. npm模块之opn使用教程(译)
  5. Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习
  6. b2b2c 电子商务平台涉及的技术、运营方案
  7. HTAP数据库及应用场景简析
  8. linux 私有云存储,私有云存储搭建(owncloud)
  9. python函数返回多个变量_Python中接收函数多个返回结果的两种方法
  10. 常用电平LVTTL、LVCMOS、LVDS、CML的标准和区别