手把手教你部署驗證freeswitch(避免踩坑)


前言:請各大網友尊重本人原創知識分享,謹記本人博客:南國以南i

介紹:freeswitch可集成ASR(語音識別)和TTS(文本轉語音)創建智能電話機器人和用戶通話,可用於問卷調查,自動催繳等業務,電話咨詢服務,支持百度,科大,阿里雲,騰訊等ASR系統,可以真人預先錄音,用戶完全察覺不到是機器人。

背景:初次接觸freeswitch,部署安裝的時候碰到了很多坑,文章也采取了很多前輩的經驗,由此記錄下來

環境:Linux:Centos7、Freeswitch1.6 、Eyebeam

一、部署安裝freeswitch

1.安裝freeswitch需要的依賴

#安裝依賴
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
#安裝依賴
yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel libdb4-devel e2fsprogs-devel erlang flite-devel g722_1-devel gcc-c++ 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 libtheora-devel libtiff-devel libtool libuuid-devel 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 python-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel wget which yasm zlib-devel libshout-devel libmpg123-devel lame-devel

2.下載freeswitch安裝包

#進入指定目錄
cd /usr/local/src
#通過git拉取安裝包
git clone -b v1.6 https://github.com/signalwire/freeswitch.git

3.編譯freeswitch

友情提示:此處編譯至少需要耗費半小時,可喝一杯咖啡放松一下~

#進入安裝包目錄
cd /usr/local/src/freeswitch
#執行編譯命令
./bootstrap.sh -j
./configure 
make
make -j install

#安裝聲音文件
make -j cd-sounds-install
make -j cd-moh-install

4.freeswitch安裝結果

注: 至此freeswitch就已經安裝完了,freeswitch其默認的安裝位置是/usr/local/freeswitch

5.配置freeswitch任何路徑啟動

#將freeswitch作符號軟鏈接
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
#fs_cli作符號軟鏈接
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

6.freeswitch 命令操作

===============啟動命令================
#詳細啟動日志並進入控制台模式命令
freeswitch -c -nonat -rp
#退出詳細模式啟動命令
shutdown
#后台啟動freeswitch服務(推薦使用)
freeswitch -nc -nonat
#進入控制台模式命令
fs_cli
#退出控制台命令
/exit 
#關閉freeswitch命令
freeswitch -stop
===============查詢服務命令=============
#查看freeswitch安裝路徑
whereis freeswitch
查看進程號
ps -ef | grep freeswithch
查看freeswitch端口是否被監聽
netstat -anp | grep 5060
#查看freeswitch的運行狀態
status(控制台模式執行)
#查看freewitch內置用戶是否注冊
sofia status profile internal reg(控制台模式執行)

7.啟動freeswitch並進入控制台

  解決執行fs_cli進入控制台模式報錯:[ERROR] fs_cli.c:1659 main() Error Connecting [Socket Connection Error]

#進入freeswitch配置文件路徑
cd /usr/local/freeswitch/conf/autoload_configs/
#修改配置
vim event_socket.conf.xml
#更改結果
<param name="listen-ip" value="::"/>  改為 <param name="listen-ip" value="0.0.0.0"/>
#重啟freeswitch
freeswitch -stop
freeswitch -nc -nonat
fs_cli

完成以上步驟至此freeswitch部署大功告成!

 

二、freeswitch服務通話測試

電腦下載軟電話注冊軟件:X-LiteZoiperEyebeam(噓~需要Eyebeam綠色版的小伙伴可以聯系我🤫)

1.使用Eyebeam軟件進行配置注冊

  Eyebeam軟電話注冊成功

 

 解決軟電話注冊錯誤問題狀態碼

=============1、404 Not found==============
服務ip地址不可用
原因:freeswtich沒有啟動或者端口被占用,總之Eyebeam不能到達指定domain 解決方法: 確保freeswitch已經啟動並且5060端口沒被占用 #netstat -napl|grep 5060 =============2、403 forbidden============== 用戶名密碼錯誤 原因:freeswitch一開始安裝好 默認會給你配置好20個account (1000-1019),密碼統一是1234,這個可以在freeswitch/conf/vars.xml里面修改 解決方法: 檢查用戶名密碼是否錯誤 =============3、408 timeout=============== 連接超時 原因:Eyebeam上配置的domain不正確, 或者網絡有問題 解決方法: a、確保所填的域名是正確的ip地址 b、確保已經關閉防火牆(centos下) 關閉防火牆: systemctl stop firewalld.service 查看防火牆狀態 #firewall-cmd --state 輸出:not running //說明防火牆已經關閉 c、查看iptables

2.開始撥號,默認內置撥號如下

 3.Eyebeam撥打9196號碼進行回音測試

 如圖所示呼叫建立成功、麥克風有電話回音、freeswitch控制台日志輸出正常!

參考鏈接一參考鏈接二


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM