移植PJSIP到嵌入式Linux下多DSP端口问题
想把pjsip移植到嵌入式Linux下,该设备有多个fxs/fxo端口,每个端口对应一个dsp通道。pjsip目前只是对声卡类设备进行支持,实现的pjsua也仅仅对一个声卡设备支持,并不支持多端口。
在移植中,可以考虑如下方法:
1、把每个fxs/fxo端口对应的dsp通道适配成一个声卡设备,对pjsua改造,呼叫的时候,指定使用哪一个音频设备
方法好处就是完全支持pjmedia现有的媒体框架,基本不改动原有流程和代码。
pjsip库升级时,原有自己实现的设备不受影响
2、在pjsip代码中进行拦截,拦截收发报文时决定使用的那个通道
该方法修改了pjsip流程,在以后pjsip库需要升级时,需要同步修改
3、把整个dsp适配成一个声卡设备,扩展参数,来通知dsp使用哪个通道
该方法同样要修改pjsip代码,对以后升级不利
因此,最好的方法,就是把dsp的每个通道适配成一个音频设备,混音功能同样适配成mix设备。
pjsip目前还不支持特性 收藏
1、sip info方式dtmf接收
2、call waiting
3、t38传真
4、t30传真
5、digitmap
6、call parking
这些在pjsip的简单的uaapp中都没有,需要自己实现。可以使用pjsip-ua,pjsip lib自己实现ua或者在现有ua上进行扩充。
相关推荐
yaneng 2020-06-10
baishuwei 2020-06-04
yaneng 2020-05-09
owenbbkp 2020-04-29
yaneng 2020-04-23
yaneng 2020-04-14
Proudoffaith 2020-01-18
lightindark 2013-06-12
zuihaobushi 2019-12-26
supjia 2019-12-09
liuhaishi 2010-10-11
jj 2010-09-15
ice00 2010-09-11
baskMMU 2010-09-05
权天下 2010-08-27
宅学部落王利涛 2010-08-25
jj 2010-08-15
baskMMU 2010-08-14