当前位置:网站首页>freeswitch拨打分机号源代码跟踪
freeswitch拨打分机号源代码跟踪
2022-07-07 03:13:00 【求真得真】
概述
freeswitch是一款非常好用的开源VOIP软交换平台。
之前我们有介绍过使用fs拨打分机号的方法,其中代码流程是比较复杂的,所以单独开一章介绍。
fs拨打分机号,是使用send_dtmf接口实现,本节主要介绍接口是如何把DTMF码发送出去的,经过了哪些模块。
环境
centos:CentOS release 7.0 (Final)或以上版本
freeswitch:v1.8.7
GCC:4.8.5
拨号计划
fs配置文件/usr/local/freeswitch/conf/dialplan/test.xml
<include>
<context name="ext_test">
<extension name="test" continue="false">
<condition field="destination_number" expression="^(\d+)$">
<action application="sched_hangup" data="+10"/>
<action application="send_dtmf" data="1234"/>
<action application="sleep" data="5000"/>
<action application="endless_playback" data="/usr/local/freeswitch/sounds/101-baidu-mp3.mp3"/>
</condition>
</extension>
</context>
</include>
源代码流程
图1,“FS CORE”是freeswitch的核心模块,“mod_dptools”和“mod_sofia”是fs的子模块。
因为dialplan中的流程是先“send_dtmf”,然后“sleep”,所以从上面的调用流程图中,可以看到流程起点都是从mod_dptools模块开始的。
总结
freeswitch核心模块的流程和子模块众多,模块之间的调用和注册回调函数比较复杂,流程多变。
梳理子模块功能代码流程有助于理解fs的整体架构。
空空如常
求真得真
边栏推荐
- Config分布式配置中心
- [Luogu p1971] rabbit and egg game (bipartite game)
- 品牌·咨询标准化
- How can brand e-commerce grow against the trend? See the future here!
- SolidWorks GB Library (steel profile library, including aluminum profile, aluminum tube and other structures) installation and use tutorial (generating aluminum profile as an example)
- 数据资产管理与数据安全国内外最新趋势
- MySQL binlog related commands
- MySQL view bin log and recover data
- 父组件传递给子组件:Props
- Composition API 前提
猜你喜欢
场馆怎么做体育培训?
Comment les entreprises gèrent - elles les données? Partager les leçons tirées des quatre aspects de la gouvernance des données
从零到一,教你搭建「CLIP 以文搜图」搜索服务(二):5 分钟实现原型
Redhat5 installing vmware tools under virtual machine
Lvs+kept (DR mode) learning notes
Jmeter 5.5版本发布说明
Sword finger offer high quality code
Complete process of MySQL SQL
Basic process of network transmission using tcp/ip four layer model
Config分布式配置中心
随机推荐
Networkx绘图和常用库函数坐标绘图
栈题目:有效括号的嵌套深度
Unity3d learning notes
途家、木鸟、美团……民宿暑期战事将起
什么情况下考虑分库分表
Please ask a question, flick Oracle CDC, read a table without update operation, and repeatedly read the full amount of data every ten seconds
工具类:对象转map 驼峰转下划线 下划线转驼峰
JWT的基础介绍
Networkx drawing and common library function coordinate drawing
Take you to brush (niuke.com) C language hundred questions (the first day)
How can brand e-commerce grow against the trend? See the future here!
MySQL binlog related commands
精准时空行程流调系统—基于UWB超高精度定位系统
Can 7-day zero foundation prove HCIA? Huawei certification system learning path sharing
SolidWorks的GB库(钢型材库,包括铝型材、铝管等结构)安装及使用教程(生成铝型材为例)
关于数据库数据转移的问题,求各位解答下
品牌电商如何逆势增长?在这里预见未来!
多学科融合
Basic introduction of JWT
Jetpack Compose 远不止是一个UI框架这么简单~