歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 12.04 下編譯Kamailio 4.1.0

Ubuntu 12.04 下編譯Kamailio 4.1.0

日期:2017/2/28 14:36:46   编辑:Linux教程

Kamailio項目誕生於2005年7月,它是從德國FhG FOKUS研究所主導的SIP Express Router(SER)項目組分裂出來的。新項目建立的目標是創建一個開放的開發環境,以建立一個強大的可擴展的開源SIP服務器。最初,新項目命名為OpenSer,後來因為商標侵權問題,在2008年7月28號,重命名為Kamailio(另外一個分枝是OpenSips)。

Kamailio的官方主頁是http://www.kamailio.org 。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 http://www.kamailio.org/pub/kamailio/latest/src/kamailio-4.1.1_src.tar.gz

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.linuxidc.com/Linux/2012-02/54055.htm

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved