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/kamctlrcDBENGINE=MYSQL 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_USRLOCDB5
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.