Centos7安装Kamailio
1、访问 http://www.kamailio.org/pub/kamailio/latest/src/ 查看kamailio的版本信息

2、wget http://www.kamailio.org/pub/kamailio/latest/src/kamailio-5.6.3_src.tar.gz

安装依赖
sudo yum install gcc gcc-c++ flex bison make openssl openssl-devel libxml2 libxml2-devel zlib-devel ncurses* e2fsprogs-devel uuid-devel libuuid-devel readline6 readline-devel curl-devel mysql-devel lua-devel
3、
# tar zxvf kamailio-5.6.3_src.tar.gz # cd kamailio-5.6.3
# make FLAVOUR=kamailio cfg
# cd src
用自己熟悉的编辑工具打开"modules.lst"文件,找到"exclude_modules"变量,删除db_mysql字段(这里可以根据自己的需要调整编译的模块)。然后编译:
# make all # make install
cat /usr/local/etc/kamailio/kamctlrc ## the SIP domain SIP_DOMAIN=192.168.222.225 #服务器IP地址 ## PID file path - default is: /run/kamailio/kamailio.pid PID_FILE=/run/kamailio/kamailio.pid
/usr/local/sbin/kamctl start 开启
/usr/local/sbin/kamctl stop 停止
kamailio:在200 OK之后Kamailio没有转发ACK和BYE
vi /usr/local/etc/kamailio/kamailio.cfg
if ( is_method("ACK") ) { if ( t_check_trans() ) { # no loose-route, but stateful ACK; # must be an ACK after a 487 # or e.g. 404 from upstream server route(RELAY); exit; } else { # ACK without matching transaction ... ignore and discard exit; } } sl_send_reply("404","Not here"); exit;
修改为
if ( is_method("ACK|BYE") ) { if ( t_check_trans() ) { # no loose-route, but stateful ACK; # must be an ACK after a 487 # or e.g. 404 from upstream server route(RELAY); exit; } else { # ACK without matching transaction ... ignore and discard $duri = $ruri; t_relay(); exit; } } sl_send_reply("404","Not here"); exit;
数据注册太多,该服务器一直回503的问题
/usr/local/sbin/kamailio -I
/usr/local/sbin/kamctl stop
/usr/local/sbin/kamailio -M 24 -m 512

启动kamailio,提示 ERROR: PID file /run/kamailio/kamailio.pid does not exist -- Kamailio start failed
1、netstat -anp | grep 5060 是否有占用;
有占用,就需要kill 该端口进行启动就可以
浙公网安备 33010602011771号