CentOS下安装Opensips

2019-04-30  本文已影响0人  安安爸Chris

1. 下载opensips

2.4.5版本下载官网地址

路径

2. 安装opensips

解压tar包,然后运行make menuconfig。进入配置菜单。


配置菜单

配置菜单的操作是方向键左或者q键退出,方向键右进入子菜单。空格勾选。

配置安装菜单

Configure Compile Options

是配置编译选项的,子菜单比较多。


Configure Compile Options子菜单
  1. Configure Compile Flags
    是配置编译参数的,可以不做修改
  2. Configure Excluded Modules
    是配置编译排除模块的。 (字面上是这个意思,但是看很多教程上说要把db_mysql勾选上,这不就是表示不编译吗?)
  3. Configure Install Prefix
    安装位置,默认CentOs下就是/usr/local/,如果要改就给个位置在这里。

所有变动记得选最后一个Save Changes保存一下。

Compile And Install OpenSIPS

选它就直接开始编译。 没有确认的,这个要注意一下。

Clearup OpenSIPS sources

实际上效果等同于make clean

Generate OpenSIPS Script

生成配置和脚本。子菜单有三个选项


Generate OpenSIPS Script二级菜单
  1. Configure Residential Script
    这个就是${INSTALL_PATH}/opensips/opensips.cfg
    opensips.cfg
    这些参数都是SIP相关的,先按这个来吧
  2. Trunking Script (这个不配置)
  3. Load-Balancer Script (默认配置)

如上都配置完成就开始编译安装吧。

PS: 安装完成后也可以打开这个菜单。可以重新执行make menuconfig
或者通过命令[install_path]/sbin/osipsconfig


3. 创建opensips的数据库

opensips的所有数据都保存在数据库中
对应的数据库配置项在
${INSTALL_PATH}/opensips/opensipsctlrc下


数据库配置

如下是按照Mysql配置

DBENGINE=mysql
DBHOST=localhost#如果是本机,填localhost;如果不是本机,填写mysql所在的地址
DBPORT=3306
DBNAME=XXX #opensips使用的数据库名称,一定是没有创建的,已经存在的会报错
DBRWUSER=XXX#用于读写数据的mysql账户名
DBRWPW=xxx#用于读写数据的mysql账户密码
DBROOTUSER=xxx#用于创建表的mysql账户

配置完后可以执行

opensipsdbctl create
// opensipsdbctl create (database)
// 如果后面跟了database则新建的database不为配置文件里的值,按这里的值去创建。

字符集选gbk


opensips create.JPG opensips create2.JPG opensips create3.JPG

完成后检查一下数据库是否已经成功创建了表。

4.配置日志

默认的日志是在/var/log/message里,我们需要单独讲opensips日志拿出来。
首先,新建一个opensips.log文件
其次,修改系统日志配置. (默认值)
主要是log_stderror=no如果是yes,日志文件是不输出的。

opensips.cfg
最后,修改rsyslog配置。
vi /etc/rsyslog.conf --> 增加一行:local0.* /var/log/opensips.log
修改完重启rsyslog

5.配置脚本

文件opensips.cfg
内容主要分为三大块

  1. 全局参数
    这里主要包含了网络监听IP和端口,传输协议,日志打印等
    例如:
disable_tcp = yes
listen = udp:192.168.2.40:5060
listen = udp:192.168.2.40:5070
fork = yes
children = 4
log_stderror = no
  1. 模块配置
    如果这一块什么也不配置,默认是什么也不加载。
    如果需要加载模块,需要使用loadmodule来写。
    loadmodule后面跟的是so动态库文件。如果不指明路径,默认路径为/usr/lib/opensips/modules。

当某个模块加载后,模块的参数可以使用modparam指定。
例如

loadmodule "modules/mi_datagram/mi_datagram.so"
modparam("mi_datagram", "socket_name", "udp:127.0.0.1:4343")
modparam("mi_datagram", "children_count", 3)

3.路由逻辑
每一个条路由内容我们称之为route,它具体定义了路由规则。所有的route定义了OpenSIPS的SIP路由行为。

有两种route:
a. top route:
通过事件触发的route
b. sub-route 通过其他route调用间接触发

上一篇 下一篇

猜你喜欢

热点阅读