Asterisk 除可以支援 MP3 設定為來電音樂(Music On Hold),此篇將教你另一種不同方法,將來電音樂的來源設置為網路電台型式。

不過至目前只能以 WinAmp 為播放介面 MP3 的廣播電台(SHOUTcast Radio)為主,而國內電台較風行的 Real Player 及 Media Player 播放介面的電台,至目前為止,還沒找到合適的解決方案。

這樣的用法有別於比較固定的音樂檔案的播放方式,而是改以音樂串流方式播放內容,如此可使媒體內容更多樣化,動態化及內容即時化。

雖然只支援 WinAmp 的電台,但這電台套件(SHOUTcast Radio)是可以免費架設,如果將它和 IP-PBX 作整合應用,應該可以設計出更多元化的其他應用。

由於筆者所使用的系統是用 Elastix,所以下述方法將以此環境為主,不過應該也適用 Trixbox 或 Asterisk 手動安裝的其他用法。

安裝套件 mpg123

前往 http://sourceforge.net/projects/mpg123,下載 mpg123-1.5.1.tar.gz

#cd /usr/src
#wget http://nchc.dl.sourceforge.net/sourceforge/mpg123/mpg123-1.5.1.tar.gz
#tar -xzf mpg123-1.5.1.tar.gz
#cd mpg123-1.5.1
#./configure --prefix=/opt/mpg123-1.5.1
#make
#make install
設定電台位址 

以 root 登入 SSH Console

#su - asterisk
#cd /var/lib/asterisk/mohmp3
#mkdir stream
#touch stream/stream.mp3

編輯 musiconhold_custom.conf

《PBX》《Tools》《File Editor》File 輸入 musiconhold_custom.conf,按 Filter,選擇 musiconhold_custom.conf

增加以下這幾行

[radio]
mode=custom
directory=/var/lib/asterisk/mohmp3/stream/
application=/opt/mpg123-1.5.1/bin/mpg123 -q -r 8000 -f 8192 -b 0 --mono -s http://70.87.88.179:9000/

確認後儲存

重啟服務使設定生效,在 SSH Console 執行以下指令

#asterisk -rx "stop now"
#amportal stop
#amportal start

 

開始測試 

方法一:設定一個虛擬號碼用來作電台播放測試

編輯 extensions_custom.conf

《PBX》《Tools》《File Editor》File 輸入 extensions_custom.conf,按 Filter,選擇 extensions_custom.conf

增加這幾行

[from-internal-custom]
...
...
include => test-moh-streaming ; call 5551

[test-moh-streaming]
exten => 5551,1,Answer
exten => 5551,2,WaitExten(60|m(radio))
exten => 5551,n,Hangup

註:
5551 是虛擬號碼可以自行修改,但不能與現有分機、自設的Features code、會議室號碼等所有其他用過的號碼相同。
因為只是用作測試用,所以音樂播放 60 秒後即自動斷線,若想取消限制,將 WaitExten(60|m(radio)) 改成 MusicOnHold(radio)。

使用任一分機撥 5551 後話筒應該會傳來電台的音樂聲音。

方法二:設定通話保留(Music on Hold)時播放電台音樂

編輯 sip_general_custom.conf

《PBX》《Tools》《File Editor》File 輸入 sip_general_custom.conf,按 Filter,選擇 sip_general_custom.conf

增加這幾行

; default MOH class
mohinterpret=radio

註:radio 是以上所設定的 music class 名稱 

使用分機撥通另一支分機,當按下保留(Hold)後,對方應該會聽到電台的音樂。

線上測試

如果想先了解使用後的效果,你可以撥入我們的系統聽聽看,接通後會聽到電台播放的音樂約一分鐘,我們提供三線撥入號碼包括 Gizmo(國際), CCNET(台灣), toCall(中國)

17470806946 轉 6 (Gizmo)
0702500267 轉 6 (CCNET)
20815048 轉 6 (toCall)

 

arrow
arrow
    全站熱搜

    安德森 發表在 痞客邦 留言(0) 人氣()