astersik bridge 支持

为支持通话过程中双方按键的接受及处理,asterisk 通过 其提供的call features 特性实现此功能,1.4,1.6 1.中是在res_feartures.c中, 1.6.2 ,1.8后此文件放到main中并改名为features.c

 

当通过queue, dial, fallowme 等app 桥接主被叫时,双方接听后即转向ast_bridge_call, 此函数内部是一个无限循环,不断监听双侧通道上的事件,循环内部首先调用 ast_channel_bridge,对于第一次调用则产生link事件,然后进入另一个循环,调用协议栈提供的brigdge 回调,如,sip_bridge ,检测挂机事件并发射unlink事件,然后调用ast_generic_bridge 检测双方通道上的事件,ast_generic_bridge 具体又调用ast_waitfor_n 轮询 fd, 实际过程为读取rtp 流(ast_read)通过判断帧数据类型做不同动作,这里帧数据是处理过的rtp包,如 帧数据类型为 onhold则说明为保持动作,还有dtmf等,这里还处理了jitibuf 问题(抖动)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值