部署 Opensip 3.4.5 RTPProxy - housekeeper-software/tech GitHub Wiki
准备
os : debian 10, x64
在内网部署,至少一个网卡,静态ip
在云上部署,需要一个内网ip和公网ip
开放端口:
18888/tcp
18888/udp
3748/tcp
3748/udp
3749/tcp
3749/udp
50000~60000/udp(rtp传输端口)
建立环境
下载脚本
将build.zip解压到 /build目录,最终的目录结构为:
/build/init
/build/mysql
/build/opensips
配置m4参数
文件位于: /build/init/m.m4
divert(-1)dnl
define(`ADVERTISED_IP_ADDR', `1.2.3.4')dnl #这里是公网ip,如果是内网安装,则等于内网ip
define(`LOCAL_IP_ADDR', `192.168.2.2')dnl #这里是内网ip,ifconfig查看
define(`MYSQL_PASSWORD',`123456')dnl #如果本地安装mysql,需配置,这是数据库root密码
define(`DATABASE_ADMIN_URL',`mysql://root:[email protected]')dnl #如果本地安装mysql,需配置
define(`DATABASE_OPENSIPS_URL',`mysql://opensips:[email protected]')dnl #如果本地安装mysql,需配置
define(`OPENSIPS_MYSQL_URL',`mysql://opensips:[email protected]/opensips')dnl #如果是本地安装应该不用改,如果是云端安装,则改成正确的地址
define(`DOMAIN',`1.2.3.4')dnl #等同于公网ip,或者域名
divert(0)dnl
初始化环境
cd /build/init
chmod +x *.sh
./init.sh
等待初始化完成
此脚本将安装 docker ,docker-compose, pull mysql 5.7以及 公司自建的镜像 opensip:3.4.5
同时,使用m4生成最终的脚本
检查初始化是否正确
1. 查看/build/init/rtpproxy.service文件中的宏是否被正确展开
2. 查看/build/mysql/docker-compose.yaml中的宏是否被正确展开
3. 查看/build/opensips/conf/opensips-cli.cfg中的宏是否被正确展开
4. 查看/build/opensips/conf/opensips.cfg 是否被正确展开
启动mysql
如果是外部数据库,则不需要这个步骤,如果是本机安装,则按照下述步骤完成
cd /build/mysql
docker-compose up -d
检查: ps -ef | grep mysql
编译 rtpproxy 3.0.1
cd /build/init
./build_rtpproxy.sh
编译安装完后之后,检查:
ps -ef | grep rtpproxy
或检查服务: systemctl status rtpproxy
创建opensips 数据库
cd /build/init
./create_opensips_db.sh
此脚本将创建本地或者远程opensips数据库,并且创建两个测试账号: 1001,1002,用于验证服务器是否正常
启动 opensips
cd /build/opensips
docker-compose up -d
检查 docker ps -a,看看有没有 sip的容器
查看opensips 日志
docker logs -f sip