开源电话交换平台FreeSwitch的安装与配置

 

环境:

操作系统:RHEL5.2

电话交换平台:FreeSwitch 1.07

支持工具:git-1.7.4.tar.bz2

1. 安装Epel源(配置这个源其实是不必要的。)

Epel官网:http://fedoraproject.org/wiki/EPEL

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'

卸载yum-rhn-plugin

/etc/init.d/yum-updatesd stop

rpm -e --nodeps yum-rhn-plugin-0.5.3-6.el5

clip_image002

yum list

如有输出软件列表,说明yum源工作正常

clip_image004

如果yum源被墙,使用代理

vi /etc/yum.conf

proxy=http://122.205.95.14:80

su -c 'yum install foo'

2. 配置本地光盘作为YUM源,Epel源作为备用。

创建/etc/yum.repos.d/rhel-cdrom.repo,内容如下

[root@freeswitch temp]# more rhel-cdrom.repo

[rhel-cdrom]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

3. Install Git from source,利用Git工具获得FreeSwitch最新源码

Git官网:http://wiki.freeswitch.org/wiki/Git_Install

clip_image006

clip_image008

mount -t iso9660 /dev/cdrom /mnt/cdrom

cd /usr/local/src

yum -y install gcc gcc-c++ make gettext-devel expat-devel curl-devel zlib-devel openssl-devel bzip2

备注:从本地源安装,貌似Epel源没有上述安装包,上述安装包是git所需要的环境

有可能用到的命令是yum clean all和yum update

wget http://kernel.org/pub/software/scm/git/git-1.7.4.tar.bz2

clip_image010

下载地址疑似被墙,使用迅雷可成功下载该软件

tar -xvjf git-1.7.4.tar.bz2

cd git-1.7.4

make prefix=/usr/local all

make prefix=/usr/local install

4. 下载及安装FreeSwitch

使用Git下载能确保使用当前最新版本FreeSwitch

cd /usr/local/src

git clone git://git.freeswitch.org/freeswitch.git

安装FreeSwitch

安装参考:http://wiki.freeswitch.org/wiki/Installation_Guide#Compiling_and_Installation

cd /usr/local/src/freeswitch

在安装FreeSwitch之前,先安装所需模块,从Rhel5光盘安装

模块的安装有两种模式,分别是

安装基本模块的FreeSwitch

yum install autoconf automake gcc-c++ git-core libjpeg-devel libtool make ncurses-devel

启用完全功能的FreeSwitch

yum install unixODBC-devel openssl-devel gnutls-devel libogg-devel libvorbis-devel curl-devel libtiff-devel libjpeg-devel python-devel expat-devel zlib zlib-devel bzip2 which

本次实验启用完全功能的FreeSwitch

clip_image012

clip_image014

下载完了,可以顺手打个包留着备用,下载过程太漫长了

tar -jcvf freeswitch.tar.bz2 /usr/local/src/freeswitch/

./bootstrap.sh && ./configure && make&&make install

开源电话交换平台FreeSwitch的安装与配置_第1张图片

安装声音文件

make all cd-sounds-install cd-moh-install

5. 修改环境变量,添加PATH

cd ~

vi .bash_profile

PATH=$PATH:$HOME/bin:/usr/local/freeswitch/bin

source ~/.bash_profile

开源电话交换平台FreeSwitch的安装与配置_第2张图片

6. Freeswitch的启动方式有两种

a) 命令直接启动

命令行直接运行freeswitch(已经加入到PATH环境变量)

或者

cd /usr/local/freeswitch/bin

./freeswitch

b) 添加到服务

cp /usr/local/src/freeswitch/build/freeswitch.init.redhat /etc/init.d/freeswitch

chmod 755 freeswitch

vi freeswitch

开源电话交换平台FreeSwitch的安装与配置_第3张图片

然后 mkdir /var/run/freeswitch

chkconfig --add freeswitch

官网写的是chkconfig --add freeswitch && chkconfig --levels 35 freeswitch on

clip_image022

接下来启动服务

[root@freeswitch freeswitch]# service freeswitch status

freeswitch is stopped

[root@freeswitch freeswitch]# service freeswitch start

Starting freeswitch: [ OK ]

clip_image024

7. 开放防火墙端口

iptables -I RH-Firewall-1-INPUT 2 -p tcp --dport 5060 -j ACCEPT

iptables -I RH-Firewall-1-INPUT 3 -p udp --dport 5060 -j ACCEPT

service iptables save

8. 控制FreeSWITCH的命令

netstat -an | grep 5060

FreeSwitch监听TCP及UDP5060端口

启动:freeswitch、service freeswitch start

关闭:shutdown(freeswitch控制台下执行)、service freeswitch stop

无控制台启动:freeswitch -nc

客户端连接工具:fs_cli

关闭的其它命令:freeswitch -stop;fsctl shutdown(fs_cli客户端中使用)

退出fs_cli客户端:/exit,或Ctrl + D

9. SIP软电话

SIP软电话主要有X-Lite 和 Zoiper,均支持Windows、Linux、MAC等平台

FreeSWITCH 默认配置了 1000 ~ 1019(分机号) 共 20 个用户

10. 在Winxp上安装SIP软电话X-Lite

操作系统:WinxpSp3

先决软件:Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)及Microsoft .NET Framework 3.5 Service Pack 1

X-lite:X-Lite_Win32_4.0_58832.exe

分别安装Framework 3.5 SP1、Visual C++ 2008 SP1及X-lite,均为缺省安装

Framework 3.5 SP1需要连网安装

开源电话交换平台FreeSwitch的安装与配置_第4张图片

开源电话交换平台FreeSwitch的安装与配置_第5张图片

开源电话交换平台FreeSwitch的安装与配置_第6张图片

开源电话交换平台FreeSwitch的安装与配置_第7张图片

配置X-Lite

开源电话交换平台FreeSwitch的安装与配置_第8张图片

开源电话交换平台FreeSwitch的安装与配置_第9张图片

Display Name: 1000

User name: 1000

Password: 1234

Authorization user name: 1000

Domain: Freeswitch的IP,也就是侦听5060端口的IP

开源电话交换平台FreeSwitch的安装与配置_第10张图片

弹出Winxp防火墙,点击解除阻止

显示Available说明连接成功

开源电话交换平台FreeSwitch的安装与配置_第11张图片

可使用1000拨打1001进行测试