Ubuntu 12.04 下编译Kamailio 4.1.0

Kamailio项目诞生于2005年7月,它是从德国FhG FOKUS研究所主导的SIP Express Router(SER)项目组分裂出来的。新项目建立的目标是创建一个开放的开发环境,以建立一个强大的可扩展的开源SIP服务器。最初,新项目命名为OpenSer,后来因为商标侵权问题,在2008年7月28号,重命名为Kamailio(另外一个分枝是OpenSips)。

Kamailio的官方主页是 。1.5.x前的版本,其源码托管在sourceforge.net的SVN库上。从3.0.0版开始,源码托管在sip-router.org的GIT库上。

2008年11月,Kamailio和SER的开发团队再度携手合作,整合两个SIP服务应用项目。整合结束后发布的V3.0.0版,在同一源码树包含了这两个应用。换句话说,从源码角度,Kamailio和SER已经合并为一个应用。不同的地方仅是编译时选择的名字和缺省配置的加载模块而已。

不同于PBX,KAMAILIO是个纯粹的SIP服务器,它可以作为PROXY、注册服务器、重定向服务器,也可作为简单的PRESENCE服务器,其本身并不处理RTP,可能通过RTPPROXY来处理RTP的NAT问题。

Kamailio History

1 编译前准备

sudo apt-get install gcc

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install libmysqlclient15-dev

sudo apt-get install make

sudo apt-get install libcurl4-openssl-dev

sudo apt-get install libxml2-dev

sudo apt-get install libpcre3-dev

2 编译过程

2.1 下载源码 wget

2.2 解压缩 tar -zxvf kamailio-4.1.0_src.tar.gz

2.3 vi modules.lst, 将db_mysql这个变量从exclude_modules里面移除掉,然后保存并退出。

2.4 设置cfg。 make include_modules="db_mysql dialplan" cfg

2.5 make all

3 安装与配置

3.1 make install

3.2 配置/usr/local/etc/kamailio/kamailio.cfg

#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_NAT
#!define WITH_MYSQL

3.3 配置 /usr/local/etc/kamailio/kamctlrc

SIP_DOMAIN= x.x.x.x

DBENGINE=MYSQL

## database host
DBHOST=localhost

## database name (for Oracle this is TNS name)
DBNAME=kamailio

# database path used by dbtext, db_berkeley or sqlite
# DB_PATH="/usr/local/etc/kamailio/dbtext"

## database read/write user
DBRWUSER="kamailio"

## password for database read/write user
DBRWPW="kamailiorw"

## database read only user
DBROUSER="kamailioro"

3.4 安装 mysql server:

3.5 建立数据库: /usr/local/sbin/kamdbctl create

3.6 增加用户: kamctl add 1 1

3.7 安装rtpproxy: apt-get install rtpproxy

3.8 配置rtpproxy: vim /etc/default/rtpproxy, 内容改成如下:

# Defaults for rtpproxy

# The control socket.
#CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock"
# To listen on an UDP socket, uncomment this line:
CONTROL_SOCK=udp:127.0.0.1:7722

# Additional options that are passed to the daemon.
EXTRA_OPTS=""
LISTEN_ADDR=x.x.x.x #公网IP
EXTRA_OPTS="-l ${LISTEN_ADDR}"

3.9 重启rtpproxy: /etc/init.d/rtpproxy restart

4.0 启动服务:./kamctl start

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18755.html