PSTN网络,即公共电话网,物理线路主要是E1/T1/J1线和双绞线。这里主要研究E1线及相关的ISDN协议标准。freeswitch在ftmod_isdn.c文件定义了ISDN模块的加载,退出,配置函数,可以从这个文件开始阅读源码。ftdm_io.c提供给外部使用的API,用ftdm_module_t区分endpoint类型,有GSM,ISDN,R2。

L1层
freeswitch不涉及此部分,可以看IDT2288芯片,一块芯片支持8路E1线,写相关寄存器即可实现相关配置(例如线路阻抗,成帧非成帧,时钟,还回,HDLC通道等配置)和D通道数据的发送;读寄存器可得到线路状态并产生告警供排查问题,还可以接收D通道数据。PSTN转VOIP,在软交换设备上B通道时隙通常用交叉芯片,fpga芯片操作数据流向DSP芯片的channel,freeswitch可用软DSP spandsp,运行在CPU上,怎样将B通道上的数据正确导向channel?
是否存在一个器件将TDM转为以太网数据送给CPU,例如以太网电路仿真单元

L2层
实现在q921.c文件
代码风格挺好的,很容易看懂,各类帧的收发处理。重点关注下L2的状态变迁和定时器
Q921Rx32
Q921Rx12
Q921Tx21Proc
Q921Tx23Proc

L3层
实现在q931.c文件
用户侧的信令消息处理在q931stateTE.c,网络测的在q931stateNT.c,添加删除IE在q931ie.c,Q921与Q931之间打包解包在q931mes.c,主要看的是呼叫的信令流程和状态机。
主要处理函数入口
Q931Rx23
Q931Tx34
Q931Rx43
创建呼叫控制块
Q931CreateCRV

freeswitch-PSTN相关推荐

  1. FreeSWITCH与PSTN对接

    FreeSWITCH与PSTN电话系统对接设定 一.环境介绍 我们目前使用模拟的话机连接到电信运营商,购买他们配套的电话总机,勉强实现了公司的基本通话.但是客户电话总机系统以及升级添加新的应用不但费用 ...

  2. 《FreeSWITCH: VoIP实战》:PSTN 与 PBX 业务

    PSTN 业务 POTS 除为用户提供基本的话音通话外,PSTN 还能提供一些附加的业务,这些业务在国外称为普通老式电话业务(POTS,Plain Old Telephone Service),而在国 ...

  3. FreeSWITCH权威指南 -- 1.PSTN与VoIP基础(笔记)

    VoIP(Voice Over IP):承载于IP网上的语音通信. PSTN(Public Switched Telephone Network):公共交换电话网,就是我们日常打电话所使用的电话网络. ...

  4. [转载]freeSwitch基本操作(转载)

    什么是 FreeSWITCH ? FreeSWITCH 是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能.能原生地运行于Windows. M ...

  5. 在同一台服务器上启动多个 FreeSWITCH 实例

    有时候,需要用到多个FreeSWITCH进行测试,或者需要在一台服务器上部署多个"不兼容"的系统.我们在这一节探讨一下怎么做. 背景故事 几年前我还在Idapted工作的时候,由于 ...

  6. 【LiveVideoStack线上分享】— FreeSWITCH核心架构与流程控制

    FreeSWITCH是一个开源的软交换系统,支持PSTN通话.支持WebRTC.支持基于IP和5G的视频通话和视频会议,并提供开放的API. 今晚7:30 ,我们邀请到了FreeSWITCH 中文社区 ...

  7. ​FreeSWITCH视频会议“标准”解决方案

    本文由FreeSWITCH 中文社区创始人杜金房在LiveVideoStack线上分享的演讲内容整理而成,详细介绍了FreeSWITCH做为一种开源的视频会议解决方案如何在开源.开放的基础上,对接各种 ...

  8. FreeSWITCH 总体架构

    [1]总体结构 [2]代码结构目录 [3]模块简介 Applications应用 mod_abstraction – 提供了一个抽象的API调用(未来有更多功能)Provides an abstrac ...

  9. freeswitch 模块

    写这个的原因,其实是为了帮助那些需要安装freeswitch的社友们的.在我之前的博客里边,我也说了--每个人安装的时候都有一个目标--我们安装freeswitch要用来做啥,这完全就决定了我们所需要 ...

  10. 【Freeswitch从入门到精通】二、初识Freeswitch

    [Freeswitch从入门到精通]二.初识Freeswitch 1.入门术语 1.1 常见短语 1.2 Call Legs 2.历史 3.启动 4.dialplan 路由表 4.1 测试Demo路由 ...

最新文章

  1. 为JS和C#类加一个扩展方法吧:P
  2. 2015/Province_C_C++_C/9/打印大X
  3. Spring Boot 动态注入的两种方式
  4. ACCESS的十种数据类型分别对应的添加语句
  5. codeforces D. Palindrome pairs 动态规划
  6. 数据库如何避免读取脏数据?
  7. 拓扑结构计算机网络结构,什么是计算机网络的拓扑结构
  8. IDEA更新至2020版后Version Control窗口的还原问题
  9. 《高等统计物理学》5:非平衡态统计物理初步
  10. swiper.js横向轮播插件
  11. 收集整理网络协议类型
  12. 适配器模式 : 农村小伙娶乌克兰美女语言不通 翻译软件立功
  13. 给出n个数,找出这n个数的最大,最小,和值
  14. 河南移动物联网建设加速 亿元级市场呼之欲出
  15. es根据字段长度过滤_ES Aggs根据聚合的结果(数值)进行过滤
  16. 七牛云详细教程(包含与阿里云建立连接)
  17. 【CSS】固定定位示例 ( 屏幕左右两侧广告栏 | 开发要点分析 | 代码示例 )
  18. windows10使用ffmpeg截取视频图片
  19. 这种Unity3D面试题目,你面的是什么岗啊?
  20. 哈工共哲二手库卡机器人多种焊接工艺集成解决方案

热门文章

  1. 2021年最新总结,腾讯、阿里、美团、百度、字节跳动、京东等技术面试题,以及答案,专家出题人分析汇总。持续更新中。
  2. 如何把多张图片合并成一个PDF?
  3. java计算机毕业设计乒乓球俱乐部管理源码+系统+数据库+lw文档+mybatis+运行部署
  4. MATLAB下机器人可视化与控制---simulink篇(1)
  5. 【原生JS】仿新浪微博名片弹框
  6. powerbuilder操作excel命令大全
  7. Arduino中Serial.print()与Serial.write()函数的区别,以及串口通信中十六进制与字符串的收发格式问题和转换过程详解
  8. 夜已深,为何身体没有困意!
  9. Linux网卡驱动pcnet32.c的注释(AM79C9*系列网卡的驱动)
  10. css动画结束闪烁,每个无限CSS3动画结束时的毛刺/闪烁/眨眼