先是使用 opensips
官方的 docker
尝试,好不容易装好了,软电话( sipphone
)上注册不成功,主要是我 docker
又是装在 VirtualBox
的虚拟机里的,网络结构致使调试困难,直接新开一个虚拟机,很顺利的就安装成功并且实现局域网终端之间通话。
1. 准备工作
1.1. 安装依赖
以下是我的环境镜像 CentOS7.6.1810.x86_64
需要安装的,至于怎么使用虚拟机安装 CentOS
,看这篇文章VirtualBox6安装CentOS7及其基本配置。
[root@localhost /]# yum install mysql
[root@localhost /]# yum install mysql-server
[root@localhost /]# yum install mysql-devel
[root@localhost /]# yum install gcc gcc-c++
[root@localhost /]# yum install ncurses-devel
[root@localhost /]# yum install flex
[root@localhost /]# yum install bison
机器上已经又 mysql
正常运行的话就跳过 mysql
相关的安装了。
注意在安装 mysql-server
的时候可能会出现找不到包,提示使用 mariadb-server
替代,那就老实使用 yum install mariadb-server mariadb
安装吧。
1.2. mysql 设置密码并打开远程访问权限
装好的 mysql
启动默认是没有密码的,进入 mysql
后进去运行下面的代码。
// 设置密码
set password for 'root'@'localhost' =password('123456');
// 设置远程访问及全表权限
grant all privileges on *.* to root@'%'identified by '123456';
// 更新权限
flush privileges;
这里的设置根据需要来就好了。
1.3. 开启防火墙5060端口
[root@localhost /]# firewall-cmd --zone=public --add-port=5060/udp --permanent
[root@localhost /]# firewall-cmd --reload
这里是f irewall
的设置, iptables
的朋友请看这一篇文章:Centos常用命令记录之:iptables
2. 安装opensips
2.1. 下载源码并选择模块
[root@localhost /]# cd /usr/local/src
[root@localhost src]# git clone https://github.com/OpenSIPS/opensips.git -b 2.4 opensips-2.4
[root@localhost src]# cd opensips-2.4
[root@localhost opensips-2.4]# make all
# 如果这里报错,停止,装好依赖再make all
[root@localhost opensips-2.4]# make menuconfig
进入这个菜单后,根据需要使用这个工具(左右键进入返回,空格键选中,回车键确定),但有个必须的是进入 Configure Compile Options
,选中 db_mysql
保存,返回主菜单选择 Compile And Install OpenSIPS
编译安装即可。完成后会回到这个界面,保存退出。
2.2. 修改配置文件
重要目录
# 配置文件目录
[root@localhost /]# ls /usr/local/etc/opensips/
opensips.cfg opensipsctlrc osipsconsolerc scenario_callcenter.xml
# 运行程序目录
[root@localhost /]# ls /usr/local/sbin
opensips opensipsctl opensipsdbctl opensipsunix osipsconfig osipsconsole
修改配置
[root@localhost /]# cd /usr/local/etc/opensips/
[root@localhost opensips]# ls
opensips.cfg opensipsctlrc osipsconsolerc scenario_callcenter.xml
修改 opensipsctlrc