
1、在本示例中,我們使用了AVP和Serial Forking,用戶(hù)需要創(chuàng )建兩個(gè)分機,然后對接一個(gè)媒體服務(wù)器來(lái)進(jìn)行實(shí)驗。在此實(shí)驗中,我們需要執行和配置相關(guān)的文件來(lái)保證環(huán)境能夠正常運行。
2、在配置流程中,用戶(hù)首先需要添加一個(gè)avp指向外部的媒體服務(wù)器和分機郵箱號碼。執行的命令如下:
opensipsctl avp add –T usr_preferences 1004@proxy_ip callfwd 0 sip:2345678@proxy_ip
// 注意,這里的proxy_IP 是外部媒體服務(wù)器的地址,1004 支持了一個(gè)語(yǔ)音郵箱。用戶(hù)需要提前預設好此媒體服務(wù)器。
在cfg文件中,添加需要加載avp 檢測:
if(avp_db_load("$ru","$avp(callfwd)")) {
$ru=$avp(callfwd);
xlog("forwarded to: $avp(callfwd)");
}
添加busy狀態(tài)檢測和處理流程:
if (t_check_status("486")) {
revert_uri();
prefix("b"); # 表示通知系統播放狀態(tài)忙信息
xlog("L_ERR","> 486 ruri=<$ru>");
route(media);
route(relay);
exit;
}
// 處理無(wú)應答流程:如果超時(shí)(408)或者臨時(shí)不在線(xiàn)(480)
if (t_check_status("408") || t_check_status("480")) {
revert_uri();
prefix("u");# 表示播放無(wú)應答消息提示
xlog("L_ERR","> 480 ruri=<$ru>");
route(media);
route(relay);
exit;
}
3、保存以上配置,如果配置成功的話(huà),我們可以使用分機1000 呼叫1004進(jìn)行測試,此呼叫會(huì )轉到我們的媒體服務(wù)器網(wǎng)關(guān)。這里大家要注意,因為,我們在第一部中已經(jīng)指向了外部的媒體服務(wù)器。
然后,我們可以進(jìn)行遇忙前轉的處理測試。用戶(hù)可以從1000分機呼叫1001,1001如果拒絕此呼叫后,會(huì )收到一個(gè) “486 Busy here”。這里,用戶(hù)可以很多免費的軟電話(huà)進(jìn)行拒絕呼叫測試。
如果用戶(hù)1004 呼叫1001時(shí),在一定時(shí)間內沒(méi)有接聽(tīng),會(huì )轉向一個(gè)此時(shí)處理。超市以后則進(jìn)入到了語(yǔ)音郵箱留言。超時(shí)設置可以通過(guò)參數:
modparam(“tm”, “fr_inv_timeout”, 10) // 默認為30秒。
4、在本講座中,我們討論了關(guān)于如何使用開(kāi)源軟交換設置呼叫前轉的處理方式,包括超時(shí)處理和遇忙設置。在此示例中,我們重點(diǎn)使用了avp和狀態(tài)監測的一些方法。同時(shí),需要用戶(hù)添加一個(gè)新的avp指向外部的媒體服務(wù)器。通過(guò)此示例,用戶(hù)可以使用軟交換和媒體服務(wù)器的語(yǔ)音郵箱集成實(shí)現呼叫前轉功能實(shí)現相對簡(jiǎn)單呼叫量大的需求。當然,在具體的使用環(huán)境中,用戶(hù)的場(chǎng)景可能更加復雜,例如分機隨行等或者轉接其他分機或者移動(dòng)端等功能。這樣的需求需要和媒體服務(wù)器做進(jìn)一步的融合才能滿(mǎn)足。


關(guān)注微信公眾號:asterisk-cn,獲得有價(jià)值的行業(yè)分享
freepbx 技術(shù)論壇:www.ippbx.org.cn
Asterisk, freepbx技術(shù)文檔: www.freepbx.org.cn
歐米(Omni)智能客服解決方案
融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com