Hướng dẫn cài đặt Kamailio 4.1 trên Ubuntu 12.04

posted Aug 3, 2014, 9:42 AM by TEL4VN Channel
Hướng dẫn cài đặt Kamailio 4.1 trên Ubuntu 12.04


1) Công tác chuẩn bị:

Với server mới thì công việc đầu tiên là cập nhật các package mới nhất:

apt-get update

apt-get upgrade

Sau đó thì khởi động lại server:

reboot

Để cài đặt Kamailio thì bạn cần phải cài đặt các gói phụ thuộc trước:

apt-get install gcc bison flex libmysqlclient-dev make libssl-dev libcurl4-openssl-dev libpcre3-dev

2) Cài đặt Kamailio:

Download source của Kamailio:

cd /usr/src
wget http://www.kamailio.org/pub/kamailio/latest/src/kamailio-4.1.4_src.tar.gz

Bắt đầu cài đặt Kamailio:

cd /usr/src/source_of_Kamailio
make cfg


Mở file modules.lst và thêm db_mysql vào include_modules.

Trong trường hợp muốn cài đặt Kamailio cùng với các module khác nữa thì bạn cũng làm công việc tương tự là đặt tên module đó vào include_modules list.

Compile Kamailio:

make all
make install


Sau khi cài đặt Kamailio, các file binary và các script được đặt tại:

  /usr/local/sbin

Với:

  • kamailio - Kamailio SIP server
  • kamdbctl - script tạo và quản lý database
  • kamctl - script để quản lý và điều khiển Kamailio SIP server
  • sercmd - CLI - command line tool để giao tiếp với Kamailio SIP server
Kamailio modules được cài đặt tại:
  /usr/local/lib/kamailio/modules/

Chú ý: Trên hệ thống 64 bit, thì modules được đặt tại /usr/local/lib64.

File cấu hình chính của Kamailio:

  /usr/local/etc/kamailio/kamailio.cfg

3) Tạo database Mysql cho Kamailio

Để tạo MySQL database, bạn phải sử dụng script tạo database. Đầu tiên, ta edit kamctlrc file để set loại của database server:

vi /usr/local/etc/kamailio/kamctlrc
DBENGINE=MYSQL

Bạn có thể thay đổi các giá trị khác trong kamctlrc file, ít nhất là user connect tới db, tránh sử dụng các account mặc định trong đó.

Sau khi hoàn tất việc chỉnh sửa kamctlrc file, ta cần chạy script để tạo db cho Kamailio:

  /usr/local/sbin/kamdbctl create

Bạn sẽ được hỏi domain name của Kamailio, nếu chưa có domain thì bạn chỉ cần nhập ip của server. Sau đó là root password của Mysql. Script sẽ tạo database tên là kamailio với các trường cần thiết cho Kamailio. Bạn có thể thay đổi các thông số này trong file kamctlrc.

Script sẽ tạo 2 users trong MySQL:

- kamailio - (với default password 'kamailiorw') - user có full access vào 'kamailio' database

- kamailioro - (với default password 'kamailioro') - user chỉ có read-only access vào 'kamailio' database

4) Sửa file cấu hình của Kamailio

Tùy vào mục đích sử dụng, bạn có thể thay đổi file cấu hình của Kamailio tại:

  /usr/local/etc/kamailio/kamailio.cfg

Để enable Mysql thì ta cần thêm các dòng sau vào đầu file config:

#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
5) Khởi động Kamailio

kamctl start

Bạn cần xem kỹ kết quả nhận được sau lệnh khởi động, nếu bạn khởi động thành công thì sẽ thấy được process id của
Kamailio. Ngược lại thì bạn sẽ nhận được thông báo:

ERROR: PID file /var/run/kamailio.pid does not exist -- Kamailio start failed

Lúc đó bạn cần kiểm tra lại log của Kamailio để biết dòng nào trong file cấu hình bị lỗi.

tail -f /var/log/messages

Nếu khởi động Kamailio thành công, thì quá trình cài đặt Kamailio đã hoàn tất, công việc tiếp theo là tạo ra khoảng 2 sip accounts sau đó login trên softphone để thực hiện cuộc goi.



Comments