Centos7安装opensips超详细教程

准备工作

由于opensips实现通话,需要存储用户信息,所以要下载并安装 MySQL。

安装 mysql 数据库

  • 下载并安装 mysql
1
2
3
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server
  • 启动 mysql 服务
1
systemctl start mysqld
  • 获取安装好后,生成的临时默认密码;
  • 登录进入数据库修改密码,设置远程访问权限
1
2
3
4
5
grep "password" /var/log/mysqld.log //获取临时默认密码
mysql -u root -p
alter user 'root'@'localhost' identified by '密码'; //修改密码
grant all privileges on *.* to root@'%'identified by '密码';  //设置远程访问权限
flush privileges;   //更新权限

如果你也是在Windows上安装contos7,想要在数据库管理工具上测试连接。需要注意设置远程访问权限和防火墙端口号3306是否开启。

1
2
3
firewall-cmd --zone=public --query-port=3306/tcp //查看端口3306是否开启
firewall-cmd --zone=public --add-port=3306/tcp--permanent //开启端口
firewall-cmd --reload //重启

安装opensips

安装依赖库

1
2
3
yum install gcc gcc-c++
yum install make
yum install flex bison ncurses ncurses-devel

下载源码并选择模块

1
2
3
4
5
6
[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
//如果这里报错,根据报错的内容,再安装相关依赖。
[root@localhost opensips-2.4]# make menuconfig

进入到菜单选取模块(右左键进入返回,空格键选中,回车键确定),选择步骤:Configure Compile Options => Configure Excluded Modules => db_mysql,然后 save。

最后选择Compile And Install Opensips等待安装完毕。
完成安装后:

1
2
cd /usr/local/etc/opensips/
vi opensipsctlrc

编辑配置数据库信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SIP_DOMAIN=192.168.25.130 //centos7本机ip
DBENGINE=MYSQL
## database port (PostgreSQL=5432 default; MYSQL=3306 default)
DBPORT=3306
## database host
DBHOST=localhost
## database name (for ORACLE this is TNS name)
DBNAME=opensips
# database path used by dbtext, db_berkeley, or sqlite
DB_PATH="/usr/local/etc/opensips/dbtext"
## database read/write user
DBRWUSER=opensips
## password for database read/write user
DBRWPW="opensipsrw"
## engine type for the MySQL/MariaDB tabels (default InnoDB)
MYSQL_ENGINE="MyISAM"
## database super user (for ORACLE this is 'scheme-creator' user)
DBROOTUSER="root"

配置 opensips:

1
2
cd /usr/local/sbin/
osipsconfig

依次选择 => Generate OpenSIPS Script => Residential Script => Configure Residential Script 选中

1
2
3
4
[*] USE_AUTH
[*] USE_DBACC
[*] USE_DBUSERLOC
[*] USE_DIALOG

返回后选择 Generate Residential Script 回车,生成新的配置文件(路径:/usr/local/etc/opensips)。
拷贝和替换原有配置文件:

1
2
3
cd /usr/local/etc/opensips/
mv opensips.cfg opensips.cfg.backup
mv opensips_residential_2020-5-24_19\:23\:5.cfg opensips.cfg

修改opensips.cfg:

1
2
3
vi opensips.cfg
// 修改配置项
listen=udp:192.168.25.130:5060

修改完相关配置后使用opensipsdbctl新建数据库:

1
2
cd /usr/local/sbin
opensipsdbctl create
  • 启动 opensips
1
[root@localhost sbin]# opensipsctl start
  • 添加用户
1
2
3
4
[root@localhost sbin]# opensipsctl add 1001 1001
new user '1001' added
[root@localhost sbin]# opensipsctl add 1002 1002
new user '1002' added

注意:测试通话的时候是否需要开启防火墙5060/udp端口号,类似上面开启3306端口。