摘要:Internet呼叫中心正在興起,網(wǎng)絡(luò )防火墻的應用也已非常普遍。如何在保障系統及用戶(hù)的網(wǎng)絡(luò )安全的前提下高效便捷地穿越防火墻,是Internet呼叫中心設計者必須解決的課題。本文以訊泰公司的呼叫中心系統ezConnect為例,介紹了一個(gè)Internet應用穿越防火墻的具體方案。此方案具有一定的普遍適用性。
關(guān)鍵詞:呼叫中心、防火墻、Internet、ezConnect
一.前言
對于Internet應用來(lái)講,有兩類(lèi)防火墻需要考慮:一種是被用于保護應用服務(wù)器的防火墻,另一種是用來(lái)保護和限制終端用戶(hù)的防火墻。一般來(lái)講,前一類(lèi)防火墻易于控制:在不違背企業(yè)的 網(wǎng)絡(luò )安全制度的前提下,針對Internet應用的具體情況,在網(wǎng)絡(luò )管理員的協(xié)助下采用開(kāi)放特定端口(俗稱(chēng)“防火墻上打洞“)、傳輸層建橋、應用層代理等方法來(lái)對外提供服務(wù)。而對于后一類(lèi)防火墻,網(wǎng)絡(luò )管理員一般不可能為了某個(gè)終端用戶(hù)的個(gè)人需要而降低防火墻的整體安全程度,所以只能從Internet應用本身著(zhù)手,采用HTTP隧道、SOCK代理服務(wù)器等技術(shù)來(lái)盡可能地向被各式各樣防火墻所包圍的終端用戶(hù)提供方便。
多數的企業(yè)防火墻都對80端口上的向外HTTP請求沒(méi)有限制或只做少量的限制(例如禁止員工訪(fǎng)問(wèn)色情和政治網(wǎng)站)。一些Internet應用為了最大化防火墻透明度,客戶(hù)端只直接使用HTTP協(xié)議與服務(wù)器端進(jìn)行通信。這樣,在3層結構(或n層結構)體系中,web瀏覽器一側基本不做邏輯運算,web服務(wù)器上運行JSP, Servlet, ASP, CGI等進(jìn)行適當的業(yè)務(wù)處理以及與后端應用服務(wù)器或數據庫進(jìn)行通信。對于Internet呼叫中心,此種模式不太適用。因為基于web瀏覽器的客戶(hù)端往往要做一些較為復雜的處理,例如支持白板共享、文本聊天、IP電話(huà)等功能。不過(guò),利用協(xié)議隧道技術(shù)把呼叫中心客戶(hù)端和服務(wù)器端之間的通信協(xié)議嵌入到HTTP協(xié)議來(lái)穿越防火墻仍然非常地有效。這種模式中,Java小程序(Java Applet)或與其作用類(lèi)似的組件運行在web瀏覽器上完成一些邏輯處理,Java小程序與后臺服務(wù)器之間的通信在必要時(shí)采用HTTP隧道技術(shù)。這是目前先進(jìn)的防火墻處理方案,運用得當時(shí)甚至可以出色地完成話(huà)音這樣的大數據量傳輸。
目前在國內實(shí)際運營(yíng)的Internet呼叫中心非常少,但肯定地說(shuō)這是一個(gè)近期未來(lái)的趨勢。在種類(lèi)繁多的Internet應用中,絕大多數仍然要求用戶(hù)的網(wǎng)絡(luò )環(huán)境必須開(kāi)放著(zhù)某一組TCP端口,這在一定程度上限制了此類(lèi)Internet應用的適用范圍。本文通過(guò)對訊泰公司的呼叫中心產(chǎn)品ezConnect的防火墻解決方案的介紹,希望能對類(lèi)似產(chǎn)品的技術(shù)選型和開(kāi)發(fā)有一定的幫助。
二.EzConnect系統的結構
ezConnect系統是由訊泰信息科技公司的北京研發(fā)中心設計開(kāi)發(fā)出來(lái)的一個(gè)成熟的多媒體呼叫中心產(chǎn)品。支持傳統電話(huà)、web、電子郵件、傳真、語(yǔ)音郵件、IP電話(huà)、短消息、WAP等用戶(hù)接入方式;對客戶(hù)請求采用基于座席技能的智能分派;提供文本交談、白板共享、協(xié)同填表、文檔推送、IP電話(huà)、短消息發(fā)送等多種實(shí)時(shí)交流工具;有非常實(shí)用的實(shí)時(shí)監控和報表子系統。核心部分的設計采用分離分層的思想,實(shí)現了相對于PBX、IVR、CRM的透明性。系統的配置非常靈活,可以在很短的時(shí)間內完全改變整個(gè)客戶(hù)端的風(fēng)格,或支持一種新的語(yǔ)言。整個(gè)系統建立在Java平臺上,具有良好的可移植性。下面是ezConnect系統的結構圖:
三.ezConnect的防火墻解決方案
ezConnect系統的防火墻方案計劃實(shí)現以下幾個(gè)目標:
1、企業(yè)防火墻有效保障ezConnect內部系統
2、內部用戶(hù)的高效訪(fǎng)問(wèn),避免不必要的網(wǎng)絡(luò )流量
3、外部Internet用戶(hù)的無(wú)障礙訪(fǎng)問(wèn)
4、支持絕大多數外部Intranet用戶(hù)的透明訪(fǎng)問(wèn)
目標1是一般防火墻系統的基本功能。對于ezConnect系統,最常見(jiàn)的方法是在防火墻上完成下面兩個(gè)配置:
- 把所有對ezConnect系統的Web請求轉發(fā)給內部Web服務(wù)器(通常安裝在ezConnect服務(wù)器所在的主機上)。
- 把所有的ezConnect協(xié)議(2624端口上的TCP連接)請求轉發(fā)給ezConnect服務(wù)器。
下述方法可以實(shí)現目標2:內部用戶(hù)訪(fǎng)問(wèn)時(shí)ezConnect系統的域名被解析為L(cháng)AN上的IP地址(很多種方法可以實(shí)現,最簡(jiǎn)單的一種是修改內部用戶(hù)使用的計算機的hosts文件), 這樣內部用戶(hù)的訪(fǎng)問(wèn)就可以直接到達ezConnect服務(wù)器,避免了對網(wǎng)關(guān)和防火墻不必要的干擾。
普通Internet用戶(hù)(例如撥號上網(wǎng)或小區ADSL)對Internet資源的訪(fǎng)問(wèn)一般不受限制,所以只需解決如何穿越保衛著(zhù)ezConnect服務(wù)器的防火墻的問(wèn)題。訊泰公司的方案是開(kāi)發(fā)一套通用的通訊API, 在此API的基礎上實(shí)現呼叫中心客戶(hù)端的業(yè)務(wù)邏輯(參見(jiàn)下圖)。這個(gè)通訊API的底層有兩種方式:直接socket連接和HTTP隧道,API會(huì )自動(dòng)檢測其所處的網(wǎng)絡(luò )環(huán)境來(lái)選擇適當的底層連接方式。一般而言,保障著(zhù)ezConnect服務(wù)器的防火墻應該開(kāi)放著(zhù)ezConnect的協(xié)議端口2624。 所以普通Internet用戶(hù)訪(fǎng)問(wèn)ezConnect系統時(shí),客戶(hù)端軟件與服務(wù)器軟件通過(guò)建立直接的socket連接來(lái)互通信息。目標3由此達到。
對于被企業(yè)防火墻所限制的Intranet用戶(hù),情況略微復雜一些。如果企業(yè)防火墻已開(kāi)放ezConnect的協(xié)議端口2624,那么此類(lèi)Intranet用戶(hù)訪(fǎng)問(wèn)ezConnect系統的情況與普通Internet用戶(hù)沒(méi)有區別。如果企業(yè)防火墻限制ezConnect的協(xié)議端口,但允許HTTP協(xié)議通過(guò),那么上文中提到的API會(huì )自動(dòng)選用HTTP隧道的通信方式來(lái)維護客戶(hù)端軟件與服務(wù)器軟件之間的連接。此時(shí),通信的效率會(huì )相對低一些,但對于可以透明地、完整地獲取Internet呼叫中心服務(wù)(文本交談、白板共享、IP電話(huà)等)的Intranet用戶(hù)來(lái)講是完全可以接受的。如果企業(yè)防火墻同時(shí)禁止ezConnect的協(xié)議端口2624和HTTP協(xié)議的默認端口80,Intranet用戶(hù)將無(wú)法訪(fǎng)問(wèn)ezConnect系統。而事實(shí)上,嚴格到不允許HTTP協(xié)議通過(guò)的防火墻是非常少見(jiàn)的,因此目標4也不成為問(wèn)題。
下圖描述了客戶(hù)端軟件在不同的網(wǎng)絡(luò )環(huán)境下連接服務(wù)器的方式。
四.方案的適用范圍
本文所描述的防火墻解決方案事實(shí)上是一個(gè)通用的設計開(kāi)發(fā)模式,適用于任何有以下特點(diǎn)的系統:
1、Internet應用
2、客戶(hù)端軟件需要完成一定的業(yè)務(wù)邏輯(客戶(hù)端軟件通常表現為獨立應用程序或Applet, ActiveX之類(lèi)的網(wǎng)頁(yè)嵌入程序)
3、系統的服務(wù)器端可能會(huì )被安裝在防火墻內,或系統的部分用戶(hù)可能位于某種防火墻內
4、設計者希望所有的用戶(hù)都能透明地以同樣的方式訪(fǎng)問(wèn)系統,用戶(hù)無(wú)需在訪(fǎng)問(wèn)前根據自己的網(wǎng)絡(luò )環(huán)境作一些設置手工調整。
五、結束語(yǔ)
是否能夠透明地穿越各類(lèi)防火墻來(lái)向廣大用戶(hù)提供服務(wù),一定程度上決定了Internet呼叫中心及與其相似的系統的用戶(hù)群體和接入場(chǎng)所;是影響用戶(hù)滿(mǎn)意程度的一個(gè)重要因素。本文所描述的方案已在訊泰公司的呼叫中心產(chǎn)品ezConnect系統的開(kāi)發(fā)中得到了驗證,各項指標均達到預期的設計目標。此方案以很小的開(kāi)發(fā)成本為ezConnect系統贏(yíng)得了一個(gè)非常有市場(chǎng)價(jià)值的產(chǎn)品賣(mài)點(diǎn)。
參考文獻
http://java.sun.com/j2se/1.4/docs/guide/rmi/
Jiangzhe Wang: “How to configure ezConnect to go through firewalls”, Product document of Systek Information Technology Ltd. 2001
Zhang Lei, “Product Specification of ezConnect Release 4.0”, Product document of Systek Information Technology Ltd. 2000
“White paper of ISA system”, Microsoft Ltd.
訊泰信息技術(shù)提供 CTI論壇編輯