第六课 搭建私有的网络电话

这一课主要介绍下怎么用FreeSWITCH搭建一个网络电话系统。

在linux环境下编译安装软件

之前我们介绍了使用apt-get进行安装软件,但是有些开源软件没有加入apt-get的软件源,或者由于此开源软件只对某个linux发行版本进行发布二进制包。这种情况下我们就需要下载源码,自己进行编译安装了。这里我们就以FreeSWITCH为例子,讲解下编译安装的基本步骤。

下载FreeSWITCH

FreeSWITCH是使用git进行代码版本管理的,我们要下载源码可以直接用git进行下载:

git clone    https://freeswitch.org/stash/scm/fs/freeswitch.git

不过由于此git仓库在国外,经常会访问失败或者异常断开。所以这里我给大家做了个打包放在云盘上,地址如下:

链接: http://pan.baidu.com/s/1qYh9rNA
密码: zxbc

下载FreeSWITCH后,我们先解压下:

tar zxvf freeswitch.tgz

安装FreeSWITCH的编译环境

FreeSWITCH要进行编译安装,需要先安装许多第三方的库和编译工具gccmake等。这里我们用apt-get进行安装:

sudo apt-get install autoconf automake devscripts gawk libjpeg-dev libncurses5-dev libtool-bin python-dev libtiff5-dev libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libedit-dev libldns-dev libpq-dev libsndfile-dev libopus-dev liblua5.1-0-dev

安装FreeSWITCH

基本上编译安装都是三个步骤:

  • 执行configure生成makefile文件
  • make命令根据makefile将所有的源码编译
  • make install命令将编译过的库文件和二进制执行文件都放到指定的系统目录

FreeSWITCH也差不多是这样,不过它多了一个步骤就是要执行下bootstrap.sh脚本,因为我们通过git得到的源码默认没有configure脚本文件。下面我们执行安装操作:

#先进入freeswitch文件夹
cd freeswitch
#修改模块文件,使用最小化配置
mv modules.conf modules.conf.bak
cp conf/minimal/modules.conf ./
#执行bootstrap
./bootstrap.sh
#执行configure
./configure --prefix=/usr/local/freeswitch
#make编译
make -j2
#安装
sudo make install

启动FreeSWITCH

修改/usr/local/freeswitch 目录的属于主为pi用户

sudo chown -R pi:pi /usr/local/freeswitch

执行启动命令

/usr/local/freeswitch/bin/freeswitch -nc -nonat

修改下默认密码

vim /usr/local/freeswitch/etc/freeswitch/vars.xml

进入控制台

/usr/local/freeswitch/bin/fs_cli
reloadxml
#退出控制台
/bye