freeswitch-PSTN

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值