本文用来记录在RASPBERRY4上编译,使用PJSIP的记录
1,下载PJSIP
下载地址:https://github.com/pjsip/pjproject/archive/refs/heads/master.zip
2,解压编译
运行pjsua出现的命令行 接上图出现的控制菜单解压:
unzip pjproject-master.zip
编译:
cd pjproject-master/
./configure --disable-libwebrtc
make dep & make
运行:
pjsip-apps/bin/pjsua-armv7l-unknown-linux-gnueabihf
3,使用
通过上面的菜单我们可以测试两种内容:1,Call Command(打电话给另外一个sip client)2,IM (发消息给另外一个sip client)
发消息是最简单的,所以先验证发消息:
验证发消息最简单现在自己电脑上装linephone,下载地址:https://www.linphone.org/releases/windows/app/Linphone-4.3.2-win32.exe
然后通过下图知道此客户端地址为:sip:E@10.10.30.69
在对应命令框里输入i,接着提示框里输入sip的url地址,我本机装的linephone客户端地址为E@10.10.30.69在空白处输入testmsg,则可以在电脑侧收到消息,如下图
输入消息testmsg 电脑收到消息testmsg然后测试电话PC:
在命令提示框输入m,然后再次输入地址 pc端可以收到呼叫消息,点击接听双方就可以通话了4,中途遇到的坑
1,Raspberry4原生不带音频输出和输入,所以第一次编译完就会报错如下:
Call报错所以需要先安装sound开发库,然后还需要一个mic的输入,我们找了个罗技的usb摄像头带mic的当语音输入设备
sudo apt-get install libasound2-dev
之后需要重新编译:
make distclean
cd pjproject-master/
./configure --disable-libwebrtc
make dep & make
这样运行就OK了,但是这边又出现了声音问题,树莓派这边听不到声音
2,声音确认,我们插了一个耳机进3.5mm音频口,然后通过命令查看:
通过查看发现两路音频输出aplay -l
通过播放确认耳机是有声音的
确认耳机有声音然后我们在目录:/pjproject-master/pjsip-apps/bin/samples/armv7l-unknown-linux-gnueabihf下找到pjsip自带的音频测试程序auddemo
运行audemo程序:
auddemo提供命令如上这里面有若干设备,如果插了罗技usb摄像头会更多,如下:
插罗技后的设备列表这边的测试方法就是playback一个wav文件,选一个设备,从上面看9设备是耳机,测试如下:
可以播放声音所以,如果想听到声音就可以运行如下命令,打电话就双向有声音了
pjsip-apps/bin/pjsua-armv7l-unknown-linux-gnueabihf --capture-dev=0 --playback-dev=9
网友评论