沈強(qiáng):攜程旅行網(wǎng)通信技術(shù)中心高級經(jīng)理
擁有十幾年的呼叫中心系統(tǒng)建設(shè)和運維管理經(jīng)驗,經(jīng)歷了攜程呼叫中心系統(tǒng)架構(gòu)的多次轉(zhuǎn)型設(shè)計,使之從單一系統(tǒng)逐步演進(jìn)到異地冗災(zāi)、異地雙活,從單品牌到多平臺的融合架構(gòu)設(shè)計。目前負(fù)責(zé)攜程上萬座席呼叫中心的產(chǎn)品管理和架構(gòu)設(shè)計工作。
序言
之前,我先拜讀了《Google SRE》這本書的幾個章節(jié),我對這些章節(jié)中的內(nèi)容非常認(rèn)同,特別是基于自動化運維以及故障響應(yīng)時間的闡述,感同身受。
今天我講的這個技術(shù)實現(xiàn)就是一個非常接地氣的案例,很好了詮釋了Google SRE的理念,下面我會結(jié)合攜程實際的技術(shù)實現(xiàn)方案,進(jìn)行詳細(xì)的講解。
今天演講分為三塊內(nèi)容:
- 首先,介紹一下攜程呼叫中心系統(tǒng)的整體架構(gòu),因為攜程主要是以呼叫中心起家,當(dāng)時呼叫中心占整個業(yè)務(wù)訂單量70%以上,因此呼叫中心在我們的業(yè)務(wù)里面,起到非常重要作用。
- 其次,講解一下攜程呼叫中心異地雙活的架構(gòu),整個過程中會涉及到各個層面的雙活架構(gòu)設(shè)計。
- 最后,講解一下座席介入端的異地雙活的系統(tǒng)設(shè)計。
一、呼叫中心在攜程
就像剛才舉手的同學(xué)不是特別多,大家對呼叫中心這個系統(tǒng)還不是特別了解,因此我先簡單介紹一下呼叫中心的基本的架構(gòu),由于各個廠家或者說各個公司對于呼叫中心的設(shè)計不一樣,可能會有一些架構(gòu)不一樣,因此此次基本上以攜程的基本架構(gòu)作為一個模板進(jìn)行的說明。
對于呼叫中心系統(tǒng),主要一個系統(tǒng)就是PBX系統(tǒng),這個PBX,類似于運營商的語音交換機(jī),只是用于企業(yè)端,功能比較簡單一點,主要實現(xiàn)語音媒體的處理和呼叫排隊。
第二個系統(tǒng)就是CTI系統(tǒng),就是電話和電腦的集成,等于是我們在電腦和電話之間建立的一個中間件,還包括IVR,錄音等系統(tǒng),當(dāng)然有些平臺這些系統(tǒng)會從CTI中獨立出來。
最后一點就是CRM系統(tǒng),當(dāng)然各個企業(yè)業(yè)務(wù)定義不同,攜程的CRM是一個訂單的業(yè)務(wù)系統(tǒng),包括酒店、機(jī)票、度假等等。可能在運營商,他們更多是一個客服系統(tǒng),這里面會有業(yè)務(wù)差別,但從整體架構(gòu)上面來說其實都是相似的,以下是架構(gòu)圖。

在這個架構(gòu)圖中,描述了PBX,CTI和CRM的組網(wǎng)結(jié)構(gòu)和關(guān)系圖,另外我們增加了遠(yuǎn)程座席和在家辦公,上海的成本越來越高,很多的座席希望回家鄉(xiāng)上班,但是沒有一個好的工作或者是一個相對合適的平臺。對于在家辦公而言,大家花在交通上的成本很高,希望能在家辦公,這也是借鑒從美國引進(jìn)的一些成熟理念,因此我們新增這兩種座席辦公的途徑。
前面介紹了一些呼叫中心的架構(gòu),下面講解一下攜程呼叫中心的一些高可用架構(gòu)相關(guān)大紀(jì)事。

攜程呼叫中心成立以來,總共經(jīng)歷了三次大的調(diào)整,第一次是2007年公司大樓搬遷,呼叫中心系統(tǒng)也要搬遷到新大樓,由于當(dāng)時系統(tǒng)硬件的設(shè)計限制和成本考慮,無法做到無縫搬遷,所以搬遷過程中我們整個呼叫中心業(yè)務(wù)中斷了兩個小時。這兩個小時中斷從現(xiàn)在來說可能是不可想象的,說明當(dāng)時我們的高可用架構(gòu)還不夠完善。
第二次調(diào)整是2010年,我們在南通建了一個新的大樓,同時我們也按新架構(gòu)重構(gòu)了呼叫中心系統(tǒng),從平臺上實現(xiàn)了異地雙活設(shè)計,并且將中繼路由以及其他業(yè)務(wù)進(jìn)行模塊化的分拆,各模塊之間全部通過SIP協(xié)議進(jìn)行連接,每個模塊之間再采用異地雙活的設(shè)計,因此各個模塊可以在異地靈活組合搭配,充分體現(xiàn)系統(tǒng)可靠性。
最后當(dāng)系統(tǒng)正式啟用的后,兩地系統(tǒng)同時工作,對業(yè)務(wù)沒有任何影響,系統(tǒng)無縫銜接。
最后一次是今年,我們在上半年對座席客戶端進(jìn)行了一個改造,因為原先我們在做設(shè)計的時候,平臺這邊我們都已經(jīng)做到了全部的異地雙活,但是在客戶端由于歷史的原因,我們的一些分機(jī)全部是模擬的線路,模擬的線路如果想異地切換的話,技術(shù)上沒法實現(xiàn)。
因此我們從2014年進(jìn)行統(tǒng)一登錄平臺的建設(shè),經(jīng)歷一年多的一些優(yōu)化和改進(jìn),我們在今年上半年就實現(xiàn)了一個座席端的異地雙活的設(shè)計。
二、呼叫中心異地雙活架構(gòu)簡介
剛才對攜程的呼叫中心系統(tǒng)做了一個簡短的介紹,下面把呼叫中心異地雙活的架構(gòu)設(shè)計做一下簡單的描述。
異地雙活衡量標(biāo)準(zhǔn),我們從自己的業(yè)務(wù)的角度定了兩個級別的標(biāo)準(zhǔn):
- 區(qū)別異地災(zāi)備
- 故障恢復(fù)時間
當(dāng)出現(xiàn)故障時,我們啟用備份,但經(jīng)常出現(xiàn)備份無法正常工作,或者不能完全接替主應(yīng)用。而雙活我們是兩個系統(tǒng)實時存活的,切換時,只是負(fù)載增加,其他的功能模塊都一樣。對于故障恢復(fù)時間,我們希望故障恢復(fù)快速,只有快速恢復(fù),對用戶幾乎透明或無感知,才是真正的雙活。
我們根據(jù)這兩個概念定義了一個我們的架構(gòu)分層或者說這個技術(shù)實現(xiàn)的一個標(biāo)準(zhǔn)。
針對這兩個標(biāo)準(zhǔn)我們將系統(tǒng)分成三個層面進(jìn)行設(shè)計實現(xiàn):
- 公網(wǎng)接入層
- 應(yīng)用層
- 座席接入層

公網(wǎng)接入層和運營商線路相關(guān),雙活設(shè)計原理很簡單,基本上都是在運營商端配置,主要涉及以下內(nèi)容:
- 話務(wù)中繼兩地接入
- 智能網(wǎng)平臺(可配置三個路由)
- 按百分比/主叫號碼區(qū)域
- SIP語音中繼
只是對運營商,如果不提出你的一些想法和設(shè)計要求的話,他也不一定幫你去做,因為這樣對他的成本會高很多。我們當(dāng)時在上海和南通兩地分別找了電信和聯(lián)通,總共四家運營商。對于運營商我們要求上海和南通分別都有中繼接入的,然后通過運營商的智能網(wǎng)平臺將我們的話務(wù)進(jìn)行分配。
運營商智能網(wǎng)平臺有多個話務(wù)分流的策略,可以根據(jù)你的需求進(jìn)行話務(wù)的分配:按百分比進(jìn)行分配,或按照主叫號碼歸屬的區(qū)域進(jìn)行分配。這樣企業(yè)可以根據(jù)自己的業(yè)務(wù)需求,規(guī)劃自己的話務(wù)分配邏輯設(shè)計。
我們考慮到話務(wù)費用成本問題,采用了根據(jù)主機(jī)號碼所處的區(qū)域進(jìn)行分布的策略。因為我們不希望上海的話務(wù)分配到南通,產(chǎn)生長途費用。
運營商還有一個先進(jìn)的技術(shù)方案,就是SIP中繼接入。這個概念和方案其實很早就提出來了,只是運營商考慮技術(shù)風(fēng)險,當(dāng)時一直在運營商內(nèi)部使用,沒有對外推廣。我們和運營商進(jìn)行一些技術(shù)溝通,最終嘗試接入SIP中繼,在兩個機(jī)房分別接入了一個SIP中繼群,負(fù)載均衡,光纖接入。
達(dá)到的效果就是線路快速擴(kuò)容,無需重新施工,只需后臺參數(shù)配置即可。線路主備快速切換,無需事先部署備份額外線路資源。如傳統(tǒng)的中繼接進(jìn)來,我的話務(wù)要切到另外一邊去,這個時候如果沒有足夠的線路資源的話,而話務(wù)量還是原先那么多,那就會存在電話呼損。
而如果事先預(yù)留資源的話,一直放著沒用的,成本比較高。采用光線接入,直接就是百兆接入,資源充足,先期投入也就是新增幾根網(wǎng)線,切換也非常方便,而且我們這邊部署簡單,無須中繼網(wǎng)關(guān)和中繼線路,只須網(wǎng)絡(luò)交換機(jī)進(jìn)行數(shù)據(jù)接入即可。這個方案我們當(dāng)初跟運營商談判時,估計當(dāng)時也是第一家運營商正式開通SIP中繼的公司。
總體而言,公網(wǎng)接入層除了SIP中繼外,其他在我們企業(yè)端的設(shè)備部署也比較簡單,就是兩地部署,所有的線路均衡分配到不同的設(shè)備上,預(yù)防單設(shè)備故障。并且都上聯(lián)到我們南通上海核心交換,由核心系統(tǒng)進(jìn)行異地調(diào)度。
第二層是應(yīng)用層,其實原理和互聯(lián)網(wǎng)WEB應(yīng)用都是相似的,細(xì)節(jié)就不再展開,唯一需要說明的就是我們的應(yīng)用層跟我們的核心交換層,他是一個靜態(tài)配置,就是我們原先就制訂好了一個路由策略,本地訪問,優(yōu)先訪問本地集群,如果出現(xiàn)故障,可以通過路由到異地的集群去,配置非常簡單。
我們的四個核心也是fullmapping設(shè)計,這四套我們分別部署在兩地,兩地都是雙活的架構(gòu),任何一地出現(xiàn)問題,都不影響所有的業(yè)務(wù)。這個設(shè)計我們和GoogleSRE的介紹的理念一致,并且我們每年都會進(jìn)行冗災(zāi)演練,把核心關(guān)掉,或者把集群關(guān)掉,進(jìn)行觀察驗證。
第三層就是客戶端接入層,也是我們項目的實施的重點,主要講一下三種客戶端注冊登錄方式:
- 雙中心連接
- 輪詢技術(shù)
- 負(fù)載均衡
因為呼叫中心他有一個語音線路,一個話機(jī),我們設(shè)計的雙中心連接的方法,就是我的話機(jī)同時接入到兩個中心里面去,同時有效,按需切換。另外一個就是輪詢技術(shù),訪問應(yīng)用服務(wù)器,主系統(tǒng)有問題可以自動訪問第二個。最后一個就是負(fù)載均衡,這個就不多說了,WEB應(yīng)用訪問。這三個技術(shù)其實我們在整個客戶端都采用了。
座席端接入異地雙活的必要性

下面講一下座席接入端異地雙活的必要性,攜程總共有一萬多的座席,如果一地系統(tǒng)出現(xiàn)重大故障,業(yè)務(wù)影響非常大。我們在這方面有很多的經(jīng)驗教訓(xùn)。在2014年,我們運維同事去機(jī)房進(jìn)行巡檢,結(jié)果由于工作機(jī)電源線路短路,又正好觸發(fā)了電源的設(shè)計中一個bug,導(dǎo)致二級開關(guān)跳閘,當(dāng)時我們整個呼叫中心一個大的部門業(yè)務(wù)全部垮掉了。
雖然我們快速把電源恢復(fù)起來,但是有些系統(tǒng)恢復(fù)不了,經(jīng)過排查,發(fā)現(xiàn)是一些設(shè)備由于異常斷電而損壞,導(dǎo)致我們花了很長時間處理這個問題。故障時,系統(tǒng)所在地我們有大量的座席,他們沒法進(jìn)行工作,而在另外一地系統(tǒng)即使我們把當(dāng)?shù)厮械娜藛T加進(jìn)去都沒法解決人員不足這個問題。
后續(xù)把故障的硬件設(shè)備排除后,系統(tǒng)恢復(fù),但我們花了將近兩個小時,這個業(yè)務(wù)影響很大,對我們的觸動也特別大,如果那個時候座席異地雙活能實現(xiàn),直接登錄到異地系統(tǒng),這個業(yè)務(wù)影響就會避免掉。
第二個就是業(yè)務(wù)需求,其實所有的業(yè)務(wù)需求類似于我們的計劃內(nèi)的系統(tǒng)的一個調(diào)整,這方面我們也有一個真實的故事,也是在去年夏天的時候,臺風(fēng)當(dāng)時特別大,全市學(xué)校都停課。
我們大樓的物業(yè)說,這個臺風(fēng)可能會造成我們機(jī)房這邊的漏水,所以決定在臺風(fēng)來的時候,把這個機(jī)房全部停電。我們當(dāng)時所有的設(shè)備都在這個機(jī)房,我們這邊也很頭疼,經(jīng)過協(xié)商以后,物業(yè)說還是不行,風(fēng)險太大。
我們這邊不得不安排了技術(shù)人員去通宵加班,在異地系統(tǒng)新增配置全部的數(shù)據(jù),計劃讓我們的上海的座席登到異地系統(tǒng)上,花了一個通宵才把數(shù)據(jù)配好。
第二天,由于臺風(fēng)沒有預(yù)期到來,因此沒有實施這個方案,我們配置數(shù)據(jù)效果也沒有驗證過是否可靠,而我們花了大量的時間做這些應(yīng)急處理,如果說當(dāng)時系統(tǒng)能夠登錄到異地的話,這些工作我們都可以省下來,而且系統(tǒng)的可靠性也更高。
經(jīng)歷的這幾個點,是我們深有感觸的一些痛點,因此我們花了很多的精力整改這一套系統(tǒng),做到客戶端的異地雙活接入。
三、呼叫中心座席介入異地雙活
座席端異地接入前提條件:
- 話務(wù)多地接入,可全局分配
- 座席一地簽入,可接全局話務(wù)
- 話機(jī)IP化
話務(wù)多地接入,可全局分配,如果不能全局分配的話,座席異地登錄后,就不能接聽全局的電話。另外座席一地簽入以后,可以接全局的話務(wù),這里有一個話務(wù)分配的策略,這樣才能保證我們座席在任意地方簽入,都能接聽我們所有的話務(wù)。
當(dāng)然最重要的一點就是IP話機(jī),我們原先沒這么做就是因為模擬話機(jī)無法實現(xiàn)兩地注冊,而IP話機(jī)可以預(yù)先注冊登錄,并且可以實現(xiàn)自動化。這是我們?nèi)齻前提條件。
客戶端異地雙活難點:
- 話機(jī)注冊問題
- 客戶端登錄問題
- 資源配置問題
話機(jī)注冊問題,以前的話機(jī)是模擬線路,只能對應(yīng)一個分機(jī),并注冊到一個后臺系統(tǒng),物理線路和系統(tǒng)一一對應(yīng),而雙活則必須同時能注冊到至少兩個平臺上,且能自動切換,以前的系統(tǒng)不支持。
座席登錄問題,座席是一個點對點,一個長連接的狀態(tài),座席通過一個操作員號登錄CTI,就和PBX中的一個話機(jī)進(jìn)行綁定,因此登錄后就是一個常態(tài)的固定綁定關(guān)系。
如果切換系統(tǒng),必須要重新更換一個新系統(tǒng)的操作員號進(jìn)行登錄,分機(jī)也要重新注冊到新系統(tǒng),這個必須人為去進(jìn)行操作,業(yè)務(wù)、報表等等都要受到影響。且以前出現(xiàn)問題是人工去操作,一萬多座席進(jìn)行調(diào)整,難度還是很大,而且會出現(xiàn)很多的偏差。
因此如果沒有一個自動化的措施,而是座席人工操作,根本不知道配置什么數(shù)據(jù),會一片混亂,這是一個痛點。所以座席登錄我們也是希望做到自動識別,自動完成,不需要人工干預(yù)。這也是我們的難點之一。
第三點是資源配置的問題,我在A城市訪問B城市,原先的資源都是各自配置各自,各自登錄,相互獨立,現(xiàn)在我們需要座席異地登錄時能無縫,則需實現(xiàn)兩地配置自動互通,而不是再去人工干預(yù)。
統(tǒng)一登錄
如果能解決以上這幾個問題,則我們的就能實現(xiàn)座席接入異地雙活了。以下我們來講一下我們針對這三個問題的解決過程。
話機(jī)注冊問題,以前是模擬線路,無法實現(xiàn),此次改造我們首先更換成IP話機(jī)。而且現(xiàn)在話機(jī)廠商很多,只要選定廠商,能配置雙線路(A線、B線),你配置好以后,只要A線和B線雙活,配合客戶端軟件的聯(lián)動機(jī)制和心跳檢測機(jī)制,由客戶端自由選擇,就可實現(xiàn)話機(jī)綁定關(guān)系。現(xiàn)在有很多廠家支持這類配置,通過招標(biāo)選型基本上不是問題。

座席登錄的問題,座席怎么去自動識別和登錄,這也是我們花了很多的時間和精力去處理的一個業(yè)務(wù)邏輯。統(tǒng)一登錄,顧名思義,座席不管在哪里,用唯一的帳號就可以登錄。
- ITDB
- IP話機(jī)MAC與分機(jī)號映射
- 座席虛擬ID(內(nèi)部資源)
- 座席工號與域帳號關(guān)系表
- 座席工號動態(tài)使用(資源池)
ITDB,我們的實現(xiàn)過程,首先我們自己IT部門建立的一個ITDB資源庫,就是對我們管理IT設(shè)備進(jìn)行自動關(guān)聯(lián),包括我們的話機(jī)、PC機(jī)信息、座位號等,都是通過我們的系統(tǒng)可自動實時識別,自動更新。
如一個話機(jī)接入網(wǎng)絡(luò)以后,可以通過網(wǎng)絡(luò)接口識別到話機(jī)MAC地址,同時可以識別PC的MAC地址(話機(jī)和PC共用一個網(wǎng)口),并進(jìn)行綁定關(guān)聯(lián),再根據(jù)ITDB中配置的話機(jī)MAC地址對應(yīng)的分機(jī)號碼,PC的MAC地址對應(yīng)的機(jī)器名,就可以把PC的機(jī)器名和話機(jī)號碼進(jìn)行關(guān)聯(lián),座席客戶端登錄時通過獲取PC機(jī)器名的同時獲取到話機(jī)分機(jī)號碼。
座席虛擬ID,前面講過我們的座席要用操作員號要登錄到CTI中去,要正常登錄的話首先要配置好相關(guān)的數(shù)據(jù),包括PBX中的數(shù)據(jù)。如果你想換一套呼叫中心的系統(tǒng),這個數(shù)據(jù)要重配,包括CTI和PBX中的數(shù)據(jù)。
因此如果要實現(xiàn)在兩套呼叫中心都能登錄,則必須兩套都要事先配置好數(shù)據(jù),這樣會造成很多的冗余數(shù)據(jù),人員信息也不統(tǒng)一,容易造成數(shù)據(jù)的偏差。因此我們建立的一個虛擬ID,這個ID跟CTI和PBX系統(tǒng)沒有直接關(guān)系,只是中間過渡銜接的模式,但和座席人員是唯一綁定。
這樣把整個CTI的操作員號資源變成一個動態(tài)的資源池,不再和座席人員固定,根據(jù)座席登錄的實時需要再去動態(tài)獲取。獲取后可以保留一定時間,類似DHCP獲取IP地址,到了設(shè)定時間,自動的釋放這個資源。這樣我們用虛擬ID把座席人員和呼叫中心系統(tǒng)資源解綁,使座席人員和呼叫中心系統(tǒng)無強(qiáng)耦合關(guān)系。
后續(xù)我們將虛擬ID和域帳號進(jìn)行綁定,讓后根據(jù)HR系統(tǒng)中域帳號對應(yīng)員工信息確定員工業(yè)務(wù)屬性,確定他歸屬哪個技能組,自此虛擬ID獲取了座席業(yè)務(wù)屬性,并建立了域帳號和操作員工號(技能組)的邏輯關(guān)系。
座席通過域帳號登錄時,將業(yè)務(wù)屬性告知給CTI,CTI根據(jù)定義好的邏輯分配一個對應(yīng)技能組的動態(tài)操作員工號給域帳號進(jìn)行關(guān)聯(lián),并用分配的操作員工號登錄CTI,同時結(jié)合ITDB獲取的信息關(guān)聯(lián)到話機(jī),完成了自動登錄。
通過統(tǒng)一登錄將座席員工和CTI/PBX資源進(jìn)行了分離和動態(tài)分配。當(dāng)系統(tǒng)出現(xiàn)故障時,可按照業(yè)務(wù)邏輯到另外的系統(tǒng)并重新獲取一個動態(tài)操作員號并重新登錄,實現(xiàn)了容災(zāi)處理。
資源配置的問題:
- 在雙中心的統(tǒng)一登錄平臺中配置全部座席虛擬ID
- 雙中心IP話機(jī)的MAC信息共享
- 分機(jī)號碼各自獨立
對異地雙活整個邏輯了解以后,我們講一下心跳監(jiān)控聯(lián)動策略:
- Client-CTI-PBX-IP話機(jī)聯(lián)動
- 二次確認(rèn),預(yù)防誤判
- 故障確認(rèn),異地登錄
- 全程自動,用戶透明
這個機(jī)制其實就是我們這邊設(shè)置的座席客戶端,CTI,PBX以及IP話機(jī)實時的聯(lián)動,當(dāng)任何一個設(shè)備出現(xiàn)問題,通過心跳機(jī)制,互相之間檢測到這個故障,并發(fā)出一個消息確認(rèn),以便進(jìn)行整個呼叫的調(diào)整。
另外在檢測的時候,擔(dān)心可能網(wǎng)絡(luò)抖動或者是意外情況,做二次確認(rèn),故障確認(rèn)以后,我們便可以異地登錄,而整個過程對座席來說基本無感知的,整個是過程全程自動,用戶透明。
我這里整理了一張內(nèi)部統(tǒng)一登錄邏輯圖

這個邏輯圖,圖中表述了座席登錄的三種狀態(tài),第一種狀態(tài)就是在已登錄狀態(tài)(綠色這一部分),在已登錄的時候,檢測到話機(jī)出現(xiàn)故障,會發(fā)起一個請求,如果說第二次請求是OK,保持狀態(tài)不變,如果發(fā)現(xiàn)有問題,直接觸發(fā)統(tǒng)一登錄請求登錄,如果說異地請求登錄OK的話,會向異地發(fā)消息登錄成功的。
如果異地登錄的時候發(fā)現(xiàn)還是失敗,兩地同時失敗,那基本上你話機(jī)本身的問題。如果是話機(jī)本身的問題,基本上會認(rèn)為是一個單點故障,問題不是很大。
另外兩種狀態(tài)就是在登錄過程中發(fā)現(xiàn)問題,如果是CTI出現(xiàn)問題,則會直接向異地進(jìn)行登錄請求,如果是統(tǒng)一登錄平臺出現(xiàn)了問題,我們會進(jìn)行二次確認(rèn),如果二次確認(rèn)登錄不成功的話,則會向異地再發(fā)起一個請求,進(jìn)行異地登錄。
技術(shù)特點:
- 支持故障情況下在線座席自動雙活切換
- 支持按系統(tǒng)、按地域、按座席技能組等不同維護(hù)進(jìn)行計劃內(nèi)的手工切換
- 支持1000+并發(fā)在線座席異地雙活自動切換
演練效果:
我們當(dāng)時做了一個演練,這個演練也比較符合Google的一個理念,定期演練并根據(jù)演練結(jié)果進(jìn)行修正。在做演練過程中,你會發(fā)現(xiàn)計劃內(nèi)目標(biāo)是否完成的,是否有一些計劃外的事情。而在實際演練中也確實發(fā)現(xiàn)跟我們計劃稍微有點出入,具體數(shù)據(jù)如下:

后期我們針對演練發(fā)現(xiàn)的問題,進(jìn)行了修復(fù)和調(diào)整,并在測試環(huán)境進(jìn)行壓測驗證,最終實現(xiàn)1000+座席自動切換在2分鐘內(nèi)全部完成。
未來
- 未來的方向,這也是我們公司目前正在做的兩個方向
- 客戶端全軟件化,取消硬件電話限制
- 客戶端移動化,任意地點可接入
客戶端全軟件化,其實現(xiàn)在的很多的都已經(jīng)全軟化的,全部在軟件上實現(xiàn),這個從技術(shù)上我們在嘗試,而且也做demo,之所以我們這邊并沒有全部推推廣,也是跟我們的公司的戰(zhàn)略有關(guān)。
現(xiàn)在我們客戶端幾乎是全部是虛擬云桌面,運行在后臺的虛機(jī)上面,如果我們的語音功能在虛機(jī)上運行的話,我的后臺配置要求高,成本也會比較高。當(dāng)然如果運行在普通PC機(jī)上,我們是可以采用全軟化的方式,這個就不會存在我們前面所說的一些瓶頸限定。
還有就是客戶端移動化,我們現(xiàn)在也做了一些嘗試,我們自己開發(fā)了一個APP,座席可在任意地點接入,就可以登錄到系統(tǒng)里面去。只是因業(yè)務(wù)發(fā)展的需求做了一些業(yè)務(wù)的分類,目前只用于外呼。對于呼入,我們現(xiàn)在還沒有去應(yīng)用,呼入會涉及到一些話務(wù)分配的問題,分配到哪個座席,我們要解決他的狀態(tài),這些是一個難點,所以我們現(xiàn)在還沒去規(guī)劃。
但對于外呼業(yè)務(wù)的話,由于主動權(quán)在我們手里,也無嚴(yán)格的分配話務(wù)要求,任何一地點都可以接入,這個可以嘗試,也是在未來的發(fā)展方向,當(dāng)然可能其他廠商或者其他的公司也有一些不同的接入方式,大家可以討論一下。
我今天主要是講一些針對我們攜程自身接地氣的一些技術(shù)實現(xiàn),也是跟業(yè)務(wù)需求做的一些開發(fā)和嘗試。我今天就講這么多,有什么問題大家可以現(xiàn)場問一下。
四、提問環(huán)節(jié)
Q1:我問一下像呼叫中心這個全軟化方向,現(xiàn)在你們有沒有實際的案例或者實際的可用的解決方案是全軟件化的?
沈強(qiáng):這個是有的,我剛才只是講了一個平臺,其實我們公司從14年開始就是多平臺進(jìn)行接入的。現(xiàn)在我們至少有三個平臺,有兩個平臺基于的硬件,基于語音設(shè)備的,第三個平臺全是我們自研的,現(xiàn)在也是基于開源的軟件做了一些開發(fā),連語音交換機(jī)沒有了,基本上實現(xiàn)了全軟的概念。
我們提出了客戶端也是全軟件,這個剛才也講過,我們已經(jīng)實現(xiàn)了,只是我們沒有大規(guī)模推廣,畢竟我們對于客戶端全軟化還是有一些疑惑。如果用上去以后PC機(jī)出了問題,語音也會受到影響,語音在PC機(jī)上處理會不會對PC性能出現(xiàn)影響,導(dǎo)致業(yè)務(wù)處理受影響?我們是結(jié)合這兩點考慮,現(xiàn)在還是做一些線上測試,但是產(chǎn)品的話我們都已經(jīng)全部開發(fā)完了。
Q2:第一個我想問一下就是關(guān)于貴公司現(xiàn)在SIP中繼的使用量?
沈強(qiáng):比例還是比少,因為這也是受制于運營商的一些限定,舉個例子,其實剛開始我們找上海運營商,但是他們不開放。我們也是找其他的地市的運營商,他們也愿意跟我們合作,因此我們當(dāng)時嘗試應(yīng)該是10%左右。
Q3:我們之前的了解,就是SIP應(yīng)用可能,第三方的安全性的話可能有差異,我不知道實際應(yīng)用當(dāng)中會不會有這影響?
沈強(qiáng):是跟運營商協(xié)商過,開始也非常擔(dān)心這個問題,我們當(dāng)時采購語音的安全網(wǎng)關(guān)設(shè)備進(jìn)行保護(hù)。而且我們和運營商是專線連接,用的是內(nèi)網(wǎng)地址,另外當(dāng)時我們討論下,我們安全部認(rèn)為運營商是可信任的一個點,因此繼續(xù)推行這么一個策略。
Q4:我想問一下,就是說攜程這么大規(guī)模的話,就是電話外呼有沒有被運營商封的可能性,如果被封的話怎么處理,針對外呼這塊?
沈強(qiáng):確實,有這個可能性,雖然我們外呼的時候?qū)λ械奶柎a進(jìn)行了備案,但有些用戶在APP中標(biāo)記為騷擾,針對這個問題,一方面我們跟運營商積極協(xié)商,讓他不要封,把號碼加入到白名單里面去。
另外一個如果檢測到這個號碼的呼叫成功率突然降低,或者有問題的話,我們馬上進(jìn)行外呼號碼的切換,這個也是在運營商的號段里面的。如果出現(xiàn)一個號碼被攔截,我們可能換一個運營商進(jìn)行一個切換,采用一個人工和自動相結(jié)合的方法。
Q5:這樣的話,切換會不會影響用戶的接通率?
沈強(qiáng):要看具體的情況,有些用戶只認(rèn)這個號碼,因此可以設(shè)定呼叫不成功時,可以嘗試2-3次。其他的用戶的話,用戶可能這個號碼并不是特別關(guān)注的,因為可能只是一個臨時通知,同時也有短信通知。
還有部分外呼電話是跟酒店一些定單的確認(rèn),他們對這部分都不是很敏感,如果敏感的話我們設(shè)定了至少三個號碼事先通知他們。
Q6:除了電信跟聯(lián)通之外移動線路的話你們也有在用?
沈強(qiáng):也有。
Q7:關(guān)于剛剛您講了對于雙活,話機(jī)也有雙連接的機(jī)制,就是說話機(jī)和客戶端的話都是有這種雙連接的機(jī)制?
沈強(qiáng):只是話機(jī)是雙連接,話機(jī)我們這邊有一個客戶端自己識別關(guān)聯(lián),我這邊能配置到IP話機(jī)和PBX對應(yīng)的分機(jī)號碼的綁定關(guān)系,這些不可能讓話機(jī)自動識別,它非智能的,我們先要設(shè)定好。
Q8:話盒和電腦的是用同一網(wǎng)絡(luò)嗎?
沈強(qiáng):同一網(wǎng)絡(luò)。一個網(wǎng)線,我們交換機(jī)會實現(xiàn),我們知道這兩個MAC地址是綁定一個上面,我們的網(wǎng)絡(luò)團(tuán)隊也做了一些自動化的一些運維工具,識別他的對管理關(guān)系。
Q9:對應(yīng)的這兩個MAC地址是被劃到兩不同的VLAN?
沈強(qiáng):語音和數(shù)據(jù)的話我們是從流量上我們劃了不同的VlAN里面,只是端口識別上我們可以統(tǒng)一識別。
Q10:我們這邊也做異地雙活的時候,關(guān)于座席的分機(jī),簽入的時候,比如說我們上海的呼叫中心,假如說注冊了什么9527這個分機(jī)號,在蘇州的呼叫中心,這個分機(jī)號已經(jīng)用了,在蘇州不能注冊這個分機(jī)號,只能用另外一個號碼,我們會讓用戶,記住兩個分機(jī)號,出現(xiàn)問題是用另一個,但是我們的業(yè)務(wù)不太接受,你讓一個人記兩個號。
沈強(qiáng):我們是系統(tǒng)自動識別的。剛才有一頁可能講到了,我分機(jī)號號碼各自獨立的,我在登錄的時候如果說識別到這個MAC地址的話,我就能獲取對應(yīng)的分機(jī)號碼,我在客戶端的時候跟這個分機(jī)號碼進(jìn)行綁定。
我們的話盒是固定的,事先把這個數(shù)據(jù)兩邊全部備好就可以了,我們以前對模擬話機(jī)也是每個客戶端都需要座席去選擇我這個話機(jī)的號碼,后面全部通過網(wǎng)絡(luò)自動化識別,通過一些事現(xiàn)備注好的數(shù)據(jù),系統(tǒng)自動識別,對于業(yè)務(wù)人員,只需記住自己的域帳號就行,無需關(guān)注分機(jī)號碼。