介绍:
因为工作需要会用到FreeSWITCH做软交换,本文章主要是学习什么是FreeSWITCH?FreeSWITCH的安装。参考书籍《FreeSWITCH权威指南》
FreeSWITCH是一个开源的电话交换平台,官方的定义为-世界上第一个跨平台的/伸缩性极好的/免费的/多协议的电话软交换平台。从技术上讲FreeSWITCH是一个B2BUA(back-to-back User Agent),用B2BUA来帮助通信的双方进行实时的语音视频通信。
FreeSWITCH的主要特点:
1:跨平台,可以运行于Windows,Max OSX,Linux,BSD及Solaris等诸多32/64位平台。
2:可伸缩性,可以从一个简单的软电话客户端到运营商拥挤的软交换设备几乎无所不能。
3:免费,使用MPL 1.1协议授权,任何人都可以免费的使用斌获取源代码,可以修改,发布,出售自己的应用
4:支持多种通信协议(SIP,H323,Skype,Google Talk),可以与各种开源的PBX系统通信也可以与各种商业交换系统互通。
5:可以作一个简单的交换引擎,一个PBX,一个媒体网关或媒体支持IVR的服务器,或运营商的IMS网络中担任CSCF或Application Server等。
6:支持宽带及窄带语音编码,电话会议可以同时支持8,12,16,24,32及48kHz的语音。
FreeSWITCH的主要功能:
1:在线计费、预付费功能
2:电话路由服务器
3:语音转码服务器
4:支持资源优先权和QoS的服务器
5:多点会议服务器
6:IVR、语音通知服务器
7:VoiceMail服务器
8:PBX应用和软交换
9:应用层网关
10:防火墙/NAT穿越应用
11:私有服务器
12:第三方呼叫控制应用
13:业务生成环境运行时引擎
14:会话边界控制器
15:IMS中的S-CSCF/P-CSCF/I-CSCF
16:SIP网间互联网关
17:SBC及安全网关
18:传真服务器、T.30到T.38网关
更多关于FreeSWITCH的特点和指标,可以参考http://wiki.freeswitch.org/wiki/Specsheet FreeSWITCH中文网http://www.freeswitch.org.cn/,官网http://www.freeswitch.org
安装:
话不多说,开始我们的FreeSWITCH第一次接触,安装。
平台:linux (CentOS 7)
1:使用命令安装:
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
yum install -y freeswitch-config-vanilla freeswitch-lang-* freeswitch-sounds-*
systemctl enable freeswitch
2:使用编译安装
FreeSWITCH是开源的项目,其源码在git上进行管理,可以选择特定的版本。
git安装:yum install git
克隆源码: git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch
安装所需的依赖:yum install -y git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel libxml2-devel libyuv-devel opus-devel libvpx-devel libvpx2* libdb4* libidn-devel unbound-devel libuuid-devel lua-devel libsndfile-devel yasm-devel libtiff-devel
如需要特定的版本: cd freeswitch #进入源码目录
git checkout -b v1.2.12 #根据一个tag检出到一个本地分支
或者
git checkout -b v1.4.beta #从远程分支检出一个本地分支
当然也可以直接复制一个指定的分支
git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch
进入源代码目录:
cd freeswitch
编译:
./bootstrap.sh
./configure
make install
在进行make install 出现问题的解决方法:
make: *** [libs/libvpx/Makefile] 错误 1,需要安装一下依赖
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix=/usr/local/cellar/ffmpeg_build --disable-examples
make && make install
wget git clone https://github.com/webmproject/libvpx.git
cd libvpx
./configure --prefix=/usr/local/cellar/ffmpeg_build --disable-examples
make && make install
Makefile:899: *** You must install libopus-dev to build mod_opus。 停止。
git clone https://freeswitch.org/stash/scm/sd/opus.git
cd opus
./autogen.sh
./configure
make
make install
如果一直会有该错误就
vim freeswitch/src/mod/codecs/mod_opus/Makefile
注释掉 896 897 行
#install: error
#all: error
启动: /usr/local/freeswitch/bin/freeswitch
后台启动:/usr/local/freeswitch/bin/freeswitch -nc
进入控制台:/usr/local/freeswitch/bin/fs_cli
3:解压源码包安装
wget http://files.freeswitch.org/freeswitch-1.4.0.beta6.tar.bz2
tar xvjf freeswitch-1.4.0.bata6.tar.bz2
cd freeswitch-1.4.0
./configure
make install
出现问题请看安装方法2的解决方案
4:以跟快的方式进行安装
wget https://www.freeswitch.org.cn/Makefile && make install
在安装完成并启动后,FreeSWITCH会默认生产一些号码:
| 号码 | 说明 |
|---|---|
| 9664 | 保持音乐 |
| 9191 | 注册ClueCon |
| 9192 | 在log中显示Channel |
| 9195 | echo,回音测试,延迟5秒 |
| 9196 | echo,回音测试 |
| 9197 | milliwatte extension, 铃音生成 |
| 9198 | TGML 铃音生成实例 |
| 9180 | 铃音测试,使用远端生成的回铃音 |
| 9181 | 铃音测试,产生英式铃音 |
| 9182 | 铃音测试。使用音乐当铃音,彩铃 |
| 9183 | 先应答,然后发送英式彩铃 |
| 9184 | 先应答,然后发送音乐彩铃 |
| 9178 | 发传真 |
| 9179 | 收传真 |
| 5000 | 实例IVR |
| 4000 | 听取语音信箱 |
| 33xx | 电话会议,48kHz(其中xx可为00~99,下同) |
| 32xx | 电话会议,32kHz |
| 31xx | 电话会议,16kHz |
| 30xx | 电话会议,8kHz |
| 2000-2002 | 呼叫组 |
| 1000-1019 | 默认分机号(密码默认为1234) |
连接SIP电话
1:下载软电话:X-Lite 下载地址
2:软电话配置
注册成功
3:在使用软电话时注意需要关闭服务器的防火墙
输入9664可以听到保持音乐,如果听不到,在控制台看有没有错误提示,如有“File Net Found”之类的提示,多半是没有安装声音文件,进入FreeSWITCH源码目录执行
make hd-sounds-install && make hd-moh-install && make samples
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_16121827/article/details/80381745