freeswitch在云服务器上的安装
一、扩展包更新包
yum install epel-release
二、更新yum源#
yum update
三、安装依懒项
yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel
四、为避免后面出错,安装以下安装包
yum -y install yasm
yum -y install lua-devel , libsndfile-devel , libtiff-devel
yum -y install opus-devel
yum -y install lua
yum -y install libopus-dev
五、编辑安装(版本可以自己选)
wget http://files.freeswitch.org/releases/freeswitch/freeswitch-1.6.20.tar.bz2
tar xvjf freeswitch-1.6.20.tar.bz2
cd freeswitch-1.6.20
**-- 在freeswitch-1.6.20 根目录下的modules.conf,直接在mod_opus前面加#过滤 --**
./configure && make
make install
六、安装声音文件
make sounds-install
make moh-install
七、做软链接
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/
八、初步配置
1:
cd /usr/local/freeswitch/conf/sip_profiles
rm -rf external-ipv6
rm -rf external-ipv6.xml
rm -rf internal-ipv6.xml
2:
vi /usr/local/freeswitch/conf/sip_profiles/internal.xml
local-network-acl的vaule改为lan
<param name="local-network-acl" value="lan"/>
ext-rtp-ip和ext-sip-ip都改成公网ip
<param name="disable-rtp-auto-adjust" value="false"/>一开始是注释的,放开注释改为false
3:
vim /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml
<list name="lan" default="deny">
<node type="allow" cidr="192.168.42.42/32"/>
</list>
<list name="domains" default="deny">
<!-- domain= is special it scans the domain from the directory to build the ACL -->
<node type="allow" domain="$${domain}"/>
<node type="allow" cidr="192.168.42.42/32"/>
<node type="allow" cidr="127.0.0.1/32"/>
<!-- use cidr= if you wish to allow ip ranges to this domains acl. -->
<!-- <node type="allow" cidr="192.168.0.0/24"/> -->
</list>
4:
vi /usr/local/freeswitch/conf/vars.xml
external_rtp_ip和external_sip_ip都改成公网ip
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,VP8,H263,H264"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,G722,PCMU,PCMA,VP8,H263,H264"/>
5:
vi /usr/local/freeswitch/conf/sip_profiles/internal.xml
<param name="inbound-proxy-media" value="true"/>
<param name="inbound-codec-prefs" value="$${global_codec_prefs},H263,H264"/>
<param name="outbound-codec-prefs" value="$${global_codec_prefs},H263,H264"/>
freeswitch-1.6.20.tar.bz2文件下载嫌慢的话直接下载我这里现成的:0hw4
腾讯云的话,
10.0.0.0/16和10.0.0.1这两个来源开启入站和出站的all
阿里云的话,
192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 0.0.0.0/0
这四个来源开启入站和出站的all
我也不知道这是什么意思,不过这是在测试阶段,端口全开也没问题,就是在以防数据发不出去或者接收不到
freeswitch启动后可下载 microSIP:brxr 进行测试。