RedHat 5系统上SIP服务器Kamailio-3.2.2安装

Kamailio是一个开源的SIP服务器,原名OpenSER,,运行在Linux/Unix平台上的C程序。具有较好的性能,灵活性和安全性。

Weblinks

·Homepagewithnewprojectname:

·Homepagewitholdprojectname:

·SourceForge.netProjectpage:

本文从网站下载源程序以及二进制安装程序做的安装,其原因在于二进制安装包缺少db_mysql.so库,而使用源程序安装的不清楚如何编译出kamdbctl命令。

一、安装包

下载安装包kamailio-3.2.2_src.tar.gz,并上传到服务器/opt目录下,解压安装包:

#gunzipkamailio-3.2.2_src.tar.gz

#tar-xvfkamailio-3.2.2_src.tar

二、源代码安装

1、在使用源码的方式安装,必须确认系统中编译器gcc和一些依赖包可用,如果不可用,需要先安装gcc编译器。如果gcc可用,直接跳到下一步。这里给出gcc安装过程。

#rpm-ivhcpp-4.1.2-48.el5.i386.rpm

#rpm-ivhkernel-headers-2.6.18-194.el5.i386.rpm

#rpm-ivhglibc-headers-2.5-49.i386.rpm

#rpm-ivhglibc-devel-2.5-49.i386.rpm

#rpm-ivhlibgomp-4.4.0-6.el5.i386.rpm

#rpm-ivhgcc-4.1.2-48.el5.i386.rpm

2、Kamailio源代码编译需要bison、flex包,故在编译kamailio之前,需要先安装这些包:

#rpm-ivh/home/Server/bison-2.3-2.1.i386.rpm

#rpm-ivh/home/Server/bison-devel-2.3-2.1.i386.rpm

#rpm-ivh/home/Server/flex-2.5.4a-41.fc6.i386.rpm

3、修改编译配置文件,以使得包含MySQLmodule

#viMakefile.vars

添加下述内容:

MODS_MYSQL=on

4、执行kamailio的编译与安装

#./make_and_installinstall”standardmysql”ignore/usr/local

关于make_and_install命令的详细用法,使用不带参数的命令即可:

#./make_and_install

Usage:

./make_and_install[clean|compile|install|nccompile|ncinstall]”standard|standard-dep|mysql|radius|presence|stable|experimental”[ignore|stop][installpath]

检查编译安装过程是否有误,可用查看make_and_install_output.txt.

三、二进制安装

由于源码安装不清楚使用什么选项可用生成kamdbctl工具,故直接使用二进制安装方式生成该工具。

将kamailio-3.2.2_linux_i386.tar.gz包上传到服务器根目录下,解压安装包:

#gunzipkamailio-3.2.2_linux_i386.tar.gz

#tar-xvfkamailio-3.2.2_linux_i386.tar

四、启动kamailio服务

1、修改/usr/local/etc/kamailio/kamctlrc文件

DBENGINE=MYSQLSIP_DOMAIN=pryko.com

2、使用kamctl启动服务

#kamctlstart

WARNING:databaseenginenotfound-tried’MYSQL’

INFO:StartingKamailio:

ERROR:PIDfile/var/run/kamailio.piddoesnotexist–Kamailiostartfailed

[root@eomcrmodules]#kamdbctlcreate

ERROR:couldnotloadthescriptin/usr/local/lib/kamailio//kamctl/kamdbctl.mysqlfordatabaseengineMYSQL

ERROR:databaseenginenotloaded-tried’MYSQL’

这是由于未修改配置文件kamailio.cfg导致,所以修改/usr/local/etc/kamailio/kamailio.cfg

在文件头部添加:

#!defineWITH_MYSQL

3、重新启动:

#kamctlstart

若仍然出错,请检查是否db_mysql.so文件在/usr/local/lib/kamailio/modules下。

若存在,仍然出错,可能是mysql安装存在问题,需检查系统是否存在下述mysql安装程序:

#rpm-qarpm-qaMySQL-shared

MySQL-shared-5.1.61-1.glibc23

#rpm-qaMySQL-devel

MySQL-devel-5.1.61-1.glibc23

并检查/usr/lib下是否有libmysqlclient.so.16库

#ll/usr/lib|greplibmysqlclient

lrwxrwxrwx1rootroot2602-0817:46libmysqlclient_r.so->libmysqlclient_r.so.16.0.0

lrwxrwxrwx1rootroot2602-0817:46libmysqlclient_r.so.16->libmysqlclient_r.so.16.0.0

-rwxr-xr-x1rootroot196970812-2004:21libmysqlclient_r.so.16.0.0

lrwxrwxrwx1rootroot2402-0817:46libmysqlclient.so->libmysqlclient.so.16.0.0

lrwxrwxrwx1rootroot2402-0817:46libmysqlclient.so.16->libmysqlclient.so.16.0.0

-rwxr-xr-x1rootroot196045612-2004:21libmysqlclient.so.16.0.0

没有的话,就需要安装前面提到的两个库。

若没有问题,则kamailio可以正常启动,输出如下:

#kamctlstart

INFO:StartingKamailio:

INFO:started(pid:5937)

莫找借口失败,只找理由成功。(不为失败找理由,要为成功找方法

RedHat 5系统上SIP服务器Kamailio-3.2.2安装

相关文章:

你感兴趣的文章:

标签云: