1. 概述
kamailio是个纯粹的SIP服务器。本文介绍先如何在debian8下安装debian5.0,然后详细介绍如何实现使用kamailio做freeswitch均衡负载。kamailio同时实现做为代理服务器、注册服务器、重定向服务器。
2. 在debian 8 安装debian 5.0
2.1. 安装环境
这里的安装在和freeswitch系列一 在debian中安装freeswitch1.6相同的服务器上。
2.2. 安装kamailio
配置kamailio软件源, 创建文件: /etc/apt/sources.list.d/kamailio.list 并加入如下信息
deb http://deb.kamailio.org/kamailio jessie main
deb-src http://deb.kamailio.org/kamailio jessie main
配置公钥
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xfb40d3e6508ea4c8
// 执行安装apt-get更新
apt-get update
安装数据库 : 安装mysql不是必须,下文需要用到mysql,所以这里进行安装
apt-get install mysql-server
安装 kamailio 和kamailio的msqyl模块
apt-get install kamailio kamailio-mysql-modules
服务控制命令
systemctl status kamailio
systemctl start kamailio
systemctl stop kamailio
systemctl restart kamailio
2.3. 重定义日志文件
对/etc/rsyslog.d/kamailio.conf 做如下改动,重启rsyslog( service rsyslog restart)和Kamailio。这样所有Kamailio的日志将会输出到上面指定的文件(/var/log/kamailio.log)。
*.*;auth,authpriv.none,local0.none -/var/log/syslog
if $syslogfacility-text=='local0' then -/var/log/kamailio.log
2.4. kamailio重要目录
- /usr/lib/x86_64-linux-gnu/kamailio/modules/:modules so目录, 定义在kamailio配置文件的mpath里
- /run/kamailio:运行时生成的临时文件
- /etc/init.d/kamailio:启动脚本
- /etc/default/kamailio:启动使用此文件做为配置文件
- /etc/kamailio/:主目录
- /etc/kamailio/kamctlrc:是kamctl 和 kamdbctl的配置文件
- kamailio.cfg:kamailio主要配置文件
- /lib/systemd/system/kamailio.service: systemctl 的启动配置文件
3. Kamailio 集成freeswitch
下面介绍kamailio做2台freeswitch的均衡负载。此时kamailio扮演代理服务器、注册服务器、重定向服务器的角色
4. freeswitch的配置
为了集成到kamailio,freeswitch也需要做相应的修改
4.1. 修改freeswitch 则witch端口
在上文安装完毕,如果同一服务器上先启动了freeswitch, 则kamailio会启动失败。因为freeswitch和kamailio都默认使用同一端口5060。这里我们修改freeswitch的默认端口。
修改 /etc/freeswitch/vars.xml,把其中的5060,5080也改成其它的,如5260,5280。修改internal_auth_calls为false,关闭权限检查
<!-- Internal SIP Profile -->
<X-PRE-PROCESS cmd="set" data="internal_auth_calls=false"/>
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5260"/>
<