Linux kamailio Sipサーバのコンパイルとインストール(Ubuntu 14.04)

3727 ワード

KamailioはオープンソースSipサーバで、多くの機能をサポートし、拡張性に優れています.ubuntuシステムでは、Kamailioにはapt-getでインストールする方法と、ソースコードでインストールする方法の2つがあります.本文は筆者がソースコードを通じてkamailioをインストールする過程を記録して、インストールの問題があれば、伝言の交流を歓迎します.
0.環境設置
$sudo apt-get install git
$sudo apt-get install flex
$sudo apt-get install bison
$sudo apt-get install  libcurl4-openssl-dev
$sudo apt-get install libxml2-dev
$sudo apt-get install libpcre3-dev
注意:Mysqlもインストールする必要があります.ここにはリストされていません.
1.ソースのダウンロード
 $ git clone git://git.sip-router.org/kamailio kamailio
 $ cd kamailio
 $ git checkout -b 4.2 origin/4.2 or 
git checkout -b 4.3 origin/4.3
 : , git checkout 4.2 4.3 

2.構成のコンパイル
$ make include_modules="db_mysql "cfg
modulesを開きます.lstファイルは、次のように表示されます.
include_modules= db_mysql
注意:公式サイトではmake cfgを使用していますが、db_は生成されません.mysql.so
3.コンパイル
$make all
4.インストール
$sudo make install
インストールが完了すると、次のファイルが表示されます.
/usr/local/sbin/kamctl
/usr/local/sbin/kamailio
/usr/local/etc/kamailio/kamailio.cfg
/usr/local/etc/kamailio/kamctlrc
5.プロファイルの変更
/usr/local/etc/kamailio/kamailio.cfg:
ファイルヘッダ4行追加:
#!define WITH_MYSQL  #!define WITH_AUTH  #!define WITH_ALIASDB  #!define WITH_USRLOCDB 
#!ifndef DBURL #!define DBURL "mysql://root:hello@localhost/kamailio"//rootはユーザー名、helloはパスワード#!endif
起動時に次のエラーが発生した場合(このfifoは最新バージョンでは古い):
ERROR: Error opening Kamailio's FIFO/tmp/kamailio_fifo
ERROR: Make sure you have the line 'modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")' in your config
解決策:
#modparam("mi_fifo","fifo_name","/var/run/kamailio/kamailio_fifo")を次の行に変更します.modparam("mi_fifo","fifo_name","/tmp/kamailio_fifo")
/usr/local/etc/kamailio/kamctlrc:
#SIP_DOMAIN=127.0.0.1 SIP_DOMAIN=192.168.40.132//kamailioが存在するドメイン
# If you want to setup a database with kamdbctl, you must at least specify # this parameter. DBENGINE=MYSQL ## database host DBHOST=localhost ## database name (for ORACLE this is TNS name) DBNAME=kamailio
## database access host (from where is kamctl used) DBACCESSHOST=127.0.0.1 ## database read/write user DBRWUSER="kamailio"
## database super user (for ORACLE this is 'scheme-creator' user) DBROOTUSER="root"
## database access host (from where is kamctl used) DBACCESSHOST=127.0.0.1 ## database super user (for ORACLE this is 'scheme-creator' user) DBROOTUSER="root"
6.kamailioデータベースの作成
まず、Mysqlデータベースがインストールされていることを確認し、次のコマンドを実行してkamailioデータベースを作成します.
$kamdbctl create
パスワードをhelloに設定し、オプションに応じてリターンをデフォルトに設定します.
7.ユーザーの追加
$kamctl add 5555 4444
そのうち5555はユーザー名、4444はパスワードです
8.kamailioの起動
$sudo kamctl start
9.その他のコマンド
$kamctl stop
$kamctl restart
$kamctl ps//運転状態の表示
$tail/var/log/syslog//起動失敗ログなどの実行ログの表示
10.その他の問題(tail-f/var/log/syslog)
10.1 mysql接続できない
May 29 08:17:46 iZ2ze3uk97m2bfv681kyx4Z/usr/local/sbin/kamailio[11848]: ERROR: db_mysql [km_my_con.c:124]: db_mysql_new_connection(): driver error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
理由:mysqlプロファイル(/etc/my.cnf)でsocket=/tmp/mysqlとして指定する.sock、kamailioと一致しない
解決:my.cnfファイルの構成をkamailioに必要な構成に変更