当前位置:网站首页>Freeswitch dials extension number source code tracking
Freeswitch dials extension number source code tracking
2022-07-07 07:09:00 【Be true】
summary
freeswitch Is a very easy to use open source VOIP Softswitch platform .
We have introduced the use of fs How to dial the extension number , The code flow is relatively complex , So I will open a separate chapter to introduce .
fs Dial the extension number , It's using send_dtmf Interface implementation , This section mainly introduces how interfaces integrate DTMF Code sent , What modules have been passed .
Environmental Science
centos:CentOS release 7.0 (Final) Or above
freeswitch:v1.8.7
GCC:4.8.5
Dial plan
fs The configuration file /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>
Source code flow
chart 1,“FS CORE” yes freeswitch Core module ,“mod_dptools” and “mod_sofia” yes fs Sub module of .
because dialplan The process in is first “send_dtmf”, then “sleep”, So from the above call flow chart , You can see that the starting point of the process is mod_dptools Module start .
summary
freeswitch There are many processes and sub modules of the core module , Calling and registering callback functions between modules are complex , Variable process .
Sorting out sub module function code flow is helpful to understand fs The overall structure of .
Empty as usual
Be serious
边栏推荐
- How can flinksql calculate the difference between a field before and after update when docking with CDC?
- Common function detect_ image/predict
- ViewModelProvider. Of obsolete solution
- 联合索引ABC的几种索引利用情况
- sqlserver多线程查询问题
- This article introduces you to the characteristics, purposes and basic function examples of static routing
- 多线程与高并发(9)——AQS其他同步组件(Semaphore、ReentrantReadWriteLock、Exchanger)
- 如何给目标机器人建模并仿真【数学/控制意义】
- 从零到一,教你搭建「CLIP 以文搜图」搜索服务(二):5 分钟实现原型
- Jetpack Compose 远不止是一个UI框架这么简单~
猜你喜欢
Matlab tips (29) polynomial fitting plotfit
数据资产管理与数据安全国内外最新趋势
DHCP路由器工作原理
Leetcode T1165: 日志分析
How can brand e-commerce grow against the trend? See the future here!
Precise space-time travel flow regulation system - ultra-high precision positioning system based on UWB
非父子组件的通信
组件的嵌套和拆分
Paranoid unqualified company
How DHCP router works
随机推荐
剑指offer-高质量的代码
.net core 访问不常见的静态文件类型(MIME 类型)
Reflection (II)
Get the city according to IP
2022年全国所有A级景区数据(13604条)
Brand · consultation standardization
数据资产管理与数据安全国内外最新趋势
How can gyms improve their competitiveness?
Bus消息总线
大促过后,销量与流量兼具,是否真的高枕无忧?
sqlserver多线程查询问题
大咖云集|NextArch基金会云开发Meetup来啦
JWT的基础介绍
什么情况下考虑分库分表
分布式id解决方案
How can flinksql calculate the difference between a field before and after update when docking with CDC?
工具类:对象转map 驼峰转下划线 下划线转驼峰
Advantages of using net core / why
LVS+Keepalived(DR模式)学习笔记
Multithreading and high concurrency (9) -- other synchronization components of AQS (semaphore, reentrantreadwritelock, exchanger)