kamailio安装

1 下载

kamailio 源码tar包

依赖: git client: apt-get install git - it is recommended to have a recent version, if your Linux distro has an old version, you can download newer one from: http://git-scm.com/ gcc compiler: apt-get install gcc flex - apt-get install flex bison - apt-get install bison libmysqlclient-dev - apt-get install libmysqlclient-dev make - apt-get install make if you want to enable more modules, some of them require extra libraries: libssl - apt-get install libssl-dev libcurl - apt-get install libcurl4-openssl-dev libxml2 - apt-get install libxml2-dev libpcre3 - apt-get install libpcre3-dev

注:依赖关系摘抄于Install And Maintain Kamailio v4.3.x From GIT

2 安装

  1. 解压进入安装目录
  2. 执行make cfg生成modules.ls文件
  3. 打开modules.ls文件,去掉exclude_modules中的db_mysql,保存。
  4. make all
  5. make install

注:以上来自Unbuntu上编译安装搭建Kamailio sip服务端详细步骤

3 配置Mysql

3.1 编辑/usr/local/etc/kamailio/kamctlrc

将以下字段最前面的#去掉

SIP_DOMAIN=localhost  //localhost可根据需要修改
DBENGINE=MYSQL 
DBHOST=localhost 
DBNAME="kamailio" 
DBRWUSER="kamailio" 
DBRWPW="123456"    //密码可根据需要修改
DBROUSER="kamailioro" 
DBROPW="123456"
DBROOTUSER="root" 
ALIASES_TYPE="DB" 
CTLENGINE="FIFO" 
FIFOPATH="/var/run/kamailio_fifo" 
VERBOSE=1 
PID_FILE=/var/run/kamailio.pid
USERCOL="username"

3.2 编辑/usr/local/etc/kamailio/kamailio.cfg

将以下字段添加到####### Defined Values #########后面

#!define WITH_MYSQL 
#!define WITH_AUTH 
#!define WITH_ALIASDB 
#!define WITH_USRLOCDB 

修改DBURL和/usr/local/etc/kamailio/kamctlrc配置中一致

#!define DBURL "mysql://kamailio:123456@localhost/kamailio"

3.3 创建数据库

执行kamdbctl create,根据提示进行操作。

3.4 添加数据

kamctl add name password

4 配置rtpProxy

  1. 编辑/usr/local/etc/kamailio/kamailio.cfg

将以下字段添加到####### Defined Values #########后面

#!define WITH_NAT

修改rtpproxy通信方式及地址端口

modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")

5 启动kamailio

  1. 执行kamailio启动服务
  2. 使用netstat -anp | grep 7722(7722是rtpProxy端口)查看rtpProxy配置是否有问题
[root@localhost kamailio]# netstat -anp | grep 7722
udp        0      0 127.0.0.1:59678             127.0.0.1:7722              ESTABLISHED 14851/kamailio      
udp        0      0 0.0.0.0:7722                0.0.0.0:*                               109384/rtpproxy     
udp        0      0 127.0.0.1:34230             127.0.0.1:7722              ESTABLISHED 14873/kamailio      
udp        0      0 127.0.0.1:39606             127.0.0.1:7722              ESTABLISHED 14870/kamailio      
udp        0      0 127.0.0.1:38843             127.0.0.1:7722              ESTABLISHED 14845/kamailio      
udp        0      0 127.0.0.1:59836             127.0.0.1:7722              ESTABLISHED 14850/kamailio      
udp        0      0 127.0.0.1:55617             127.0.0.1:7722              ESTABLISHED 14874/kamailio      
udp        0      0 127.0.0.1:48102             127.0.0.1:7722              ESTABLISHED 14847/kamailio      
udp        0      0 127.0.0.1:59240             127.0.0.1:7722              ESTABLISHED 14848/kamailio      
udp        0      0 127.0.0.1:59756             127.0.0.1:7722              ESTABLISHED 14844/kamailio      
udp        0      0 127.0.0.1:36978             127.0.0.1:7722              ESTABLISHED 14841/kamailio      
udp        0      0 127.0.0.1:47860             127.0.0.1:7722              ESTABLISHED 14871/kamailio      
udp        0      0 127.0.0.1:53751             127.0.0.1:7722              ESTABLISHED 14872/kamailio      
udp        0      0 127.0.0.1:39417             127.0.0.1:7722              ESTABLISHED 14841/kamailio      
udp        0      0 127.0.0.1:59262             127.0.0.1:7722              ESTABLISHED 14865/kamailio      
udp        0      0 127.0.0.1:57984             127.0.0.1:7722              ESTABLISHED 14843/kamailio      
udp        0      0 127.0.0.1:60165             127.0.0.1:7722              ESTABLISHED 14846/kamailio      
udp        0      0 127.0.0.1:54673             127.0.0.1:7722              ESTABLISHED 14852/kamailio      
udp        0      0 127.0.0.1:41362             127.0.0.1:7722              ESTABLISHED 14849/kamailio      
udp        0      0 127.0.0.1:39450             127.0.0.1:7722              ESTABLISHED 14864/kamailio  

6 FAQ

6.1 kamctl添加用户报权限错误

ERROR 1045 (28000): Access denied for user 'kamailioro'@'localhost' (using password: YES) INFO: user '100' already exists

解决:修改kamailio密码

UPDATE user SET password=PASSWORD('123456') WHERE user='kamailio';
FLUSH PRIVILEGES;

6.2 kamailio启动时mi_fifo报错

ERROR: mi_fifo [fifo_fnc.c:72]: mi_init_fifo_server(): Can't create FIFO: No such file or directory (mode=432)

解决:编辑/usr/local/etc/kamailio/kamailio.cfg,将fifo路径改为存在的文件中

modparam("mi_fifo", "fifo_name", "/var/run/kamailio_fifo")

6.3 kamailio启动时ctl报错

0(14675) INFO: <core> [tcp_main.c:4656]: init_tcp(): using epoll_lt as the io watch method (auto detected) 0(14677) INFO: rr [../outbound/api.h:54]: ob_load_api(): Failed to import bind_ob 0(14677) INFO: rr [rr_mod.c:174]: mod_init(): outbound module not available 0(14677) INFO: usrloc [hslot.c:51]: ul_init_locks(): locks array size 1024 0(14677) ERROR: ctl [init_socks.c:115]: init_unix_sock(): ERROR: init_unix_sock: bind: No such file or directory [2] 0(14677) ERROR: ctl [ctl.c:273]: mod_init(): ERROR: ctl: mod_init: init ctrl. sockets failed 0(14677) ERROR: <core> [sr_module.c:945]: init_mod(): Error while initializing module ctl (/usr/local/lib64/kamailio/modules/ctl.so) ERROR: error while initializing modules

解决:编辑/usr/local/etc/kamailio/kamailio.cfg,将binrpc路径改为存在的文件中

modparam("ctl", "binrpc", "unix:/var/run/kamailio_ctl")

转载于:https://my.oschina.net/diefrom/blog/484701

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值