esp32搭配freeswitch远程控制小车

2023-02-02 09:55:07 浏览数 (2)

记录安装过程。

wget https://npmmirror.com/mirrors/node/v16.18.1/node-v16.18.1-linux-x64.tar.xz

tar -xvf node-vv16.18.1-linux-x64.tar.xz

mkdir -p /usr/local/nodejs

mv node-vv16.18.1-linux-x64/* /usr/local/nodejs/

创建软链接

# 建立node软链接

ln -s /usr/local/nodejs/bin/node /usr/local/bin

# 建立npm 软链接

ln -s /usr/local/nodejs/bin/npm /usr/local/bin

更换镜像源

# 设置国内淘宝镜像源

npm config set registry https://registry.npm.taobao.org

# 查看设置信息

npm config list

验证是否安装成功

node -v

npm -v

git clone https://github.com/onsip/SIP.js.git

npm install

npm run build-demo

安装

wget http://nginx.org/download/nginx-1.22.1.tar.gz

tar -xvf nginx-1.22.1.tar.gz -C /usr/local

cd nginx-1.22.1

./configure --prefix=/usr/local/nginx --with-stream --with-http_ssl_module --with-stream_ssl_preread_module --with-stream_ssl_module

make && make install

# 启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

# 重启

/usr/local/nginx/sbin/nginx -s reload

/usr/local/nginx/sbin/nginx -s stop

wget http://files.freeswitch.org/downloads/ssl.ca-0.1.tar.gz

tar zxfv ssl.ca-0.1.tar.gz

cd ssl.ca-0.1/

perl -i -pe 's/md5/sha1/g' *.sh

perl -i -pe 's/2048/2048/g' *.sh

生成根证书

./new-root-ca.sh

为我们的服务器生成一个证书

./new-server-cert.sh server

签署证书使证书生效

./sign-server-cert.sh server

cat server.crt server.key > /usr/local/freeswitch/certs/wss.pem

status 查看fs的状态

sofia status 查看sofia的状态

查看注册信息

1. sofia profile internal siptrace on打开siptrace

2. 注册手机到fs,处理拨打电话等一系列操作

3. sofia profile internal siptrace off关闭siptrace

sofia status profile internal reg 查看注册的电话信息

查看调试信息

uuid_debug_media 按table补全 all

W表示发 R表示读

W的seq是发包是顺序的,R的seq可能不是顺序的,那就是丢包或者乱序了,需要存以个buffer去排列,延时会高一点,但是信息内容是不会丢的,延时300毫秒是能接受范围

ts记录的是时间戳,每一个包都有一个时间戳

show application查看所有的application

show channels查看当前通话的数据

uuid_kill uuid 命令挂断某个电话

hupall 挂断所有电话

show calls显示几路通话,两个电话为一路

originate {sip_auto_answer=true}user/1003 &echo设置自动应答,有的支持有的不支持

通道变量可以传递信息,也可以改变通道的行为

设置application=“set” data="自定义的通道变量或者系统的"

console loglevel debug修改日志级别为debug,或者f8

originate user/1003 &echo呼叫

originate user/1003 &park挂起 单腿通话,等待接通,不带声音

originate user/1003 &hold挂起 有等待声音

originate user/1003 &palyback(/root/welcome.wav) 播放指定的音乐

originate user/1003 &record(/tmp/voice.wav) 录音保存到(地址)

originate user/1003 &bridge(user/1002)桥接到1002

uuid_bridge <uuid_1002> <uuid_1003>根据1002和1003的uuid桥接

获取sip消息得方法

freeswitch执行

sofia global siptrace on打开sip 日志信息

sofia global siptrace off关闭sip日志信息

查看外网地址cmd命令

curl ifconfig.me

TURN(转发方式穿越的NAT)

解决对称NAT的问题

STUN(NAT回话穿越应用程序)

解决锥形NAT的问题

是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信

ICE(交互式连通建立)

综合利用TURN和STUN等技术,使其在合适的情况下工作,弥补单独使用某种协议带来的缺陷

/usr/local/src/ssl.ca-0.1/wss.pem

/usr/local/src/ssl.ca-0.1/server.key

0 人点赞