Kamailio(前身为OpenSER)是一个开源的SIP服务器项目,基于GPL授权。它以处理性能见长,每秒钟能处理上千个并发呼叫。其官方主页为http://www.kamailio.org。本文描述Kamailio的安装配置过程。安装环境为CentOS6.0。
1.编译安装
下载源码
# cd ~ |
用自己熟悉的编辑工具打开”modules.lst”文件,找到”exclude_modules”变量,删除db_mysql字段(这里可以根据自己的需要调整编译的模块)。然后编译:
# make all |
缺省情况下,Kamailio的可执行文件安装在”/usr/local/sbin”路径下,配置文件安装在”/usr/local/etc/kamailio”路径下。
几个可执行文件功能如下:
kamailio – Kamailio服务器的执行文件
kamdbctl – 创建和管理数据库的脚本
kamctl – 管理和控制Kamailio服务器的脚本
sercmd – CLI,一个命令行工具,访问提供Kamailio服务器的接口
2.配置
配置环境变量:
Kamailio的环境变量存储在/usr/local/etc/kamailio/kamctlrc文件中,安装时,就已经安装好模板文件了,只需要编辑一些简单的配置项即可。
# cat /usr/local/etc/kamailio/kamctlrc ## your SIP domain ## chrooted directory ## database type: MYSQL, PGSQL, Oracle, DB_BERKELEY, or DBTEXT, by default none is loaded ## database host ## database name (for ORACLE this is TNS name) # database path used by dbtext or db_berkeley ## database read/write user ## password for database read/write user ## database read only user ## password for database read only user ## database super user (for ORACLE this is ‘scheme-creator’ user) # user name column # SQL definitions # FOREVER=”2020-05-28 21:32:15″ # Program to calculate a message-digest fingerprint # awk tool # If you use a system with a grep and egrep that is not 100% gnu grep compatible, # egrep tool # sed tool # tail tool # expr tool # Describe what additional tables to install. Valid values for the variables # If to install tables for the modules in the EXTRA_MODULES variable. # If to install presence related tables. # Define what module tables should be installed. # Kamailio standard modules # Kamailio extra modules ## type of aliases used: DB – database aliases; UL – usrloc aliases ## control engine: FIFO or UNIXSOCK ## path to FIFO file ## check ACL names; default on (1); off (0) ## ACL names – if VERIFY_ACL is set, only the ACL names from below list ## verbose – debug purposes – default ‘0’ ## do (1) or don’t (0) store plaintext passwords ## OPENSER START Options
|
打开/usr/local/etc/kamailio/kamailio.cfg,添加下面几行(应该添加在”####### Defined Values #########”这一行之前):
…… #!define WITH_MYSQL #!define WITH_AUTH #!define WITH_USRLOCDB #!define WITH_NAT …… |
执行下面命令创建DB:
# /usr/local/sbin/kamdbctl create |
3. 启动Kamailio服务
# /usr/local/sbin/kamctl start |
4. 监视Kamailio
# /usr/local/sbin/kamctl moni |
5. 添加用户帐号
# kamctl add 1000 1000 |
其中第一个1000为username;第二个1000为password,添加完毕后,配置你的SIP终端注册上来看看,祝你好运。
RedHat 5系统上SIP服务器Kamailio-3.2.2安装 http://www.linuxidc.com/Linux/2012-02/54055.htm
Ubuntu 12.04 下编译Kamailio 4.1.0 http://www.linuxidc.com/Linux/2014-01/95845.htm