freeswitch筆記(2)-voip初體驗


上一篇學習了如何安裝freeswitch,接下來我們利用2個voip軟件來體驗如何互打電話(注:仍然是mac環境,windows用戶可參考mac上的做法,原理相通)

一、安裝yateclient及zoiper

voip軟件有很多種,這里選用yate及zoiper這二種免費而且跨平台的客戶端。

yate下載地址: https://yate.en.softonic.com/mac

zoiper下載地址:https://zoiper.en.softonic.com/mac 

這二款軟件大致長這樣:

 

二、啟動freeswitch

cd /usr/local/freeswitch/bin

./freeswitch

注:啟用freeswitch前,要先保證zoiper及yateclient這類軟件完全退出,否則可能會占用默認端口5060,最終導致voip client賬號登錄失敗。

啟用成功后,可以用lsof -i:5060之類的工具,查看下端口是否正常。

重要提示:freeswitch默認會啟用ipv6,參見上圖中的TYPE,有2條記錄是Ipv6,另外二條是Ipv4,目前ipv6的支持還不完善,可能導致一些client連接不上freeswitch,建議關閉ipv6功能。

方法如下:

(如果本機的fw尚在運行中)先在freeswitch終端輸入shutdown關閉fw。然后

/usr/local/freeswitch/conf/sip_profiles 會看到二個文件:

external-ipv6.xml

internal-ipv6.xml

將這2個文件改名為:

external-ipv6.xml.deactive

internal-ipv6.xml.deactive

然后重新啟動freeswitch,成功后仍然可以用lsof -i:5060之類的驗證下:

順利的話,會發現IPV6的那二行不見了。

 

三、client配置賬號

YateClient

Settings->Accounts

freeswitch默認內置了20個賬號,用戶名從1000,1001...依次遞增,密碼均為1234,參考上圖,這里配置了2個賬號1002,1004,順利的話,status這里會顯示成online.

同時在freeswitch的console控制終端上,輸入:

sofia status profile internal reg (即:查看internal這個profile的用戶注冊情況)

可以看到1002/1004這2個賬號,已經注冊成功。

 

類似的在zoiper 中,再配置另外2個賬號:1000、1010

 zoiper主界面上,可以切換這2個賬號:

freeswitch的console終端上,建議也確認下是否注冊成功:

  

四、撥打電話

先來熱熱身,在freeswitch的console里輸入 originate user/1000 &echo 

即:呼叫zoiper上的1000用戶,稍等一會兒,zoiper會彈出提醒來電,參考下圖

點擊accept就接通了,注意:在命令最后部分,使用了&echo,這是一個回音測試功能,類似於你在山谷里大叫“你好”,然后山谷給你傳來回音“你好”一樣。所以最終的效果是接通后,如果你對着mac麥克風說話,揚聲器里放你自己的聲音(即:你說啥,fs回應啥。)-友情提醒:在本機測試時,由於回音環繞,可能會有嚴重的囂叫聲。

也可以用yateclient來呼叫zoiper, 如下圖:yateclient上選擇用戶1002,然后撥打1000,zoiper上會彈出來電提醒,接通后,就能相互通話了。

點擊查看原圖

除了echo,還有幾個常用的功能,大家可以嘗試把&echo,換成:

&park  這個相當於接通后,fs把通話給hold住,啥反應都不給。有點類似對方拿起聽筒,但是一句話也不說,也不掛斷。park的用途后面的文章會介紹。

&playback(/tmp/music.wav) 這個相當於接通后,給用戶放一遍音樂,音樂文件的地址是/tmp/music.wav,當然這個路徑也可以是遠程路徑,比如http://www.xxx.com/music.wav

&endless_playback(/tmp/music.wav) 與&playback的區別是,playback只放一遍,而endless_playback會一直不停的反復放,特別適合400電話場景,客服很忙時,先放段音樂讓用戶等待。

更多時候,對於開發人員來講,更希望通過代碼方式來與freeswitch交互,下一篇學習esl的使用

 

參考:

https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+echo

https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+park

https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools:+playback

https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+endless_playback


免責聲明!

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



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