CentOS下安装Opensips

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调用间接触发

你可能感兴趣的:(CentOS下安装Opensips)