CentOS 6.0安装配置Kamailio的方法

时间:2015-05-31856举报小编:123

    今天给大家介绍下CentOS 6.0如何安装配置Kamailio,感兴趣的朋友来看下吧!


    1.编译安装

    下载源码

    # cd ~

    # wget http://www.kamailio.org/pub/kamailio/latest/src/kamailio-3.3.2_src.tar.gz

    # tar zxvf kamailio-3.3.2_src.tar.gz

    # cd kamailio-3.3.2

    # make FLAVOUR=kamailio cfg

    用自己熟悉的编辑工具打开“modules.lst”文件,找到“exclude_modules”变量,删除db_mysql字段(这里可以根据自己的需要调整编译的模块)。然后编译:

    # make all

    # make install

    缺省情况下,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

    # $Id$

    #

    # The Kamailio configuration file for the control tools.

    #

    # Here you can set variables used in the kamctl and kamdbctl setup

    # scripts. Per default all variables here are commented out, the control tools

    # will use their internal default values.

    ## your SIP domain

    SIP_DOMAIN=kamailio.org

    ## chrooted directory

    # $CHROOT_DIR=“/path/to/chrooted/directory”

    ## database type: MYSQL, PGSQL, Oracle, DB_BERKELEY, or DBTEXT, by default none is loaded

    # If you want to setup a database with kamdbctl, you must at least specify

    # this parameter.

    DBENGINE=MYSQL

    ## database host

    DBHOST=localhost

    ## database name (for ORACLE this is TNS name)

    DBNAME=openser

    # database path used by dbtext or db_berkeley

    # DB_PATH=“/usr/local/etc/kamailio/dbtext”

    ## database read/write user

    DBRWUSER=openser

    ## password for database read/write user

    DBRWPW=“openserrw”

    ## database read only user

    # DBROUSER=openserro

    DBROUSER=openserro

    ## password for database read only user

    DBROPW=openserro

    ## database super user (for ORACLE this is ‘scheme-creator’ user)

    DBROOTUSER=“root”

    # user name column

    USERCOL=“username”

    # SQL definitions

    # If you change this definitions here, then you must change them

    # in db/schema/entities.xml too.

    # FIXME

    # FOREVER=“2020-05-28 21:32:15”

    # DEFAULT_ALIASES_EXPIRES=$FOREVER

    # DEFAULT_Q=“1.0”

    # DEFAULT_CALLID=“Default-Call-ID”

    # DEFAULT_CSEQ=“13”

    # DEFAULT_LOCATION_EXPIRES=$FOREVER

    # Program to calculate a message-digest fingerprint

    # MD5=“md5sum”

    # awk tool

    # AWK=“awk”

    # If you use a system with a grep and egrep that is not 100% gnu grep compatible,

    # e.g. solaris, install the gnu grep (ggrep) and specify this below.

    #

    # grep tool

    # GREP=“grep”

    # egrep tool

    # EGREP=“egrep”

    # sed tool

    # SED=“sed”

    # tail tool

    # LAST_LINE=“tail -n 1”

    # expr tool

    # EXPR=“expr”

    # Describe what additional tables to install. Valid values for the variables

    # below are yes/no/ask. With ask (default) it will interactively ask the user

    # for an answer, while yes/no allow for automated, unassisted installs.

    #

    # If to install tables for the modules in the EXTRA_MODULES variable.

    # INSTALL_EXTRA_TABLES=ask

    # If to install presence related tables.

    # INSTALL_PRESENCE_TABLES=ask

    # Define what module tables should be installed.

    # If you use the postgres database and want to change the installed tables, then you

    # must also adjust the STANDARD_TABLES or EXTRA_TABLES variable accordingly in the

    # kamdbctl.base script.

    # Kamailio standard modules

    # STANDARD_MODULES=“standard acc lcr domain group permissions registrar usrloc msilo

    # alias_db uri_db speeddial avpops auth_db pdt dialog dispatcher

    # dialplan”

    # Kamailio extra modules

    # EXTRA_MODULES=“imc cpl siptrace domainpolicy carrierroute userblacklist htable purple”

    ## type of aliases used: DB - database aliases; UL - usrloc aliases

    ## - default: none

    # ALIASES_TYPE=“DB”

    ## control engine: FIFO or UNIXSOCK

    ## - default FIFO

    # CTLENGINE=“FIFO”

    ## path to FIFO file

    # OSER_FIFO=“FIFO”

    ## check ACL names; default on (1); off (0)

    # VERIFY_ACL=1

    ## ACL names - if VERIFY_ACL is set, only the ACL names from below list

    ## are accepted

    # ACL_GROUPS=“local ld int voicemail free-pstn”

    ## verbose - debug purposes - default ‘0’

    VERBOSE=1

    ## do (1) or don‘t (0) store plaintext passwords

    ## in the subscriber table - default ’1‘

    # STORE_PLAINTEXT_PW=0

    ## OPENSER START Options

    ## PID file path - default is: /var/run/kamailio.pid

    # PID_FILE=/var/run/kamailio.pid

    PID_FILE=/var/run/kamailio.pid

    ## Extra start options - default is: not set

    # example: start Kamailio with 64MB share memory: STARTOPTIONS=“-m 64”

    # STARTOPTIONS=

    打开/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终端注册。

    上面就是CentOS 6.0安装Kamailio的方法介绍了,Kamailio的编译安装需要下载源码,只需进行一些简单的配置即可,配置好后添加用户账号就可以使用了。