hooku

Please enjoy some eccentric technologies.

proj_pjsip

OTIS pjsip

Git Repo: https://github.com/hooku/pjproject Branch: hooku_pjsip2.10

功能

  1. 实现pjlib在NUC980上的编译,对不需要的功能进行裁剪
  2. pjlib适配使用Audio Switchboard以及Pass Through的Codec
  3. pjmedia对接桥通的vpdemo底层驱动库,实现DSP音频编解码调用
  4. 编译pjdemo程序pjsua,提供配置文件,完成SIP与Twilio服务器的对接
  5. 调试SIP通话的音质,以及SIP程序的稳定性
  6. 对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:[email protected]
 sip:[email protected]
  • Twilio 登录信息

用户名:[email protected][email protected] 密码:H3H*.pWc.@tL,RQ

sip 调试步骤

  1. 打开 Twilio 网页调试器,确保右侧的状态显示如下内容

> Requesting Access Token... > Got a token. > Twilio.Device Ready!

  1. 运行 pjsua