1. 程式人生 > >Centos7上搭建FreeSwitch伺服器

Centos7上搭建FreeSwitch伺服器

1.下載原始碼
進入目錄

cd /usr/local/src

使用git獲取原始碼,沒有安裝git的話需要先安裝 執行

 yum install git

然後執行

git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch

2.開始編譯
進入freeswitch目錄

cd /freeswitch

編譯之前需要下載安裝依賴庫,執行

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

依賴庫安裝好後開始編譯,執行

./bootstrap.sh

編譯時間大概在30分鐘左右,完成後執行

./configure

以下介面表示配置成功
在這裡插入圖片描述

如果失敗可能缺少編譯環境,執行

yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release

然後增加mod_nuimrcp模組:

vim ./build/modules.conf.in

修改 #asr_tts/mod_unimrcp 為 asr_tts/mod_unimrcp(去掉註釋),儲存退出
重新執行下面命令:

 ./bootstrap.sh -j
./configure

配置成功後執行make命令
以下介面為編譯成功:
在這裡插入圖片描述

如果提示
You must install libopus-dev to build mod_opus. Stop.
說明缺少依賴 libopus-dev,執行

 yum install opus-devel

然後繼續make,make成功後執行make install
以下介面為安裝成功
在這裡插入圖片描述
3.配置ssl證書
使用騰訊雲平臺申請 域名型免費版證書
https://buy.cloud.tencent.com/ssl?fromSource=ssl&from=qcloudHpHeaderSsl
申請好後會有郵件通知,然後下載證書
使用tomcat配置https訪問,修改server.xml檔案,新增:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="conf/www.test.com.jks"
    keystorePass="******"
    clientAuth="false" sslProtocol="TLS" />

其中keystoreFile為證書檔案,keystorePass為金鑰,然後重啟tomcat即可
為freeswitch製作wss.pem檔案
使用 https://myssl.com/ssl.html 檢視OpenSSL並複製,建立wss.pem檔案,將OpenSSL貼上上去,然後將證書下載包裡面apache資料夾下的3_www.test.com.key檔案打開復制內容到wss.pem上去儲存退出,到此freeswitch所需wss.pem檔案製作完成,新建資料夾/usr/local/freeswitch/certs,將wss.pem放進去
配置wss.pem路徑 /usr/local/freeswitch/conf/sip_profiles/internal.xml

<param name="tls-cert-dir" value="/usr/local/freeswitch/certs"/>

修改/usr/local/freeswitch/conf/ vars.xml

<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=true"/>
<X-PRE-PROCESS cmd="set" data="external_ssl_enable=true"/>

修改/usr/local/freeswitch/conf/dialplan/default.xml
將預設密碼1234的10秒延遲去掉

4.啟動freeswitch
配置freeswitch在任何一個路徑都可以執行

ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/ 
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

前臺啟動

 freewitch -c 

後臺啟動

 freewitch -nc

啟動報錯Cannot lock pid file /usr/local/freeswitch/run/freeswitch.pid.說明埠被佔用,關閉埠即可