proj_pjsip
OTIS pjsip
Git Repo: https://github.com/hooku/pjproject
Branch: hooku_pjsip2.10
功能
- 实现pjlib在NUC980上的编译,对不需要的功能进行裁剪
- pjlib适配使用Audio Switchboard以及Pass Through的Codec
- pjmedia对接桥通的vpdemo底层驱动库,实现DSP音频编解码调用
- 编译pjdemo程序pjsua,提供配置文件,完成SIP与Twilio服务器的对接
- 调试SIP通话的音质,以及SIP程序的稳定性
- 对SIP程序进行优化,降低CPU占用率
桥通开发板配置
系统版本
需要升级至 1.0.8
unpacker Airbridge_q1.0.8_2020-09-23_1548_8c3476c4.bin
使用以太网上网
ifconfig eth0 192.168.68.99 netmask 255.255.255.0
route delete default
route add default gw 192.168.68.1
echo "nameserver 192.168.68.1" > /etc/resolv.conf
killall dhcpd
killall netmonitor.sh
otis_iot_sdk
Git Repo: https://gitee.com/airbridge/otis_iot_sdk
编译
make dir=package/test
pjsip
编译
所需要的环境
- NUC980BSP/otis_iot_sdk
编译命令
./configure --prefix=/home/pxj/Desktop/otis/pjsip/output2.10 \
--host=arm-linux \
--disable-sdl \
--disable-ffmpeg \
--disable-v412 \
--disable-openh264 \
--disable-resample \
--disable-video \
--disable-speex-aec \
--disable-g711-codec \
--disable-l16-codec \
--disable-gsm-codec \
--disable-g722-codec \
--disable-g7221-codec \
--disable-speex-codec \
--disable-ilbc-codec \
--disable-darwin-ssl \
--disable-ssl \
--disable-opencore-amr \
--disable-silk \
--disable-opus \
--disable-bcg729 \
--disable-libyuv \
--disable-libwebrtc
make distclean
make dep && make clean && make
开启调试
CFLAGS="-g3 -O0" \
CXXFLAGS="-g3 -O0"
运行 pjsua
pjsip 编译完会在 pjsip-apps/bin
生成 pjsua-arm-unknown-linux-gnu
,传输至开发板,然后运行
./pjsua-arm-unknown-linux-gnu --config twilio.config
pjsip 配置文件
# This is a comment in the config file.
--id sip:[email protected]
--registrar sip:caizhimin1986.sip.us1.twilio.com
--realm sip.twilio.com
--username +15614199179
--password IWasAtSignal2017
sip:[email protected]
依赖的库
ld-uClibc-1.0.19.so
libasound.so.2.0.0
libuClibc-1.0.19.so
- 库链接脚本
rm /lib/ld-uClibc.so.0
rm /lib/ld-uClibc.so.1
rm /lib/ld-uClibc-1.0.19.so
ln -s /nvm/lib/ld-uClibc-1.0.19.so /lib/ld-uClibc.so.0
ln -s /nvm/lib/ld-uClibc-1.0.19.so /lib/ld-uClibc.so.1
ln -s /nvm/lib/ld-uClibc-1.0.19.so /lib/ld-uClibc-1.0.19.so
rm /usr/lib/libasound.so
rm /usr/lib/libasound.so.2
rm /usr/lib/libasound.so.2.0.0
ln -s /nvm/lib/libasound.so.2.0.0 /usr/lib/libasound.so
ln -s /nvm/lib/libasound.so.2.0.0 /usr/lib/libasound.so.2
ln -s /nvm/lib/libasound.so.2.0.0 /usr/lib/libasound.so.2.0.0
rm /lib/libuClibc-1.0.19.so
rm /lib/libc.so.0
rm /lib/libc.so.1
ln -s /nvm/lib/libuClibc-1.0.19.so /lib/libuClibc-1.0.19.so
ln -s /nvm/lib/libuClibc-1.0.19.so /lib/libc.so.0
ln -s /nvm/lib/libuClibc-1.0.19.so /lib/libc.so.1
chmod +x /nvm/lib/*
sip 调试信息
Twilio
SIP 地址:
sip:[email protected]
sip:[email protected]
- Twilio 登录信息
用户名:[email protected]
或[email protected]
密码:H3H*.pWc.@tL,RQ
sip 调试步骤
- 打开 Twilio 网页调试器,确保右侧的状态显示如下内容
> Requesting Access Token... > Got a token. > Twilio.Device Ready!
- 运行 pjsua