您當(dāng)前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

最常用的18個SIP呼叫業(yè)務(wù)流程詳解-1-呼叫保持

2019-01-25 13:59:24   作者:james.zhu   來源:CTI論壇   評論:0  點擊:


  在企業(yè)通信辦公環(huán)境中和一些正常的企業(yè)客戶的電話業(yè)務(wù)中,特別是從運營商到企業(yè)IPPBX端的呼入業(yè)務(wù)中,有很多不同的呼叫涉及了多種SIP流程的操作,其流程也和實際的IPPBX,代理和SIP終端有著非常密切的關(guān)系。用戶經(jīng)常抱怨系統(tǒng)的問題。但是,不幸的是,在實際使用過程中,很多技術(shù)人員也僅僅停留在通過系統(tǒng)界面配置一個呼叫業(yè)務(wù)流程,根本沒有了解和關(guān)注真正底層的呼叫流程和其細(xì)節(jié),真正的SIP消息之間的互相通信過程可能并不是非常熟悉。其中一個原因是他們沒有太多學(xué)習(xí)渠道獲得一些非常直觀和權(quán)威的可參考的示例。另外,很多技術(shù)人員和銷售人員對SIP呼叫業(yè)務(wù)究竟包括哪些業(yè)務(wù)也缺乏深入的了解。
  究竟哪些SIP呼叫業(yè)務(wù)是企業(yè)用戶所要求的? 關(guān)于SIP業(yè)務(wù)呼叫,RFC5359對18個最常用的SIP業(yè)務(wù)呼叫流程給出了完整的SIP流程圖例,這些呼叫業(yè)務(wù)為企業(yè)用戶解決方案部署提供了一個比較權(quán)威的參考。因此,筆者希望通過此文章完整給出所有18個關(guān)于SIP呼叫業(yè)務(wù)的SIP流程和其相應(yīng)的圖例說明,并且加以適當(dāng)討論和說明來解釋這些呼叫功能中可能出現(xiàn)的問題或應(yīng)該注意到地方,以便幫助技術(shù)人員或者銷售工程師能夠?qū)ζ洚a(chǎn)品或者周邊應(yīng)用終端有一個完整的比較深入的理解。提醒大家,筆者的解釋和圖例介紹僅針對標(biāo)準(zhǔn)的SIP流程來加以說明,完全以RFC5359為基礎(chǔ),不會涉及其他的設(shè)備,可能有時結(jié)合開源媒體服務(wù)器,軟交換的功能為了方便用戶理解和實踐來加以說明。
  在關(guān)于SIP 呼叫服務(wù)的協(xié)議RFC5359中,對其18個SIP呼叫流程做了完整的流程示例演示。當(dāng)然,RFC5359定義的這18個示例不是一個規(guī)范標(biāo)準(zhǔn),這18個SIP呼叫業(yè)務(wù)僅表示根據(jù)RFC5359作者建議的最常用的18個呼叫業(yè)務(wù)。這18個最常用的SIP呼叫業(yè)務(wù)功能包括:
  1. Call Hold
  2. Consultation Hold
  3. Music on Hold
  4. Transfer - Unattended
  5. Transfer - Attended
  6. Transfer - Instant Messaging
  7. Call Forwarding Unconditional
  8. Call Forwarding - Busy
  9. Call Forwarding - No Answer
  10. Way Conference - Third Party Is Added
  11. 3-Way Conference - Third Party Joins
  12. Find-Me
  13. Call Management (Incoming Call Screening)
  14. Call Management (Outgoing Call Screening)
  15. Call Park
  16. Call Pickup
  17. Automatic Redial
  18. Click to Dial
  下面,我們針對這18個最常用的SIP呼叫業(yè)務(wù)分別加以解釋。
  1、Call Hold
  Call Hold,此呼叫業(yè)務(wù)稱之為呼叫保持。呼叫保持的流程實現(xiàn)需要經(jīng)過幾個步驟來完成。以下是RFC5359中的呼叫流程圖例(25個flows):
  這里假設(shè),Alice呼叫Bob,呼叫接聽后,Bob通過終端電話按鍵Hold鍵把呼叫設(shè)置為保持狀態(tài)。然后Bob解除呼叫保持狀態(tài),Alice掛機(jī)。注意,呼叫保持事實上是一個單向的功能。但是,執(zhí)行保持的一方可以對第三方停止媒體發(fā)送,這樣可能導(dǎo)致雙方無媒體流交互。舊的處理方式是連接到地址0.0.0.0,F(xiàn)在新的處理方式是在SDP的a=中實現(xiàn),a=inactive 表示無媒體發(fā)送;a=sendonly 表示仍有媒體發(fā)送。
  注意,在F10, F11中使用了渲染功能tag(rfc4235)來表示Bob終端不再渲染,例如Bob已經(jīng)設(shè)置為保持狀態(tài)。下面,他們通過完整的流程圖帶SIP消息的說明來具體介紹呼叫保持的流程。
  Alice 對P1 發(fā)出INVITE請求,然后通過P1呼叫Bob。
  Bob呼叫振鈴,Alice振鈴(F4,F(xiàn)5):
  收到OK(F6/F7)消息:
  Alice發(fā)送到ACK確認(rèn)信息到P1(F8),P1到Bob(F9) 流程。
  Bob對P1發(fā)出INVITE消息執(zhí)行F10,然后,P1對Alice發(fā)出InVITE消息執(zhí)行F11。這里,開始雙方正式進(jìn)入呼叫保持狀態(tài)。在這里讀者要注意, 結(jié)合我們開始時說明的,Bob使用了渲染 tag,并且o= 的version 增加。在F6,F(xiàn)7時仍然是2890844527,這里已經(jīng)增加到了2890844528。因為是一個RE-INVITE攜帶了a=sendonly。
  Alice接受了呼叫保持請求,并且回復(fù)200 OK(F12, F13),在SDP中攜帶了a=reconly。
  Bob回復(fù)ACK消息(F14/Bob->P1,F(xiàn)15/P1->Alice)。
  Bob關(guān)閉呼叫保持狀態(tài),用戶通過按鍵Hold再次關(guān)閉保持功能。RE-INVITE中的SDP沒有包括a=sendonly。執(zhí)行F16(Bob到P1),F(xiàn)17(P1到Alice)流程。
  Alice回復(fù)200 OK,發(fā)送到消息中沒有帶SDP的a=reconly。執(zhí)行F18(Alice->P1),F(xiàn)19流程(P1->Bob)。
  Bob回復(fù)ACK,執(zhí)行F20(Bob到P1),F(xiàn)21(P1到Alice)流程。重新創(chuàng)建RTP媒體流。
  Alice發(fā)送BYE消息到P1,P1發(fā)送BYE消息到Bob,執(zhí)行流程F22和F23。
  然后各自發(fā)送最后的200 OK,執(zhí)行流程F24(Bob到P1),F(xiàn)25(P1到Alice)。
  到此為止,整個呼叫保持流程結(jié)束。
  參考資料:
  https://www.rfc-editor.org/rfc/rfc5359.txt
  https://tools.ietf.org/html/rfc7088
  https://www.rfc-editor.org/rfc/rfc3515.txt
  https://tools.ietf.org/html/rfc3840
  https://tools.ietf.org/html/rfc3891
  https://support.sonus.net/display/SBXDOC51/GRUU+Support
  www.freepbx.org.cn
  https://svn.resiprocate.org/viewsvn/resiprocate/main/resip/recon/MOHParkServer/doc/MOHParkServer_User_Documentation.pdf?revision=8937&view=co
  http://ijsetr.com/uploads/463152IJSETR13872-273.pdf
  https://tools.ietf.org/html/rfc3665
  https://tools.ietf.org/html/rfc3265
  https://tools.ietf.org/html/rfc3515
  https://tools.ietf.org/html/rfc4317
   
  關(guān)注微信公眾號:asterisk-cn,獲得有價值的Asterisk行業(yè)分享
  Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
  Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
  融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
  Asterisk/FreePBX中國合作伙伴,官方qq技術(shù)分享群(3000千人):589995817

【免責(zé)聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

專題

CTI論壇會員企業(yè)