From 5f717a093a7680bce154b89f28f318817df98682 Mon Sep 17 00:00:00 2001 From: Aaron Chen Date: Thu, 10 Nov 2022 12:21:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E8=A3=85FS1.10.8=E5=92=8Cunimrcp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...an11安装FreeSWITCH1.10-参照ClueCon官方文档.md} | 51 +++++++--- ...1.10.8和mod_unimrcp-参照mod_unimrcp项目文档.md | 95 +++++++++++++++++++ .../{IP黑名单.md => SIP服务的IP黑名单.md} | 11 ++- freeswitch/搭建STUN服务.md | 18 +++- 4 files changed, 162 insertions(+), 13 deletions(-) rename freeswitch/{Debian11编译安装FreeSWITCH1.10.md => Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md} (86%) create mode 100644 freeswitch/Debian11编译安装FreeSWITCH1.10.8和mod_unimrcp-参照mod_unimrcp项目文档.md rename freeswitch/{IP黑名单.md => SIP服务的IP黑名单.md} (85%) diff --git a/freeswitch/Debian11编译安装FreeSWITCH1.10.md b/freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md similarity index 86% rename from freeswitch/Debian11编译安装FreeSWITCH1.10.md rename to freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md index 61f35a5..4a1d967 100644 --- a/freeswitch/Debian11编译安装FreeSWITCH1.10.md +++ b/freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md @@ -1,4 +1,4 @@ -# Debian11编译安装FreeSWITCH1.10 +# Debian11安装FreeSWITCH1.10_参照ClueCon官方文档 --- @@ -8,20 +8,25 @@ ## 安装操作系统 -### 配IP时可能需要用到DNS信息 +### 更换软件源 -| 地区运营商 | DNS | -|---|---| -|江苏移动|112.4.0.55, 221.131.143.69| +> 在有些地方可能Debian10/11使用网易源速度较好 -### 给root配一个复杂点的密码,同时再配置一个非root的管理员账号 +```shell +vi /etc/apt/sources.list +``` -|账号|密码| -|---|---| -|root|BU1#0sgqX$| -|wkzz|WKzz051223| +```text +deb http://mirrors.163.com/debian/ buster main non-free contrib +deb http://mirrors.163.com/debian/ buster-updates main non-free contrib +deb http://mirrors.163.com/debian/ buster-backports main non-free contrib +deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib -> 江苏移动用mirrors.163.com源速度比较快 +deb-src http://mirrors.163.com/debian/ buster main non-free contrib +deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib +deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib +deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib +``` ### 系统安装完成后可以进行系统升级并安装一些基础软件 @@ -112,6 +117,8 @@ alias ll='ls $LS_OPTIONS -l --color=auto' source ~/.bashrc ``` +> 命令`echo "alias ll='ls $LS_OPTIONS -l --color=auto'" >> ~/.bashrc && source ~/.bashrc && ll` + ## 安装lua和luarocks环境 ### 安装lua @@ -181,6 +188,12 @@ apt update && apt upgrade -y # Install dependencies required for the build apt build-dep freeswitch -y +``` + +> 命令```TOKEN=pat_jMxihv2uTh3ivpPdSqUMffB3 && apt update && apt install -yq gnupg2 wget lsb-release &&wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpg && echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf && echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list && echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list && apt update && apt upgrade -y && apt build-dep freeswitch -y``` + +```shell + # then let's get the source. Use the -b flag to get a specific branch cd /usr/src/ git clone https://github.com/signalwire/freeswitch.git -b v1.10 freeswitch @@ -283,6 +296,20 @@ vim /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml ``` +### conf/autoload_configs/switch.conf.xml中的配置项 + +> 主要配置并发数 + +```shell +vim /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml +``` + +```xml + + + +``` + ### conf/autoload_configs/event_socket.conf.xml中的配置项 > 用于配置ESL相关参数 @@ -498,6 +525,8 @@ vim conf/autoload_configs/modules.conf.xml 最后进入FreeSWITCH控制台`fs_cli`,在控制台中执行命令`load mod_unimrcp`,到此mod_unimrcp模块已经安装完成并在FreeSWITCH服务器生效。 +> 以上方法只适用于FreeSWITCH1.10.7及之前的版本,1.10.8开始,mod_unimrcp被从核心代码中移除,转移为独立项目,详见另外一份文档 + ### 添加mod_python模块 > mod_python模块可以支持用python脚本制作ivr,支持的python版本为2.7,如果需要python3的支持,需要安装mod_python3 diff --git a/freeswitch/Debian11编译安装FreeSWITCH1.10.8和mod_unimrcp-参照mod_unimrcp项目文档.md b/freeswitch/Debian11编译安装FreeSWITCH1.10.8和mod_unimrcp-参照mod_unimrcp项目文档.md new file mode 100644 index 0000000..05eb03f --- /dev/null +++ b/freeswitch/Debian11编译安装FreeSWITCH1.10.8和mod_unimrcp-参照mod_unimrcp项目文档.md @@ -0,0 +1,95 @@ +# Debian11编译安装FreeSWITCH1.10.8和mod_unimrcp-参照mod_unimrcp项目文档 + +## 安装Debian11系统 + +略 + +> 至少要安装vim git wget + +## 下载/克隆各种资源 + +```bash +cd /usr/src +git clone https://github.com/signalwire/freeswitch +git clone https://github.com/signalwire/libks +git clone https://github.com/freeswitch/sofia-sip +git clone https://github.com/freeswitch/spandsp +git clone https://github.com/signalwire/signalwire-c +git clone https://github.com/unispeech/unimrcp.git +git clone https://github.com/freeswitch/mod_unimrcp.git +wget https://www.unimrcp.org/project/component-view/unimrcp-deps-1-6-0-tar-gz/download -O unimrcp-deps-1.6.0.tar.gz +# 国内连接github很累,另外不保证各资源仓库以后更新后对应的操作方法是否会变,建议资源下载成功后自己留一份备份 +# 后面的操作如果在root账号下就不要再用sudo了 +# 安装FreeSWITCH需要的依赖 +sudo apt-get install -y \ + build-essential cmake automake autoconf libtool libtool-bin pkg-config \ + libssl-dev zlib1g-dev libdb-dev unixodbc-dev libncurses5-dev libexpat1-dev libgdbm-dev bison erlang-dev libtpl-dev libtiff5-dev uuid-dev \ + libpcre3-dev libedit-dev libsqlite3-dev libcurl4-openssl-dev nasm \ + libogg-dev libspeex-dev libspeexdsp-dev \ + libldns-dev \ + python3-dev \ + libavformat-dev libswscale-dev libavresample-dev \ + liblua5.2-dev \ + libopus-dev \ + libpq-dev \ + libshout3-dev libmpg123-dev libmp3lame-dev\ + libsndfile1-dev libflac-dev libogg-dev libvorbis-dev +# 安装libks +cd libks +cmake . -DCMAKE_INSTALL_PREFIX=/usr -DWITH_LIBBACKTRACE=1 +sudo make install +cd .. +# 安装sofia-sip +cd sofia-sip +./bootstrap.sh +./configure CFLAGS="-g -ggdb" --with-pic --with-glib=no --without-doxygen --disable-stun --prefix=/usr +make -j`nproc --all` +sudo make install +cd .. +# 安装spandsp +cd spandsp +./bootstrap.sh +./configure CFLAGS="-g -ggdb" --with-pic --prefix=/usr +make -j`nproc --all` +sudo make install +cd .. +# 安装signalwire-c +cd signalwire-c +PKG_CONFIG_PATH=/usr/lib/pkgconfig cmake . -DCMAKE_INSTALL_PREFIX=/usr +sudo make install +cd .. +# 安装FreeSWITCH +cd freeswitch +./bootstrap.sh -j +./configure +make -j`nproc` +sudo make install +cd .. +# 安装unimrcp-deps包 +tar zxvf unimrcp-deps-1.6.0.tar.gz +cd unimrcp-deps-1.6.0 +cd libs/apr +./configure --prefix=/usr/local/apr +make +sudo make install +cd .. +cd apr-util +./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr +make +sudo make install +cd ../../.. +# 安装unimrcp +cd unimrcp +./bootstrap +./configure --with-sofia-sip=/usr +make +sudo make install +cd .. +# 安装mod_unimrcp +cd mod_unimrcp +export PKG_CONFIG_PATH=/usr/local/freeswitch/lib/pkgconfig:/usr/local/unimrcp/lib/pkgconfig +./bootstrap.sh +./configure +make +sudo make install +``` diff --git a/freeswitch/IP黑名单.md b/freeswitch/SIP服务的IP黑名单.md similarity index 85% rename from freeswitch/IP黑名单.md rename to freeswitch/SIP服务的IP黑名单.md index 1dde89d..c1f433d 100644 --- a/freeswitch/IP黑名单.md +++ b/freeswitch/SIP服务的IP黑名单.md @@ -1,4 +1,4 @@ -# 针对SIP协议的IP黑名单(持续更新) +# SIP服务的IP黑名单(持续更新) --- @@ -15,6 +15,7 @@ - 143.244.57.86 - 146.0.32.162 - 151.106.27.151 +- 151.106.34.153 - 162.244.32.51 - 162.244.33.16 - 172.107.196.242 @@ -28,6 +29,7 @@ - 185.209.162.21 - 185.246.211.81 - 185.53.90.125 +- 185.53.90.166 - 192.99.232.191 - 193.107.216.135 - 193.107.216.141 @@ -43,6 +45,7 @@ - 20.216.2.135 - 20.227.142.53 - 212.83.145.185 +- 222.79.56.89 - 23.148.145.240 - 23.148.145.54 - 23.148.145.83 @@ -52,18 +55,24 @@ - 37.221.123.90 - 45.134.144.10 - 45.134.144.169 +- 45.134.144.254 - 45.134.144.47 +- 45.134.144.57 - 45.134.144.86 - 45.159.188.57 - 45.93.16.61 - 45.95.147.9 +- 51.103.210.57 - 51.12.91.47 - 51.132.241.252 - 51.142.145.184 - 51.142.145.87 +- 77.247.108.35 +- 80.94.93.88 - 84.247.51.246 - 85.114.130.103 - 87.119.220.202 - 87.119.220.250 - 92.118.39.12 - 92.118.39.59 +- 92.204.134.78 diff --git a/freeswitch/搭建STUN服务.md b/freeswitch/搭建STUN服务.md index 8dbc9e3..9788681 100644 --- a/freeswitch/搭建STUN服务.md +++ b/freeswitch/搭建STUN服务.md @@ -16,7 +16,23 @@ https://github.com/jselbie/stunserver http://www.stunprotocol.org/ ``` -## 部署过程 +## 部署过程(推荐Docker) + +> 确保已有docke环境 + +```bash +# 下载安装包 +wget http://www.stunprotocol.org/stunserver-1.2.16.tgz +# 解压 +tar xvf stunserver-1.2.16.tgz +# 转移目录 +mv stunserver /usr/local/ +cd /usr/local/stunserver +docker image build -t=stun-server-image . +docker run -d -p 3478:3478/tcp -p 3478:3478/udp --name=stun-server stun-server-image +``` + +## 部署过程(编译安装) * 如果是centos系统: