freeswitch拨打分机号源代码跟踪
概述
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的整体架构。
空空如常
求真得真
freeswitch拨打分机号源代码跟踪相关推荐
- i908/i908E手机如何拨打固定电话分机号
俺用的是这个型号的手机. 着急间发现不能拨打分机号, 因为接通之后, 键盘会自动锁屏, 屏幕进入省电黑屏模式... Google了一下, 发现正确操作方法: 电话接通后手机会自动锁屏,如果需要继续使用 ...
- 蓝桥杯java第六届决赛第一题--分机号
标题:分机号X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如:751,520,321 都满足要求,而,766,918,201 就不符合要求.现 ...
- 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)...
((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{ ...
- Powershell管理系列(四)Lync server 2013 批量启用语音及分配分机号
有一个项目,我们要对现有的近4000个账号启用语音及设置分机号.网上看到一篇博文,描述如下,4000个账号一个一个去设置,确实挺麻烦的,其实我们可以换个思路.后面我们逐一讲述如何实现批量启用语音及设置 ...
- SFB 项目经验-29-批量-启用用户-启用企业语音-设置分机号(项目中)
1.启用用户 #测试用户 Enable-CsUser -Identity SFBDemo01 -RegistrarPool SFBFEPool01.i-x-Cloud.com -SipAddress ...
- 【面试那点儿事】囧,分机号的故事
入行也有十余年了,被面试和面别人,以及道听途说的面面观,也积累了不少故事,下午茶的时刻,给大家讲讲. 先说一个分机号的故事,这都已经是10年前小丫的故事了. 小丫是个仅有1年多工作经验的初级程序员,在 ...
- 正则表达式,固话和手机号码验证,支持验证分机号
表达式: ^(0\\d{2,3}-\\d{7,8}(-\\d{3,5}){0,1})|(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})$ 验证能验证 ...
- 35 - 用正则表达式分别提取电话号的区号、电话号和分机号
如何搜索字符串中包含区号和分机号的第一个出现的电话号,并提取电话号中的区号.电话号和分机号.要求如下: 区号固定是3位数字 电话号至少是7位数字 分机号至少是3位数字 区号.电话号和分机号之间用连字符 ...
- 学习笔记(34):Python 面试100讲(基于Python3.x)-用正则表达式分别提取电话号的区号、电话号和分机号...
立即学习:https://edu.csdn.net/course/play/26755/340147?utm_source=blogtoedu 提取电话号中的区号.电话号和分机号: m = re.se ...
- 固定电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
学习了据说是在程序员眼里排名第三的难点:正则表达式 固定电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) 区号+座机号码+分机号码:regexp="^(0[ ...
最新文章
- 【转】PendingIntent的总结
- 百度定位SDK实现获取当前经纬度及位置
- ASP程序实现网页伪静态页源代码
- Linux指令not found
- 计算机突然蓝屏无法启动_为什么计算机无法立即启动?
- 前端学习(3094):vue+element今日头条管理-反馈
- python怎么隐藏输入法,隐藏输入法和弹出输入法
- 网关屏蔽mac地址,linux下修改mac地址方法
- 【转载】RSA signatures with TPM2.0 and OpenSSL
- git学习(四)比较文件差异diff
- jQuery上传文件控件Uploadify使用
- 如何快速移除pdf密码?用这个工具就够了
- win10无法新建文件夹怎么办?(已解决)
- postgresql 数据库 update更新慢的原因(已解决)
- ATSC数字电视标准 1
- GRUB4DOS(十) 关于grldr.mbr和grldr
- E430 win7 下安装黑苹果系统
- laravel5.8整合JWT
- 在Ubuntu安装和使用Anbox完整说明(一种在Linux使用Android应用的方法)
- 美国通胀“爆表”要加息100点?
热门文章
- Java里面bean是什么意思_bean是什么意思?javaBean是什么?
- Linux XAMP is currently only availably as 32 bit application.
- 计算机视觉之目标检测(object detection)《1》
- 脑电情绪识别资源整理
- Carson带你学Android:手把手带你深入分析事件分发机制!
- Rectangling Panoramic Images via Warping算法要点分析
- 欢喜传媒2021年报:亏损收窄背后,影视行业静待春暖花开
- 马克飞象怎么转成html,马克飞象教程
- python15 文件操作
- 手机自带html怎么卸载,如何卸载手机自带软件,小编教你怎么卸载手机自带软件...