當(dāng)前的SIP終端千變?nèi)f化,同時終端用戶的也不解決局限于一個物理辦公電話,也包括了手機(jī)app終端,軟電話,和其他的移動設(shè)備。這樣就要求proxy 或者PBX支持更多的應(yīng)用場景,同時保證客戶的電話沒有被漏接。例如,當(dāng)電話呼入時可能員工公司桌面電話處于接聽狀態(tài);也可能電話振鈴時,員工不在座位,或者需要轉(zhuǎn)接到其他的分機(jī),或者語音郵箱。這些場景顯然是一般工作場景中必須支持的,它要求SIP終端的移動性非常好才能滿足用戶的需求。
很多時候,我們說移動性可能是指現(xiàn)在市場流行的代步工具。事實(shí)上,在SIP 或者IP網(wǎng)絡(luò)中的移動性完全不同。在以下圖例(10年前學(xué)術(shù)文章中的圖例),Alice可能有多個賬戶同時綁定了個人SIP信息。涉及了網(wǎng)絡(luò),終端,服務(wù)等多個領(lǐng)域的交互。
通常情況下,在IP網(wǎng)絡(luò)中,大家提到的移動性能力支持包括幾個方面的場景:
- 用戶漫游移動性支持,用戶在家庭網(wǎng)絡(luò)環(huán)境,用戶在工作環(huán)境,或者用戶在其他場合,例如星巴克使用的終端之間的切換。
- 終端移動性支持,用戶在同一網(wǎng)絡(luò)下,不同網(wǎng)絡(luò)子地址之間的切換。
- 個人移動性,用戶同一賬號,使用不同的終端設(shè)備登錄。
- 服務(wù)移動性,同一設(shè)備,但是使用不同的服務(wù)。
- 會話移動性,不同的終端之間切換同一活動的會話處理。
- 當(dāng)然,以上討論的移動性中,如果保證這些移動性能夠正常工作,不同的網(wǎng)絡(luò)環(huán)境涉及了很多技術(shù)因素和終端的支持能力的問題,例如,防火墻策略管理,網(wǎng)絡(luò)支持情況,重新認(rèn)證,編碼能力支持,不同終端的功能鍵兼容性等問題。
在SIP的終端移動性方面一般涉及了3個方面的場景控制流程:
- Pre-Call 的移動性場景:使用了Proxy和Redirect 服務(wù)器重新發(fā)現(xiàn)用戶的位置。
- Mid-Call的移動性場景:涉及了SIP re-InVITE和RTP處理。
- 重連處理:某些環(huán)境中,如果終端離線,重新連接。
為了幫助用戶了解更多的SIP移動性的使用場景,我們今天分別介紹幾個SIP終端不同的移動性支持環(huán)境,用戶可以使用自己的IPPBX或者下載FreePBX模擬出這些場景,同時也可以非常有效地學(xué)習(xí)和幫助客戶解決實(shí)際問題。這些場景包括:SIP call forking, No-answer和Forward to Voicemail。
1、SIP call forking 簡單來說就是,當(dāng)呼叫方對被呼叫方發(fā)起一個呼叫后,PBX或proxy可以實(shí)現(xiàn)對被呼叫方不同終端對進(jìn)行呼叫,例如呼叫了被呼叫方的物理終端和軟電話。被檢測到的第一個有效的被呼叫方首先接聽這個呼叫。通常情況下,SIP call forking 支持兩種模式的處理方式,一種是并行處理,另外一種就是按續(xù)處理的方式。
并行處理的方式就是proxy會同時對用戶終端進(jìn)行呼叫,第一個接聽的終端首先接聽此呼叫。如果呼叫方同時收到兩個終端的響應(yīng)消息,則會根據(jù)q值來進(jìn)行優(yōu)先標(biāo)志和響應(yīng)。以下圖例中使用了OpenSIP的一個處理流程,如果熟悉OpenSIP的話,這個流程可以幫助更好了解并行處理的流程。
以下處理方式和以上圖例實(shí)現(xiàn)的流程完全一致,可能較為生動地描述了真正的場景環(huán)境。
按續(xù)處理的方式則有所不同,proxy會依次呼叫終端,如果第一個終端處于離線狀態(tài)或忙狀態(tài),則會fork這個INVITE到另外一個終端。呼叫終端的工作話機(jī),然后呼叫用戶的軟電話,依次執(zhí)行。以下圖例包括了一個OpenSIP的處理流程來支持按續(xù)處理的方式。
在以上圖例中,我們必須指出,事實(shí)上桌面電話的狀態(tài)連接還是比較穩(wěn)定的。軟電話的狀態(tài)檢測倒是一個問題。以下圖例同樣說明了按續(xù)呼叫的方式。
2、呼叫前轉(zhuǎn)功能是企業(yè)PBX常見的功能之一。SIP call forward with No-Answer 簡單來說,就是當(dāng)被呼叫方振鈴以后,但是被呼叫方客戶終端1沒有在設(shè)定的時間內(nèi)應(yīng)答這個呼叫,proxy或者IPPBX會自動將此呼叫轉(zhuǎn)發(fā)(前轉(zhuǎn))到另外一個終端電話2或者軟電話,以保證呼叫不會被漏接。
3、Forward to Voicemail是一個非常實(shí)用的功能。語音郵箱是企業(yè)PBX的支持的基本功能。通常,如果呼叫方撥打的被呼叫方電話沒有接聽后,在設(shè)定的時間內(nèi),PBX系統(tǒng)可以把此呼叫轉(zhuǎn)到語音郵箱,呼叫方然后根據(jù)系統(tǒng)提示進(jìn)行語音留言給被呼叫方。呼叫方回到座位后,會看到終端的MWI指示燈的狀態(tài)提示(blink),然后用戶可以撥打語音郵箱的后面來收聽呼叫方的留言信息(msg 提示)。這里的語音郵箱服務(wù)器可以和PBX本身集成,也可以是一個獨(dú)立的語音郵箱留言系統(tǒng)。
在以上的內(nèi)容中,我們重點(diǎn)介紹了關(guān)于SIP forking的兩種方式,呼叫前轉(zhuǎn)到實(shí)現(xiàn)流程和語音留言系統(tǒng)的處理流程。需要提醒大家都是,這些處理流程涉及了一些終端的兼容性的問題和一些PBX的時間設(shè)置問題,用戶在測試過程中需要多留意。
關(guān)注公眾微信號:asterisk-cn 獲得更多有價值的行業(yè)技術(shù)分享,訪問www.issabel.cn/forum 獲得技術(shù)幫助。