0
点赞
收藏
分享

微信扫一扫

基于CentOS7搭建Opensips 2.4.3

一、前言

最近这两天一直倒腾Opensips,折腾了2天终于把Opensips 2.4.3搭建起来了,在此记录一下搭建的过程以及踩过的坑。

二、准备安装包

MySQL-devel:mysql-community-devel-5.7.26-1.el7.x86_64.rpm

Opensips:opensips-2.4.3.tar.gz

Opensips官网地址:

https://www.opensips.org/Downloads/Downloads

MySQL-devel下载地址:

https://rhel.pkgs.org/7/mysql-5.7-x86_64/mysql-community-devel-5.7.26-1.el7.x86_64.rpm.html

先说明一下我的环境,我是基于CentOS7搭建Opensips 2.4.3,并且已安装mysql5.7.26版本,但是缺少mysql-devel,所以先得安装一下mysql-devel包。如果已安装mysql-devel则忽略第三点安装步骤

我们的应用场景只是在局域网内使用,所以不需要安装rtpproxy代理。如果要在公网上应用,那么就需要安装rtpproxy,rtpproxy是在公网环境传递语音与视频流。

三、开始安装MySQL-devel

查询mysql安装情况

rpm -qa | grep mysql

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建

使用rpm -ivh xxx.rpm进行安装

rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_02

四、开始安装opensips

1、准备环境

yum -y install gcc gcc-c++ glibc bison flex zlib-devel ncurses ncurses-devel

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_03

2、进行解压opensips

tar xf opensips-2.4.3.tar.gz

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_04

3、进入到解压后的目录,进行编译

make menuconfig

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_05

此时会跳到菜单视图界面,按左键退出。

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_06

编译完成会生成Makefile.conf文件

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_07

4、修改Makefile.conf文件

vim Makefile.conf

由于该文件内容比较多,可以进行查找定位到要修改内容,同时按住Shift键+冒号键,输入左斜杆和查找的字符

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_08

黄色选中就是定位的内容

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_09

将exclude_module中的db_mysql删除,在include_modules添加db_mysql,目的是为了编译时将db_mysql模块编译进去

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_10

修改安装目录,保存退出

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_11

5、开始编译安装,这个过程大概的3分钟左右

make all
make install

安装完成,进入到/usr/local/opensips/目录,目录结构如下

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_12

6、opensips自带的配置文件缺少配置,所以需要进入菜单界面,生成opensips配置文件。进入解压的目录

cd /home/ssudev/opensips-2.4.3
make menuconfig

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_13

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_14

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_15

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_16

按上下箭头选择,按空格键进行选中,如果搭建在局域网内则不用选择USE_NAT,如果是公网上使用则选中USE_NAT。选中完毕后,按左键退回到上一步,选中到Generate Residentital Script生成文件,记住生成所在的目录,默认在opensips的解压目录etc下

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_17

生成成功后,按左键退回上一步,直至退出。进入到解压目录etc,可以看到生成的文件

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_18

将文件移动到/usr/local/opensips/etc/opensips/下

mv opensips_residential_2022-12-6_14\:46\:55.cfg /usr/local/opensips/etc/opensips/opensips.cfg

提示会覆盖,按y确认覆盖

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_19

7、修改opensips的配置文件,进入安装目录,主要修改opensips.cfg和opensipsctlrc文件

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_20

配置opensips.cfg文件

vim openships.cfg

修改所有注释为“# CUSTOMIZE ME”地方

​listen=udp:192.168.0.54:5060   # CUSTOMIZE ME ​​改成自己的IP

​listen=tcp:192.168.0.54:5060   # CUSTOMIZE ME​​改成自己的IP

​mpath="/usr/local/opensips/lib64/opensips/modules" ​​改成自己的安装目录

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_21

涉及到的mysql连接,都改成mysql服务所在的主机,我这里没有使用本地mysql,用的是局域网内其他主机地址

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_22

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_23

配置opensipsctlrc文件

vim opensipsctlrc

将注释打开,DBHOST改成mysql所在的主机IP,保存退出

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_24

8、开始创建opensips数据库,进入到/usr/local/opensips/sbin目录下,先进行配置文件语法监测看有没有错误

./opensips -C

如下表示OK,没有报错

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_25

创建数据库,要求输入数据库连接密码、字符编码,咱们使用latin1,UTF8会报错,创建不成功,后面通过sqlyon修改成utf8

./opensipsdbctl create

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_26

启动opensips

./opensipsctl start #启动
./opensipsctl start #暂停
./opensipsctl start #重启

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_27

添加账号密码,该账号就是客户端进行拨号的号码,号码任意填写

./opensipsctl add 账号 密码 

./opensipsctl add 2001 123456

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_28

同时查看数据库,有2条数据

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_29

五、使用sip客户端工具测试

找了很多我使用的是linphone测试工具,支持windows、Android,但是这些工具连接不上都没有具体的错误提示。IOS端的PortSIP UC有直观的错误提示。

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_30

六、搭建过程中遇到的问题

408 Request Timeout 请求超时,注意检查防火墙,防火墙如果是开启的则需要开放5060端口;

403 Forbidden auth ID 查看/usr/local/opensips/etc/opensips目录下的opensips.cfg配置文件,发现配置文件中缺少模块。进入到菜单界面选择模块重新生成配置文件,但是不一定有效。这里我把我的配置文件放到连接中:

https://blog.51cto.com/u_13560480/5916445

483 too many hops 要么是opensips.cfg的配置文件监听ip、端口没有写对。另外一种情况是domian表中的domian字段是null,我这里是属于后者,在表中添加domian字段信息,就能正常登录了。

基于CentOS7搭建Opensips 2.4.3_opensips服务搭建_31




举报

相关推荐

0 条评论