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问题。
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安装