[TOC]
FreeSWITCH 安装

FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。
版本
- FreeSWITCH 1.10.1
环境
- Ubuntu 18.04_64位
软件包
-
cmake-3.13.3-Linux-x86_64.tar.gz
-
freeswitch-1.10.1.-release.tar.xz
-
freeswitch-sounds-en-us-callie-*-1.0.52.tar.gz
-
freeswitch-sounds-music-*-1.0.52.tar.gz
-
freeswitch-sounds-zh-cn-sinmei-*-1.0.51.tar.gz
参考脚本
1#install freeswitch 1.10.1 for ubuntu 18.04 64位 2# 创建ubuntu用户 3useradd -d "/home/ubuntu" -m -s "/bin/bash" ubuntu 4passwd ubuntu 5chmod u+w /etc/sudoers 6vi /etc/sudoers 7# ubuntu ALL=(ALL) ALL 8chmod u-w /etc/sudoers 9# 使用ubuntu 10mkdir soft 11# 拷贝软件包到 soft 12# ... 13# 安装依赖模块 14sudo apt-get update 15sudo apt-get install -y autoconf 16sudo apt-get install -y git 17sudo apt-get install -y libtool 18sudo apt-get install -y g++ 19sudo apt-get install -y zlib1g-dev 20sudo apt-get install -y libjpeg-dev 21sudo apt-get install -y libsqlite3-dev 22sudo apt-get install -y libcurl4-openssl-dev 23sudo apt-get install -y libpcre3-dev 24sudo apt-get install -y libspeex-dev 25sudo apt-get install -y libspeexdsp-dev 26sudo apt-get install -y libldns-dev 27sudo apt-get install -y libedit-dev 28sudo apt-get install -y libssl-dev 29sudo apt-get install -y pkg-config 30sudo apt-get install -y yasm 31sudo apt-get install -y liblua5.2-dev 32sudo apt-get install -y libopus-dev 33sudo apt-get install -y libsndfile-dev 34sudo apt-get install -y libpq-dev 35sudo apt-get install -y uuid-dev 36sudo apt-get install libtiff-dev 37sudo apt-get install libavformat-dev 38sudo apt-get install libswscale-dev 39# 创建链接 40sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.2.so.0.0.0 /usr/lib/x86_64-linux-gnu/liblua.so 41sudo mv /usr/include/lua5.2/lua* /usr/include/ 42sudo mv /usr/include/opus/opus* /usr/include/ 43sudo mv /usr/lib/x86_64-linux-gnu/libsndfile* /usr/lib/ 44sudo ldconfig -v 45# 解压并建立链接cmake 46tar xf cmake-3.13.3-Linux-x86_64.tar.gz 47sudo ln -sf /home/ubuntu/soft/cmake-3.13.3-Linux-x86_64/bin/cmake /usr/local/bin/ 48# 下载并编译libks 49git clone https://github.com/signalwire/libks.git 50cd libks 51sudo cmake . 52sudo make 53sudo make install 54cd .. 55# 下载并编译signalwire-c 56git clone https://github.com/signalwire/signalwire-c.git 57cd signalwire-c/ 58sudo cmake . 59sudo make 60sudo make install 61cd .. 62# 解压并编译freeswitch 63tar -xf freeswitch-1.10.1.-release.tar.xz 64mv freeswitch-sounds-* freeswitch-1.10.1.-release/ 65cd freeswitch-1.10.1.-release/ 66# 编辑 modules.conf 67sudo ./configure 68sudo make -j 4 69sudo make install 70sudo make cd-sounds-install 71sudo make cd-moh-install 72# 建立链接 73sudo ln -sf /usr/local/freeswitch/bin/freeswitch /usr/local/bin/ 74sudo ln -sf /usr/local/freeswitch/bin/fs_cli /usr/local/bin/ 75# 启动和关闭 76sudo freeswitch -nc 77sudo freeswitch -stop 78 79#测试拨打以下号码 80#号码 说明 81#------------- -------- 82#9664 保持音乐 83#9196 echo,回音测试 84#9195 echo,回音测试,延迟5秒 85#9197 噪音生成 86#9198 铃音生成示例 87#9180 铃音测试,生成的回铃音 88#9181 铃音测试,产生英式铃音 89#9183 先应答,然后发送英式铃音 90#9184 先应答,然后发送音乐铃音 91#5000 示例IVR 92#4000 听取语音信箱 93 94# G729转码 95cd src/mod/endpoints 96# 下载bcg729的源码 97git clone https://github.com/xadhoom/mod_bcg729.git 98mv mod_bcg729 mod_g729 99# 编译mod_g729 100cd mod_g729 101vim Makefile 102# FS_INCLUDES=/usr/local/freeswitch/include/freeswitch 103# FS_MODULES=/usr/local/freeswitch/mod 104sudo make 105sudo cp -pr mod_bcg729.so /usr/local/freeswitch/mod 106sudo vim /usr/local/freeswitch/conf/vars.xml 107# <X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA,G729,OPUS,G722"/> 108# <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,VP8,G729,OPUS,G722"/> 109# ... 110# <X-PRE-PROCESScmd="set"data="media_mix_inbound_outbound_codecs=true"/> 111 112sudo vim /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml 113# <!--<load module="mod_g729"/>--> 114# <load module="mod_bcg729"/> 115 116# 重启freeswitch 或者 加载模块 load mod_bcg729