云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04/CentOS 7系统上安装Kamailio SIP的方法

在Ubuntu 18.04/CentOS 7系统上安装Kamailio SIP的方法

2019-01-25 10:36:49作者:戴进稿源:云网牛站

本文介绍在Ubuntu 18.04/Ubuntu 16.04/CentOS 7系统上安装Kamailio SIP的方法,要说明的是,安装方法有所不同,请注意看说明,配置方法是一样的。

 

一、安装MariaDB参考文章

可以选择安装MariaDB,参考下面两篇文章:

在Ubuntu 18.04系统上安装MariaDB 10.4的步骤

在CentOS 7服务器中安装MariaDB 10.4的方法

 

二、添加Kamailio apt存储库及在CentOS 7上安装Kamailio

1、如果运行Ubuntu 16.04系统,则可以添加以下Kamailio存储库以用于安装Kamailio SIP代理服务器。

首先,下载并将我们的GPG密钥添加到你的apt密钥列表:

wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add -

然后将存储库行添加到/etc/apt/sources.list文件中,具体取决于你选择的Kamailio版本,本文以添加5.1为例:

$ sudo vim /etc/apt/sources.list.d/kamailio.list

添加内容:

deb     http://deb.kamailio.org/kamailio51 xenial main

deb-src http://deb.kamailio.org/kamailio51 xenial main

2、对于Ubuntu 18.04系统,不需要添加存储库,因为最新的软件包可以在上游存储库中使用。

3、在CentOS 7系统上先将SELinux设置为允许/禁用模式,可以参考在RHEL 8/CentOS 8系统中禁用SELinux的方法

然后添加Kamailio RPM存储库:

cat >/etc/yum.repos.d/kamailio.repo<<EOF

[home_kamailio_v5.1.x-rpms]

name=RPM Packages for Kamailio v5.1.x (CentOS_7)

type=rpm-md

baseurl=http://download.opensuse.org/repositories/home:/kamailio:/v5.1.x-rpms/CentOS_7/

gpgcheck=1

gpgkey=http://download.opensuse.org/repositories/home:/kamailio:/v5.1.x-rpms/CentOS_7/repodata/repomd.xml.key

enabled=1

EOF

更新包列表索引:

sudo yum makecache fast

下面给出命令直接在CentOS 7上安装Kamailio:

sudo yum install -y vim kamailio kamailio-presence kamailio-ldap kamailio-mysql kamailio-postgres kamailio-debuginfo kamailio-xmpp kamailio-unixodbc kamailio-utils kamailio-tls kamailio-outbound kamailio-gzcompress

查看版本号运行$ kamailio -version命令即可,到这里就完成在CentOS 7上安装Kamailio了,配置方法请参考下面的在Ubuntu 18.04/Ubuntu 16.04上安装Kamailio过程。

 

三、在Ubuntu 18.04/Ubuntu 16.04上安装Kamailio

配置存储库后,更新系统并安装Kamailio,你还将安装Kamailio MySQL模块:

$ sudo apt install kamailio kamailio-mysql-modules

例如,要能够加载websocket模块,必须安装包kamailio-websocket-modules:

$ sudo apt install kamailio-websocket-modules

完成上述命令后,可以检查kamailio应用程序是否可用,并使用kamailio -V确认已安装的版本

$ which kamailio

/usr/sbin/kamailio

$ kamailio -V

注:以下为配置Kamailio的过程,Ubuntu 18.04/Ubuntu 16.04/CentOS 7系统通用。

编辑文件/etc/kamailio/kamctlrc并确保将DBENGINE变量设置为MySQL,删除#符号以取消注释:

$ sudo vim /etc/kamailio/kamctlrc

将数据库引擎设置为MYSQL:

DBENGINE=MYSQL

在Ubuntu 18.04/CentOS 7系统上安装Kamailio SIP的方法

接下来是为Mysql创建数据库,下面的命令将创建Kamailio(Schema)所需的用户和表:

在Ubuntu 18.04/CentOS 7系统上安装Kamailio SIP的方法

$ kamdbctl create

INFO: creating database kamailio ...

INFO: granting privileges to database kamailio ...

INFO: creating standard tables into kamailio ...

INFO: Core Kamailio tables succesfully created.

Install presence related tables? (y/n): y

INFO: creating presence tables into kamailio ...

INFO: Presence tables succesfully created.

Install tables for imc cpl siptrace domainpolicy carrierroute

drouting userblacklist htable purple uac pipelimit mtree sca mohqueue

rtpproxy rtpengine? (y/n): y

INFO: creating extra tables into kamailio ...

INFO: Extra tables succesfully created.

Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags

uid_uri_db? (y/n): y

INFO: creating uid tables into kamailio ...

INFO: UID tables succesfully created.

系统将提示你提供mysql root密码。

/etc/kamailio/kamailio.cfg是kamailio的配置文件,编辑它以启用随附的一些功能。

你还可以设置SIP域:

$ sudo vim /etc/kamailio/kamctlrc

## your SIP domain

比如:SIP_DOMAIN=ywnz.com

如果你的本地网络上没有可用的DNS服务器,也可以使用IP地址代替域名。

在#!KAMAILIO下方添加以下行:

#!define WITH_MYSQL

#!define WITH_AUTH

#!define WITH_USRLOCDB

#!define WITH_ACCDB

这些指令将打开必要的模块,例如,当你指定时,WITH_MYSQL它可以加载mysql.so:

#!ifdef WITH_MYSQL

loadmodule "db_mysql.so"

#!endif

然后启动Kamailio服务:

$ sudo systemctl restart kamailio

你的Kamailio服务应该正在运行,可以使用以下命令确认:

# systemctl status kamailio

在Ubuntu 18.04/CentOS 7系统上安装Kamailio SIP的方法

如果遇到Kamailio服务的任何问题,可以在/var/log/kamailio.log上找到这些日志。至此,安装及配置Kamailio SIP完成了。

 

相关主题

在Ubuntu 18.04/16.04命令行上安装MySQL 8.0.11的全过程

精选文章
热门文章