王江淮 周路 丁常坤



摘要:為了實現VoIP與業務能力的結合,實現基于VoIP軟電話的呼叫中心平臺能力,提出了通過WebSocket、SIP協議和FreeSWITCH的技術結合,打造IP-PBX[1]交換機方式的VolP呼叫中心平臺方案,來替代傳統的基于電路的呼叫中心平臺系統,從而在不影響呼叫中心功能的情況下實現系統的靈活部署、低廉成本等優勢。
關鍵詞:VolP;FreeSWITCH;SIP;WebSocket
中圖分類號:TP399 文獻標識碼:A
文章編號:1009-3044(2020)09-0040-03
基于電路的傳統的呼叫中心系統是目前應用最多的呼叫中心平臺,它具有成熟穩定、接人能力強等特點,但也導致系統架構復雜、安裝部署及運維難度大、建設成本高等缺點,這也導致其很難適用于小中規模呼叫中心建設的原因。隨著移動通信,無線網絡的快速發展,融合IP和通信技術的統一通信平臺已經漸漸被各企業所接受和認可。基于VoIP軟電話的呼叫中心平臺也應運而生,由FreeSWITCH提供通信等能力、軟電話承接,通過WebSocket與軟電話建立連接實現通訊與業務能力的結合,建立基于VoIP軟電話的呼叫中心系統,不僅具有傳統交換機的優勢,同時還具備系統結構簡單、部署靈活、低成本的等優點,這將是未來呼叫中心系統的發展方向。
1 電話軟交換平臺
FreeSWITCH是一個開源的、跨平臺的、伸縮性好的、多協議的電話軟交換平臺,由于使用了IP通信,它能通過IP網提供語音通信,它不僅可以在企業內部網上進行,也可通過Internet在外網甚至PSTN電話間進行。FreeSWITCH與SIP軟電話通信的協議是SIP協議,SIP是由IETF提出的IP電話信令協議,如圖1為請求呼叫建立發送的SIPINVITE請求。在SIP通信中,除文字外,媒體都是在RTP協議中傳輸的,由于媒體一般都是持續傳輸的,因此又稱RTP流。FreeSWITCH是一個典型的B2BUA.在一個通話過程中,FreeSWITCH都是作為一個B2BUA來橋接兩個客戶端軟電話進行通話,完整的呼叫流程如圖2。在搭建軟電話呼叫中心系統中,由FreeSWITCH提供語音交換、媒體處理、媒體監播、電話會議、排隊等功能,由SIP軟電話承接功能,并通過WebSocket收發命令實現屬性、方法、事件與呼叫中心業務、管理能力結合(如圖3)。
2 基于SIP的軟電話
MicroSIPc2]是開源的輕量級的SIP軟電話,所用的協議棧是SIP協議棧[3],PJSIP是包含SIP、SDP、RTP、RTCP、STUN、ICE等協議實現的開源庫。目前MicroSIP最新版本已更新到3.19.23,MicroSIP不僅實現呼叫、接聽、掛斷、通話保持、繼續,靜音等基本功能,同時也實現了坐席的示忙、示閑、會議、釋放轉坐席等功能,這些功能已基本能滿足普通用戶和中小企業的內部通信需求。但無法滿足話務服務中心的復雜功能的需要,特別是管理和質檢的需要。所以在依托開源的MicroSIP基礎上,開發一個不僅能支持普通話務需求,同時能更好地承接或替代基于傳統交換機的話務中心的軟電話,是目前最需要考慮的問題,在此基礎上我們需要設計一款新的軟電話。新的軟電話不僅包括目前MicroSIP所有功能,同時也支持目前話務中心班長管理功能、技能控制功能,如動態修改坐席簽人信息、引入技能隊列、監聽、攔截、三方通話、協商轉流程、釋放轉技能組、協商轉技能組等。協商轉IVR流程是目前話務中心或服務中心經常用到的功能,原有MicroSIP中并沒有實現,通過研究,我們可以根據現有掛起轉功能進行改造(如圖4),同時結合FreeSWITCH的撥號計劃(如圖5)和Lua腳本(如圖6)實現此功能,在掛起轉時將轉移IVR編碼和受理坐席工號一起轉移,同時,示忙當前坐席狀態,讓坐席等待客戶轉流程后返回,并在FreeSWITCH撥號計劃進行路由,并轉入對應Lua腳本的IVR流程,待流程結束再轉移到傳人的受理坐席賬號。此外,與其他SIP軟電話不同的是,新的SIP軟電話客戶端需要不僅能夠正常啟動運行,同時通過Socket技術搭建WebSocket服務端(如圖7),為呼叫中心平臺提供通信和監控服務。為方便對通信行為的控制,限制客戶對SIP軟電話的直接操作,所以客戶端可以實現后臺啟動方式啟動,這即降低了客戶的非法操作,同時也規范了客戶的正常操作。
3 基于軟電話的VoIP呼叫中心平臺
傳統呼叫中心平臺,都是基于電路型的交換機實現的,大多都需要瀏覽器加載中間件(控件)來實現與交換機的交互,過于依賴瀏覽器,所以在搭建呼叫中心系統的同時,也必須要求客戶統一規定安裝相對應的瀏覽器和版本,即便是如此,也無法保證瀏覽器不會被變更,這也是導致現有呼叫中心客戶經常出現呼叫中心系統故障的原因之一。而WebSocket技術目前已經基本支持所有高版本的主流瀏覽器,在搭建呼叫中心系統而基本無須特意要求客戶的瀏覽器環境。在VoIP呼叫中心系統中,由SIP軟電話程序實現啟動WebSocket服務端,而呼叫中心平臺作為客戶端申請并與WebSocket服務端建立長連接(這一方案也稱為SIP over WebSocket[4]),呼叫中心平臺即可通過調用指令接口實現如呼出、掛斷、示閑、示忙等主動操作。同時SIP軟電話接收和獲取FreeSWITCH坐席通話信息和狀態,主動以事件方式推送當前坐席的通話信息和狀態,為平臺提供數據支持(如圖8)。
4 技術驗證及分析
通過上述的討論和研究,我們可以通過搭建FreeSWITCH,編譯并修改MicroSIP實現其它功能,創建WebSocket服務端,通過火狐瀏覽器創建WebSocket連接,發送呼叫、監聽指令,分析返回結果:
呼出指令如:
根據WebSocket服務端返回結果分析,1003客戶端已接聽并建立通話連接。
監聽指令如:
根據WebSocket返回結果分析,監聽0055aOcO-e7a5-4d8c-8a74-337809fe66b5通話成功。
由上呼出、監聽驗證結果分析可知,本文提出的基于FreeSWITCH、SIP協議以及WebSocket的VoIP軟電話呼叫中心技術的可行性。
5 結束語
本文提出了通過FreeSWITCH、SIP軟電話實現VoIP呼叫中心系統,通過由FreeSWITCH提供能力,軟電話進行SIP請求封裝、與FreeSWITCH進行SIP通信,與業務能力、管理功能結合搭建呼叫中心平臺,并通過具體呼叫、監聽測試驗證了本方案的可行性。本方案相對于傳統的基于電路交換機的呼叫中心系統有結構簡單、成本低、部署靈活等特點,但也存在很多不可預知的問題,比如NAT穿越[51問題一直沒有統~的解決方案,需要等待時間來不斷發現和完善。、
參考文獻:
[1]Wikipedia:hUp://en.wikipedia.org/wiki/lP_PBX
[2] https://www.MicroSIP.org/source
[3]張文杰PJSIP開發指南,http://www.pjSIP.org/.
[4]http://datatracker. ietf. org/doc/draft-ietf-SIPcore-SIP-Web-Socket/。
[5]杜金房,張令考FreeSWITCH權威指南。
【通聯編輯:梁書】
作者簡介:王江淮,男,安徽安慶人,本科;周路,男,安徽亳州人,本科;丁常坤,男,安徽肥西人,碩士研究生。