FreeSwitch呼入处理流程
为了简单起见,本文分析一个单边呼叫。让终端呼入到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呼入处理流程相关推荐
- FreeSWITCH 1.10 源码阅读(3)-sofia 模块原理及其呼入处理流程
文章目录 1. 前言 2. 源码分析 2.1 sofia 模块的加载 2.2 呼入的处理流程 1. 前言 SIP(Session Initiation Protocol) 是应用层的信令控制协议,有许 ...
- Freeswitch呼入及呼出录音问题
Freeswitch 呼入与呼出录音配置方式不同,网上一般只提到呼入的录音,如果这种配置用在呼出上一般是不成功的. 呼入录音一般的配置方式是在defautl.xml中路由下配置即可,配置文件如下: & ...
- FreeSWITCH 呼入系统的简要设计
文章目录 1. 呼入处理方案 2. 细节处理 1. a-leg 的拨号计划 2. originate 呼叫坐席 1. 呼入处理方案 使用 FreeSWICTH 的 ESL 模块,一个简单的呼入处理时序 ...
- freeswitch呼入落地测试信息
insert into feeext(ext,label) select username,password from fs_user event plain all event filter Cal ...
- freeswitch软电话配置、结合讯时网关,外线电话呼入、呼出配置
文章目录 软电话配置 配置外部电话呼入sip软电话 配置sip软电话呼出 交换机后台配置 参考资料 软电话配置 不同的软电话配置大同小异.FreeSWITCH 默认配置了 1000 ~ 1019 共 ...
- freeswitch + dbl 呼入设置
在fs_cli中,提示错误: Rejected by acl "domains". Falling back to Digest auth. 解决: 2,提示错误: sofia_r ...
- 点星PBX(DotAsterisk)外线呼入到离线坐席(sip分机未注册)时,如何播放语音提示外线客户坐席不在线
1. 公司需求说明 公司部署的点星PBX(DotAsterisk)呼叫中心进行电话业务,一段时间后,运维人员提出了下面一个需求,需求内容如下. 客户公司话务员是轮班制,采用电脑SIP软电话坐席,坐席下 ...
- 大数据产品开发流程规范_华为内部资料流出!揭秘华为数据湖:3大特点、6个标准、入湖流程...
点蓝色字关注"云技术" 导读:数据湖:实现企业数据的"逻辑汇聚". 作者:华为公司数据管理部来源:大数据DT(ID:hzdashuju)01 华为数据湖的3个特 ...
- 工信部:老年人拨打三大运营商客服享受一键呼入等服务
12月26日消息,据工信部发布的消息,日前,在切实解决老年人运用智能技术困难新闻发布暨成果展示会上,工业与信息化部副部长刘烈宏发布了老年人一键呼入人工客服.电信服务营业厅爱心通道以及主流手机" ...
最新文章
- 中国LINUX内核开发大会 ppt演讲资料 与 会议视频
- signature=17cdfa42b38e299201383f4fa6ccc23f,EYE FOR FASHION
- 易语言基础编程知识〖E语言手册〗
- 【Maven实用技巧】03. Maven 编译打包时如何忽略测试用例
- 关闭edge任务栏预览_如何在Microsoft Edge中关闭选项卡预览
- 这 30 个常用的 Maven 命令你必须熟悉
- 论文浅尝 | CFO: Conditional Focused Neural Question Answering
- python入门-廖雪峰 Python教程
- Objective-C SQLiteHelper
- php第三节(运算符)
- php自动关机代码,vb下的恶搞关机程序
- 从np.random.normal()到正态分布的拟合
- AWK相关学习(转)
- bpftrace - tcpstates.bt
- VS2015安装使用番茄助手Visual Assist
- 手机号码是如何构成的?
- java web 怎么实现直播_java web开发直播平台可以实现但有缺陷
- Markdown (CSDN) MD编辑器(四)- 漂亮表格(表格背景色、跨行、跨列、多行)
- 【在线图表生成】掌握这些图表,年终报表根本不用愁!
- 求助!网站重构需要帮手(前端)
热门文章
- 【转】浅谈面向对象的坏处
- sklearn——线性回归例子
- 计算机共享网络热点,(传输)将win7计算机无线网络变成WiFi热点,使​​手机和笔记本电脑可以共享Internet...
- npm模块之opn使用教程(译)
- Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习
- b2b2c 电子商务平台涉及的技术、运营方案
- HTAP数据库及应用场景简析
- linux 私有云存储,私有云存储搭建(owncloud)
- python函数返回多个变量_Python中接收函数多个返回结果的两种方法
- 常用电平LVTTL、LVCMOS、LVDS、CML的标准和区别