在此,對工作上設定環境做一個註記.
要讓Asterisk發送SIP 183 Early media的方法.
請在"/etc/asterisk"(預設的asterisk configuration file)下面.
編輯"extensions.conf"檔案.
在你預設的Dial plan中加入以下幾行.
exten => s,1,Progress() exten => s,n,Playback(followme/pls-hold-while-try,noanswer) //Playback(音檔的路徑,noanswer一定要加) exten => s,n,Dial(SIP/you|time,) //撥號 PS.音檔必須要是 .gsm或是.wav mone(單聲道) 8K(取樣)的檔案(MP3要播也是可以,需要安裝額外的套件) 音檔轉換,在windows下可以用switch,Linux下可以用sox,使用方式請詢問Google大神. PS2.音檔請放在asterisk音檔的預設路徑下,一般是"/usr/loacal/etc/asterisk/sound",在playback使用可以不需要加附檔名,但有目錄的路徑必須要加. 接下來使用183 early media的行為有兩種. 一種是要聽完183內容後才會進行撥號,另一種是類是手機的來電答鈴,把鈴聲換成你自訂的音樂. 如果你在extensions.conf中,是使用以下方式:
exten => s,1,Progress() exten => s,n,Playback(followme/pls-hold-while-try,noanswer) //Playback(音檔的路徑,noanswer一定要加) exten => s,n,Dial(SIP/you|time|) //撥號,,time是指ring timeout 的時間.
那麼他會把pls-hold-while-try的音檔撥放完,才會撥號到另外一支號碼去. 如果你要使用來電答鈴的方式,必須改成以下的寫法. 1.首先你要到"musiconhold.conf"設定檔中加入以下MOH的設定.
[ring1] mode=files directory=/var/lib/asterisk/mohmp3/ring1 //音檔放置的目錄 random=yes 2.接下來在"Extensions.conf"中設定.
exten => s,1,Progress() exten => s,n,Dial(SIP/you|time|m(ring1)) //m代表使用ring1的MOH來當鈴聲(MOH=Music on hold),time是指ring timeout 的時間. 設定完不要忘記在asterisk中reload configuration file. 以上. Update: 根據指證,asterisk-1.8.28以後,已經改成用逗號區隔,非 | 了 用以上的方式去設定dial plan會出現錯誤訊息如下: pbx_exec: The application delimiter is now the comma, not the pipe. 改用逗號處理就可以了 exten => _X.,1,Progress() exten => _X.,n,Dial(SIP/${EXTEN},30,m(ring1))
文章標籤
全站熱搜
留言列表