freeswitch系列二 kamailio 5.0安装及实现kamailio集成freeswitch

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,关闭权限检查

  
  <X-PRE-PROCESS cmd="set" data="internal_auth_calls=false"/>
  <X-PRE-PROCESS cmd="set" data="internal_sip_port=5260"/>
  <X-PRE-PROCESS cmd="set" data&

你可能感兴趣的:(freeswitch,杂集,sip,freeswitch,kamailio)