您當(dāng)前的位置是:  首頁(yè) > 新聞 > 專家觀點(diǎn) >
 首頁(yè) > 新聞 > 專家觀點(diǎn) >

攜程:上萬(wàn)坐席呼叫中心異地雙活架構(gòu)及系統(tǒng)設(shè)計(jì)

2016-12-05 15:17:30   作者:沈強(qiáng)   來(lái)源:高效運(yùn)維   評(píng)論:0  點(diǎn)擊:


  作者簡(jiǎn)介:
  沈強(qiáng):攜程旅行網(wǎng)通信技術(shù)中心高級(jí)經(jīng)理
  擁有十幾年的呼叫中心系統(tǒng)建設(shè)和運(yùn)維管理經(jīng)驗(yàn),經(jīng)歷了攜程呼叫中心系統(tǒng)架構(gòu)的多次轉(zhuǎn)型設(shè)計(jì),使之從單一系統(tǒng)逐步演進(jìn)到異地冗災(zāi)、異地雙活,從單品牌到多平臺(tái)的融合架構(gòu)設(shè)計(jì)。目前負(fù)責(zé)攜程上萬(wàn)座席呼叫中心的產(chǎn)品管理和架構(gòu)設(shè)計(jì)工作。
  序言
  之前,我先拜讀了《Google SRE》這本書的幾個(gè)章節(jié),我對(duì)這些章節(jié)中的內(nèi)容非常認(rèn)同,特別是基于自動(dòng)化運(yùn)維以及故障響應(yīng)時(shí)間的闡述,感同身受。
  今天我講的這個(gè)技術(shù)實(shí)現(xiàn)就是一個(gè)非常接地氣的案例,很好了詮釋了Google SRE的理念,下面我會(huì)結(jié)合攜程實(shí)際的技術(shù)實(shí)現(xiàn)方案,進(jìn)行詳細(xì)的講解。
  今天演講分為三塊內(nèi)容:
  • 首先,介紹一下攜程呼叫中心系統(tǒng)的整體架構(gòu),因?yàn)閿y程主要是以呼叫中心起家,當(dāng)時(shí)呼叫中心占整個(gè)業(yè)務(wù)訂單量70%以上,因此呼叫中心在我們的業(yè)務(wù)里面,起到非常重要作用。
  • 其次,講解一下攜程呼叫中心異地雙活的架構(gòu),整個(gè)過(guò)程中會(huì)涉及到各個(gè)層面的雙活架構(gòu)設(shè)計(jì)。
  • 最后,講解一下座席介入端的異地雙活的系統(tǒng)設(shè)計(jì)。
  一、呼叫中心在攜程
  就像剛才舉手的同學(xué)不是特別多,大家對(duì)呼叫中心這個(gè)系統(tǒng)還不是特別了解,因此我先簡(jiǎn)單介紹一下呼叫中心的基本的架構(gòu),由于各個(gè)廠家或者說(shuō)各個(gè)公司對(duì)于呼叫中心的設(shè)計(jì)不一樣,可能會(huì)有一些架構(gòu)不一樣,因此此次基本上以攜程的基本架構(gòu)作為一個(gè)模板進(jìn)行的說(shuō)明。
  對(duì)于呼叫中心系統(tǒng),主要一個(gè)系統(tǒng)就是PBX系統(tǒng),這個(gè)PBX,類似于運(yùn)營(yíng)商的語(yǔ)音交換機(jī),只是用于企業(yè)端,功能比較簡(jiǎn)單一點(diǎn),主要實(shí)現(xiàn)語(yǔ)音媒體的處理和呼叫排隊(duì)。
  第二個(gè)系統(tǒng)就是CTI系統(tǒng),就是電話和電腦的集成,等于是我們?cè)陔娔X和電話之間建立的一個(gè)中間件,還包括IVR,錄音等系統(tǒng),當(dāng)然有些平臺(tái)這些系統(tǒng)會(huì)從CTI中獨(dú)立出來(lái)。
  最后一點(diǎn)就是CRM系統(tǒng),當(dāng)然各個(gè)企業(yè)業(yè)務(wù)定義不同,攜程的CRM是一個(gè)訂單的業(yè)務(wù)系統(tǒng),包括酒店、機(jī)票、度假等等?赡茉谶\(yùn)營(yíng)商,他們更多是一個(gè)客服系統(tǒng),這里面會(huì)有業(yè)務(wù)差別,但從整體架構(gòu)上面來(lái)說(shuō)其實(shí)都是相似的,以下是架構(gòu)圖。
\
  在這個(gè)架構(gòu)圖中,描述了PBX,CTI和CRM的組網(wǎng)結(jié)構(gòu)和關(guān)系圖,另外我們?cè)黾恿诉h(yuǎn)程座席和在家辦公,上海的成本越來(lái)越高,很多的座席希望回家鄉(xiāng)上班,但是沒(méi)有一個(gè)好的工作或者是一個(gè)相對(duì)合適的平臺(tái)。對(duì)于在家辦公而言,大家花在交通上的成本很高,希望能在家辦公,這也是借鑒從美國(guó)引進(jìn)的一些成熟理念,因此我們新增這兩種座席辦公的途徑。
  前面介紹了一些呼叫中心的架構(gòu),下面講解一下攜程呼叫中心的一些高可用架構(gòu)相關(guān)大紀(jì)事。
\
  攜程呼叫中心成立以來(lái),總共經(jīng)歷了三次大的調(diào)整,第一次是2007年公司大樓搬遷,呼叫中心系統(tǒng)也要搬遷到新大樓,由于當(dāng)時(shí)系統(tǒng)硬件的設(shè)計(jì)限制和成本考慮,無(wú)法做到無(wú)縫搬遷,所以搬遷過(guò)程中我們整個(gè)呼叫中心業(yè)務(wù)中斷了兩個(gè)小時(shí)。這兩個(gè)小時(shí)中斷從現(xiàn)在來(lái)說(shuō)可能是不可想象的,說(shuō)明當(dāng)時(shí)我們的高可用架構(gòu)還不夠完善。
  第二次調(diào)整是2010年,我們?cè)谀贤ń艘粋(gè)新的大樓,同時(shí)我們也按新架構(gòu)重構(gòu)了呼叫中心系統(tǒng),從平臺(tái)上實(shí)現(xiàn)了異地雙活設(shè)計(jì),并且將中繼路由以及其他業(yè)務(wù)進(jìn)行模塊化的分拆,各模塊之間全部通過(guò)SIP協(xié)議進(jìn)行連接,每個(gè)模塊之間再采用異地雙活的設(shè)計(jì),因此各個(gè)模塊可以在異地靈活組合搭配,充分體現(xiàn)系統(tǒng)可靠性。
  最后當(dāng)系統(tǒng)正式啟用的后,兩地系統(tǒng)同時(shí)工作,對(duì)業(yè)務(wù)沒(méi)有任何影響,系統(tǒng)無(wú)縫銜接。
  最后一次是今年,我們?cè)谏习肽陮?duì)座席客戶端進(jìn)行了一個(gè)改造,因?yàn)樵任覀冊(cè)谧鲈O(shè)計(jì)的時(shí)候,平臺(tái)這邊我們都已經(jīng)做到了全部的異地雙活,但是在客戶端由于歷史的原因,我們的一些分機(jī)全部是模擬的線路,模擬的線路如果想異地切換的話,技術(shù)上沒(méi)法實(shí)現(xiàn)。
  因此我們從2014年進(jìn)行統(tǒng)一登錄平臺(tái)的建設(shè),經(jīng)歷一年多的一些優(yōu)化和改進(jìn),我們?cè)诮衲晟习肽昃蛯?shí)現(xiàn)了一個(gè)座席端的異地雙活的設(shè)計(jì)。
  二、呼叫中心異地雙活架構(gòu)簡(jiǎn)介
  剛才對(duì)攜程的呼叫中心系統(tǒng)做了一個(gè)簡(jiǎn)短的介紹,下面把呼叫中心異地雙活的架構(gòu)設(shè)計(jì)做一下簡(jiǎn)單的描述。
  異地雙活衡量標(biāo)準(zhǔn),我們從自己的業(yè)務(wù)的角度定了兩個(gè)級(jí)別的標(biāo)準(zhǔn):
  • 區(qū)別異地災(zāi)備
  • 故障恢復(fù)時(shí)間
  當(dāng)出現(xiàn)故障時(shí),我們啟用備份,但經(jīng)常出現(xiàn)備份無(wú)法正常工作,或者不能完全接替主應(yīng)用。而雙活我們是兩個(gè)系統(tǒng)實(shí)時(shí)存活的,切換時(shí),只是負(fù)載增加,其他的功能模塊都一樣。對(duì)于故障恢復(fù)時(shí)間,我們希望故障恢復(fù)快速,只有快速恢復(fù),對(duì)用戶幾乎透明或無(wú)感知,才是真正的雙活。
  我們根據(jù)這兩個(gè)概念定義了一個(gè)我們的架構(gòu)分層或者說(shuō)這個(gè)技術(shù)實(shí)現(xiàn)的一個(gè)標(biāo)準(zhǔn)。
  針對(duì)這兩個(gè)標(biāo)準(zhǔn)我們將系統(tǒng)分成三個(gè)層面進(jìn)行設(shè)計(jì)實(shí)現(xiàn):
  • 公網(wǎng)接入層
  • 應(yīng)用層
  • 座席接入層
  \
  公網(wǎng)接入層和運(yùn)營(yíng)商線路相關(guān),雙活設(shè)計(jì)原理很簡(jiǎn)單,基本上都是在運(yùn)營(yíng)商端配置,主要涉及以下內(nèi)容:
  • 話務(wù)中繼兩地接入
  • 智能網(wǎng)平臺(tái)(可配置三個(gè)路由)
  • 按百分比/主叫號(hào)碼區(qū)域
  • SIP語(yǔ)音中繼
  只是對(duì)運(yùn)營(yíng)商,如果不提出你的一些想法和設(shè)計(jì)要求的話,他也不一定幫你去做,因?yàn)檫@樣對(duì)他的成本會(huì)高很多。我們當(dāng)時(shí)在上海和南通兩地分別找了電信和聯(lián)通,總共四家運(yùn)營(yíng)商。對(duì)于運(yùn)營(yíng)商我們要求上海和南通分別都有中繼接入的,然后通過(guò)運(yùn)營(yíng)商的智能網(wǎng)平臺(tái)將我們的話務(wù)進(jìn)行分配。
  運(yùn)營(yíng)商智能網(wǎng)平臺(tái)有多個(gè)話務(wù)分流的策略,可以根據(jù)你的需求進(jìn)行話務(wù)的分配:按百分比進(jìn)行分配,或按照主叫號(hào)碼歸屬的區(qū)域進(jìn)行分配。這樣企業(yè)可以根據(jù)自己的業(yè)務(wù)需求,規(guī)劃自己的話務(wù)分配邏輯設(shè)計(jì)。
  我們考慮到話務(wù)費(fèi)用成本問(wèn)題,采用了根據(jù)主機(jī)號(hào)碼所處的區(qū)域進(jìn)行分布的策略。因?yàn)槲覀儾幌M虾5脑拕?wù)分配到南通,產(chǎn)生長(zhǎng)途費(fèi)用。
  運(yùn)營(yíng)商還有一個(gè)先進(jìn)的技術(shù)方案,就是SIP中繼接入。這個(gè)概念和方案其實(shí)很早就提出來(lái)了,只是運(yùn)營(yíng)商考慮技術(shù)風(fēng)險(xiǎn),當(dāng)時(shí)一直在運(yùn)營(yíng)商內(nèi)部使用,沒(méi)有對(duì)外推廣。我們和運(yùn)營(yíng)商進(jìn)行一些技術(shù)溝通,最終嘗試接入SIP中繼,在兩個(gè)機(jī)房分別接入了一個(gè)SIP中繼群,負(fù)載均衡,光纖接入。
  達(dá)到的效果就是線路快速擴(kuò)容,無(wú)需重新施工,只需后臺(tái)參數(shù)配置即可。線路主備快速切換,無(wú)需事先部署備份額外線路資源。如傳統(tǒng)的中繼接進(jìn)來(lái),我的話務(wù)要切到另外一邊去,這個(gè)時(shí)候如果沒(méi)有足夠的線路資源的話,而話務(wù)量還是原先那么多,那就會(huì)存在電話呼損。
  而如果事先預(yù)留資源的話,一直放著沒(méi)用的,成本比較高。采用光線接入,直接就是百兆接入,資源充足,先期投入也就是新增幾根網(wǎng)線,切換也非常方便,而且我們這邊部署簡(jiǎn)單,無(wú)須中繼網(wǎng)關(guān)和中繼線路,只須網(wǎng)絡(luò)交換機(jī)進(jìn)行數(shù)據(jù)接入即可。這個(gè)方案我們當(dāng)初跟運(yùn)營(yíng)商談判時(shí),估計(jì)當(dāng)時(shí)也是第一家運(yùn)營(yíng)商正式開通SIP中繼的公司。
  總體而言,公網(wǎng)接入層除了SIP中繼外,其他在我們企業(yè)端的設(shè)備部署也比較簡(jiǎn)單,就是兩地部署,所有的線路均衡分配到不同的設(shè)備上,預(yù)防單設(shè)備故障。并且都上聯(lián)到我們南通上海核心交換,由核心系統(tǒng)進(jìn)行異地調(diào)度。
  第二層是應(yīng)用層,其實(shí)原理和互聯(lián)網(wǎng)WEB應(yīng)用都是相似的,細(xì)節(jié)就不再展開,唯一需要說(shuō)明的就是我們的應(yīng)用層跟我們的核心交換層,他是一個(gè)靜態(tài)配置,就是我們?cè)染椭朴喓昧艘粋(gè)路由策略,本地訪問(wèn),優(yōu)先訪問(wèn)本地集群,如果出現(xiàn)故障,可以通過(guò)路由到異地的集群去,配置非常簡(jiǎn)單。
  我們的四個(gè)核心也是fullmapping設(shè)計(jì),這四套我們分別部署在兩地,兩地都是雙活的架構(gòu),任何一地出現(xiàn)問(wèn)題,都不影響所有的業(yè)務(wù)。這個(gè)設(shè)計(jì)我們和GoogleSRE的介紹的理念一致,并且我們每年都會(huì)進(jìn)行冗災(zāi)演練,把核心關(guān)掉,或者把集群關(guān)掉,進(jìn)行觀察驗(yàn)證。
  第三層就是客戶端接入層,也是我們項(xiàng)目的實(shí)施的重點(diǎn),主要講一下三種客戶端注冊(cè)登錄方式:
  • 雙中心連接
  • 輪詢技術(shù)
  • 負(fù)載均衡
  因?yàn)楹艚兄行乃幸粋(gè)語(yǔ)音線路,一個(gè)話機(jī),我們?cè)O(shè)計(jì)的雙中心連接的方法,就是我的話機(jī)同時(shí)接入到兩個(gè)中心里面去,同時(shí)有效,按需切換。另外一個(gè)就是輪詢技術(shù),訪問(wèn)應(yīng)用服務(wù)器,主系統(tǒng)有問(wèn)題可以自動(dòng)訪問(wèn)第二個(gè)。最后一個(gè)就是負(fù)載均衡,這個(gè)就不多說(shuō)了,WEB應(yīng)用訪問(wèn)。這三個(gè)技術(shù)其實(shí)我們?cè)谡麄(gè)客戶端都采用了。
  座席端接入異地雙活的必要性
\
  下面講一下座席接入端異地雙活的必要性,攜程總共有一萬(wàn)多的座席,如果一地系統(tǒng)出現(xiàn)重大故障,業(yè)務(wù)影響非常大。我們?cè)谶@方面有很多的經(jīng)驗(yàn)教訓(xùn)。在2014年,我們運(yùn)維同事去機(jī)房進(jìn)行巡檢,結(jié)果由于工作機(jī)電源線路短路,又正好觸發(fā)了電源的設(shè)計(jì)中一個(gè)bug,導(dǎo)致二級(jí)開關(guān)跳閘,當(dāng)時(shí)我們整個(gè)呼叫中心一個(gè)大的部門業(yè)務(wù)全部垮掉了。
  雖然我們快速把電源恢復(fù)起來(lái),但是有些系統(tǒng)恢復(fù)不了,經(jīng)過(guò)排查,發(fā)現(xiàn)是一些設(shè)備由于異常斷電而損壞,導(dǎo)致我們花了很長(zhǎng)時(shí)間處理這個(gè)問(wèn)題。故障時(shí),系統(tǒng)所在地我們有大量的座席,他們沒(méi)法進(jìn)行工作,而在另外一地系統(tǒng)即使我們把當(dāng)?shù)厮械娜藛T加進(jìn)去都沒(méi)法解決人員不足這個(gè)問(wèn)題。
  后續(xù)把故障的硬件設(shè)備排除后,系統(tǒng)恢復(fù),但我們花了將近兩個(gè)小時(shí),這個(gè)業(yè)務(wù)影響很大,對(duì)我們的觸動(dòng)也特別大,如果那個(gè)時(shí)候座席異地雙活能實(shí)現(xiàn),直接登錄到異地系統(tǒng),這個(gè)業(yè)務(wù)影響就會(huì)避免掉。
  第二個(gè)就是業(yè)務(wù)需求,其實(shí)所有的業(yè)務(wù)需求類似于我們的計(jì)劃內(nèi)的系統(tǒng)的一個(gè)調(diào)整,這方面我們也有一個(gè)真實(shí)的故事,也是在去年夏天的時(shí)候,臺(tái)風(fēng)當(dāng)時(shí)特別大,全市學(xué)校都停課。
  我們大樓的物業(yè)說(shuō),這個(gè)臺(tái)風(fēng)可能會(huì)造成我們機(jī)房這邊的漏水,所以決定在臺(tái)風(fēng)來(lái)的時(shí)候,把這個(gè)機(jī)房全部停電。我們當(dāng)時(shí)所有的設(shè)備都在這個(gè)機(jī)房,我們這邊也很頭疼,經(jīng)過(guò)協(xié)商以后,物業(yè)說(shuō)還是不行,風(fēng)險(xiǎn)太大。
  我們這邊不得不安排了技術(shù)人員去通宵加班,在異地系統(tǒng)新增配置全部的數(shù)據(jù),計(jì)劃讓我們的上海的座席登到異地系統(tǒng)上,花了一個(gè)通宵才把數(shù)據(jù)配好。
  第二天,由于臺(tái)風(fēng)沒(méi)有預(yù)期到來(lái),因此沒(méi)有實(shí)施這個(gè)方案,我們配置數(shù)據(jù)效果也沒(méi)有驗(yàn)證過(guò)是否可靠,而我們花了大量的時(shí)間做這些應(yīng)急處理,如果說(shuō)當(dāng)時(shí)系統(tǒng)能夠登錄到異地的話,這些工作我們都可以省下來(lái),而且系統(tǒng)的可靠性也更高。
  經(jīng)歷的這幾個(gè)點(diǎn),是我們深有感觸的一些痛點(diǎn),因此我們花了很多的精力整改這一套系統(tǒng),做到客戶端的異地雙活接入。
  三、呼叫中心座席介入異地雙活
  座席端異地接入前提條件:
  • 話務(wù)多地接入,可全局分配
  • 座席一地簽入,可接全局話務(wù)
  • 話機(jī)IP化
  話務(wù)多地接入,可全局分配,如果不能全局分配的話,座席異地登錄后,就不能接聽全局的電話。另外座席一地簽入以后,可以接全局的話務(wù),這里有一個(gè)話務(wù)分配的策略,這樣才能保證我們座席在任意地方簽入,都能接聽我們所有的話務(wù)。
  當(dāng)然最重要的一點(diǎn)就是IP話機(jī),我們?cè)葲](méi)這么做就是因?yàn)槟M話機(jī)無(wú)法實(shí)現(xiàn)兩地注冊(cè),而IP話機(jī)可以預(yù)先注冊(cè)登錄,并且可以實(shí)現(xiàn)自動(dòng)化。這是我們?nèi)齻(gè)前提條件。
  客戶端異地雙活難點(diǎn):
  • 話機(jī)注冊(cè)問(wèn)題
  • 客戶端登錄問(wèn)題
  • 資源配置問(wèn)題
  話機(jī)注冊(cè)問(wèn)題,以前的話機(jī)是模擬線路,只能對(duì)應(yīng)一個(gè)分機(jī),并注冊(cè)到一個(gè)后臺(tái)系統(tǒng),物理線路和系統(tǒng)一一對(duì)應(yīng),而雙活則必須同時(shí)能注冊(cè)到至少兩個(gè)平臺(tái)上,且能自動(dòng)切換,以前的系統(tǒng)不支持。
  座席登錄問(wèn)題,座席是一個(gè)點(diǎn)對(duì)點(diǎn),一個(gè)長(zhǎng)連接的狀態(tài),座席通過(guò)一個(gè)操作員號(hào)登錄CTI,就和PBX中的一個(gè)話機(jī)進(jìn)行綁定,因此登錄后就是一個(gè)常態(tài)的固定綁定關(guān)系。
  如果切換系統(tǒng),必須要重新更換一個(gè)新系統(tǒng)的操作員號(hào)進(jìn)行登錄,分機(jī)也要重新注冊(cè)到新系統(tǒng),這個(gè)必須人為去進(jìn)行操作,業(yè)務(wù)、報(bào)表等等都要受到影響。且以前出現(xiàn)問(wèn)題是人工去操作,一萬(wàn)多座席進(jìn)行調(diào)整,難度還是很大,而且會(huì)出現(xiàn)很多的偏差。
  因此如果沒(méi)有一個(gè)自動(dòng)化的措施,而是座席人工操作,根本不知道配置什么數(shù)據(jù),會(huì)一片混亂,這是一個(gè)痛點(diǎn)。所以座席登錄我們也是希望做到自動(dòng)識(shí)別,自動(dòng)完成,不需要人工干預(yù)。這也是我們的難點(diǎn)之一。
  第三點(diǎn)是資源配置的問(wèn)題,我在A城市訪問(wèn)B城市,原先的資源都是各自配置各自,各自登錄,相互獨(dú)立,現(xiàn)在我們需要座席異地登錄時(shí)能無(wú)縫,則需實(shí)現(xiàn)兩地配置自動(dòng)互通,而不是再去人工干預(yù)。
  統(tǒng)一登錄
  如果能解決以上這幾個(gè)問(wèn)題,則我們的就能實(shí)現(xiàn)座席接入異地雙活了。以下我們來(lái)講一下我們針對(duì)這三個(gè)問(wèn)題的解決過(guò)程。
  話機(jī)注冊(cè)問(wèn)題,以前是模擬線路,無(wú)法實(shí)現(xiàn),此次改造我們首先更換成IP話機(jī)。而且現(xiàn)在話機(jī)廠商很多,只要選定廠商,能配置雙線路(A線、B線),你配置好以后,只要A線和B線雙活,配合客戶端軟件的聯(lián)動(dòng)機(jī)制和心跳檢測(cè)機(jī)制,由客戶端自由選擇,就可實(shí)現(xiàn)話機(jī)綁定關(guān)系,F(xiàn)在有很多廠家支持這類配置,通過(guò)招標(biāo)選型基本上不是問(wèn)題。
\
  座席登錄的問(wèn)題,座席怎么去自動(dòng)識(shí)別和登錄,這也是我們花了很多的時(shí)間和精力去處理的一個(gè)業(yè)務(wù)邏輯。統(tǒng)一登錄,顧名思義,座席不管在哪里,用唯一的帳號(hào)就可以登錄。
  • ITDB
  • IP話機(jī)MAC與分機(jī)號(hào)映射
  • 座席虛擬ID(內(nèi)部資源)
  • 座席工號(hào)與域帳號(hào)關(guān)系表
  • 座席工號(hào)動(dòng)態(tài)使用(資源池)
  ITDB,我們的實(shí)現(xiàn)過(guò)程,首先我們自己IT部門建立的一個(gè)ITDB資源庫(kù),就是對(duì)我們管理IT設(shè)備進(jìn)行自動(dòng)關(guān)聯(lián),包括我們的話機(jī)、PC機(jī)信息、座位號(hào)等,都是通過(guò)我們的系統(tǒng)可自動(dòng)實(shí)時(shí)識(shí)別,自動(dòng)更新。
  如一個(gè)話機(jī)接入網(wǎng)絡(luò)以后,可以通過(guò)網(wǎng)絡(luò)接口識(shí)別到話機(jī)MAC地址,同時(shí)可以識(shí)別PC的MAC地址(話機(jī)和PC共用一個(gè)網(wǎng)口),并進(jìn)行綁定關(guān)聯(lián),再根據(jù)ITDB中配置的話機(jī)MAC地址對(duì)應(yīng)的分機(jī)號(hào)碼,PC的MAC地址對(duì)應(yīng)的機(jī)器名,就可以把PC的機(jī)器名和話機(jī)號(hào)碼進(jìn)行關(guān)聯(lián),座席客戶端登錄時(shí)通過(guò)獲取PC機(jī)器名的同時(shí)獲取到話機(jī)分機(jī)號(hào)碼。
  座席虛擬ID,前面講過(guò)我們的座席要用操作員號(hào)要登錄到CTI中去,要正常登錄的話首先要配置好相關(guān)的數(shù)據(jù),包括PBX中的數(shù)據(jù)。如果你想換一套呼叫中心的系統(tǒng),這個(gè)數(shù)據(jù)要重配,包括CTI和PBX中的數(shù)據(jù)。
  因此如果要實(shí)現(xiàn)在兩套呼叫中心都能登錄,則必須兩套都要事先配置好數(shù)據(jù),這樣會(huì)造成很多的冗余數(shù)據(jù),人員信息也不統(tǒng)一,容易造成數(shù)據(jù)的偏差。因此我們建立的一個(gè)虛擬ID,這個(gè)ID跟CTI和PBX系統(tǒng)沒(méi)有直接關(guān)系,只是中間過(guò)渡銜接的模式,但和座席人員是唯一綁定。
  這樣把整個(gè)CTI的操作員號(hào)資源變成一個(gè)動(dòng)態(tài)的資源池,不再和座席人員固定,根據(jù)座席登錄的實(shí)時(shí)需要再去動(dòng)態(tài)獲取。獲取后可以保留一定時(shí)間,類似DHCP獲取IP地址,到了設(shè)定時(shí)間,自動(dòng)的釋放這個(gè)資源。這樣我們用虛擬ID把座席人員和呼叫中心系統(tǒng)資源解綁,使座席人員和呼叫中心系統(tǒng)無(wú)強(qiáng)耦合關(guān)系。
  后續(xù)我們將虛擬ID和域帳號(hào)進(jìn)行綁定,讓后根據(jù)HR系統(tǒng)中域帳號(hào)對(duì)應(yīng)員工信息確定員工業(yè)務(wù)屬性,確定他歸屬哪個(gè)技能組,自此虛擬ID獲取了座席業(yè)務(wù)屬性,并建立了域帳號(hào)和操作員工號(hào)(技能組)的邏輯關(guān)系。
  座席通過(guò)域帳號(hào)登錄時(shí),將業(yè)務(wù)屬性告知給CTI,CTI根據(jù)定義好的邏輯分配一個(gè)對(duì)應(yīng)技能組的動(dòng)態(tài)操作員工號(hào)給域帳號(hào)進(jìn)行關(guān)聯(lián),并用分配的操作員工號(hào)登錄CTI,同時(shí)結(jié)合ITDB獲取的信息關(guān)聯(lián)到話機(jī),完成了自動(dòng)登錄。
  通過(guò)統(tǒng)一登錄將座席員工和CTI/PBX資源進(jìn)行了分離和動(dòng)態(tài)分配。當(dāng)系統(tǒng)出現(xiàn)故障時(shí),可按照業(yè)務(wù)邏輯到另外的系統(tǒng)并重新獲取一個(gè)動(dòng)態(tài)操作員號(hào)并重新登錄,實(shí)現(xiàn)了容災(zāi)處理。
  資源配置的問(wèn)題:
  • 在雙中心的統(tǒng)一登錄平臺(tái)中配置全部座席虛擬ID
  • 雙中心IP話機(jī)的MAC信息共享
  • 分機(jī)號(hào)碼各自獨(dú)立
  對(duì)異地雙活整個(gè)邏輯了解以后,我們講一下心跳監(jiān)控聯(lián)動(dòng)策略:
  • Client-CTI-PBX-IP話機(jī)聯(lián)動(dòng)
  • 二次確認(rèn),預(yù)防誤判
  • 故障確認(rèn),異地登錄
  • 全程自動(dòng),用戶透明
  這個(gè)機(jī)制其實(shí)就是我們這邊設(shè)置的座席客戶端,CTI,PBX以及IP話機(jī)實(shí)時(shí)的聯(lián)動(dòng),當(dāng)任何一個(gè)設(shè)備出現(xiàn)問(wèn)題,通過(guò)心跳機(jī)制,互相之間檢測(cè)到這個(gè)故障,并發(fā)出一個(gè)消息確認(rèn),以便進(jìn)行整個(gè)呼叫的調(diào)整。
  另外在檢測(cè)的時(shí)候,擔(dān)心可能網(wǎng)絡(luò)抖動(dòng)或者是意外情況,做二次確認(rèn),故障確認(rèn)以后,我們便可以異地登錄,而整個(gè)過(guò)程對(duì)座席來(lái)說(shuō)基本無(wú)感知的,整個(gè)是過(guò)程全程自動(dòng),用戶透明。
  我這里整理了一張內(nèi)部統(tǒng)一登錄邏輯圖
\
  這個(gè)邏輯圖,圖中表述了座席登錄的三種狀態(tài),第一種狀態(tài)就是在已登錄狀態(tài)(綠色這一部分),在已登錄的時(shí)候,檢測(cè)到話機(jī)出現(xiàn)故障,會(huì)發(fā)起一個(gè)請(qǐng)求,如果說(shuō)第二次請(qǐng)求是OK,保持狀態(tài)不變,如果發(fā)現(xiàn)有問(wèn)題,直接觸發(fā)統(tǒng)一登錄請(qǐng)求登錄,如果說(shuō)異地請(qǐng)求登錄OK的話,會(huì)向異地發(fā)消息登錄成功的。
  如果異地登錄的時(shí)候發(fā)現(xiàn)還是失敗,兩地同時(shí)失敗,那基本上你話機(jī)本身的問(wèn)題。如果是話機(jī)本身的問(wèn)題,基本上會(huì)認(rèn)為是一個(gè)單點(diǎn)故障,問(wèn)題不是很大。
  另外兩種狀態(tài)就是在登錄過(guò)程中發(fā)現(xiàn)問(wèn)題,如果是CTI出現(xiàn)問(wèn)題,則會(huì)直接向異地進(jìn)行登錄請(qǐng)求,如果是統(tǒng)一登錄平臺(tái)出現(xiàn)了問(wèn)題,我們會(huì)進(jìn)行二次確認(rèn),如果二次確認(rèn)登錄不成功的話,則會(huì)向異地再發(fā)起一個(gè)請(qǐng)求,進(jìn)行異地登錄。
  技術(shù)特點(diǎn):
  • 支持故障情況下在線座席自動(dòng)雙活切換
  • 支持按系統(tǒng)、按地域、按座席技能組等不同維護(hù)進(jìn)行計(jì)劃內(nèi)的手工切換
  • 支持1000+并發(fā)在線座席異地雙活自動(dòng)切換
  演練效果:
  我們當(dāng)時(shí)做了一個(gè)演練,這個(gè)演練也比較符合Google的一個(gè)理念,定期演練并根據(jù)演練結(jié)果進(jìn)行修正。在做演練過(guò)程中,你會(huì)發(fā)現(xiàn)計(jì)劃內(nèi)目標(biāo)是否完成的,是否有一些計(jì)劃外的事情。而在實(shí)際演練中也確實(shí)發(fā)現(xiàn)跟我們計(jì)劃稍微有點(diǎn)出入,具體數(shù)據(jù)如下:
\
  后期我們針對(duì)演練發(fā)現(xiàn)的問(wèn)題,進(jìn)行了修復(fù)和調(diào)整,并在測(cè)試環(huán)境進(jìn)行壓測(cè)驗(yàn)證,最終實(shí)現(xiàn)1000+座席自動(dòng)切換在2分鐘內(nèi)全部完成。
  未來(lái)
  • 未來(lái)的方向,這也是我們公司目前正在做的兩個(gè)方向
  • 客戶端全軟件化,取消硬件電話限制
  • 客戶端移動(dòng)化,任意地點(diǎn)可接入
  客戶端全軟件化,其實(shí)現(xiàn)在的很多的都已經(jīng)全軟化的,全部在軟件上實(shí)現(xiàn),這個(gè)從技術(shù)上我們?cè)趪L試,而且也做demo,之所以我們這邊并沒(méi)有全部推推廣,也是跟我們的公司的戰(zhàn)略有關(guān)。
  現(xiàn)在我們客戶端幾乎是全部是虛擬云桌面,運(yùn)行在后臺(tái)的虛機(jī)上面,如果我們的語(yǔ)音功能在虛機(jī)上運(yùn)行的話,我的后臺(tái)配置要求高,成本也會(huì)比較高。當(dāng)然如果運(yùn)行在普通PC機(jī)上,我們是可以采用全軟化的方式,這個(gè)就不會(huì)存在我們前面所說(shuō)的一些瓶頸限定。
  還有就是客戶端移動(dòng)化,我們現(xiàn)在也做了一些嘗試,我們自己開發(fā)了一個(gè)APP,座席可在任意地點(diǎn)接入,就可以登錄到系統(tǒng)里面去。只是因業(yè)務(wù)發(fā)展的需求做了一些業(yè)務(wù)的分類,目前只用于外呼。對(duì)于呼入,我們現(xiàn)在還沒(méi)有去應(yīng)用,呼入會(huì)涉及到一些話務(wù)分配的問(wèn)題,分配到哪個(gè)座席,我們要解決他的狀態(tài),這些是一個(gè)難點(diǎn),所以我們現(xiàn)在還沒(méi)去規(guī)劃。
  但對(duì)于外呼業(yè)務(wù)的話,由于主動(dòng)權(quán)在我們手里,也無(wú)嚴(yán)格的分配話務(wù)要求,任何一地點(diǎn)都可以接入,這個(gè)可以嘗試,也是在未來(lái)的發(fā)展方向,當(dāng)然可能其他廠商或者其他的公司也有一些不同的接入方式,大家可以討論一下。
  我今天主要是講一些針對(duì)我們攜程自身接地氣的一些技術(shù)實(shí)現(xiàn),也是跟業(yè)務(wù)需求做的一些開發(fā)和嘗試。我今天就講這么多,有什么問(wèn)題大家可以現(xiàn)場(chǎng)問(wèn)一下。
  四、提問(wèn)環(huán)節(jié)
  Q1:我問(wèn)一下像呼叫中心這個(gè)全軟化方向,現(xiàn)在你們有沒(méi)有實(shí)際的案例或者實(shí)際的可用的解決方案是全軟件化的?
  沈強(qiáng):這個(gè)是有的,我剛才只是講了一個(gè)平臺(tái),其實(shí)我們公司從14年開始就是多平臺(tái)進(jìn)行接入的,F(xiàn)在我們至少有三個(gè)平臺(tái),有兩個(gè)平臺(tái)基于的硬件,基于語(yǔ)音設(shè)備的,第三個(gè)平臺(tái)全是我們自研的,現(xiàn)在也是基于開源的軟件做了一些開發(fā),連語(yǔ)音交換機(jī)沒(méi)有了,基本上實(shí)現(xiàn)了全軟的概念。
  我們提出了客戶端也是全軟件,這個(gè)剛才也講過(guò),我們已經(jīng)實(shí)現(xiàn)了,只是我們沒(méi)有大規(guī)模推廣,畢竟我們對(duì)于客戶端全軟化還是有一些疑惑。如果用上去以后PC機(jī)出了問(wèn)題,語(yǔ)音也會(huì)受到影響,語(yǔ)音在PC機(jī)上處理會(huì)不會(huì)對(duì)PC性能出現(xiàn)影響,導(dǎo)致業(yè)務(wù)處理受影響?我們是結(jié)合這兩點(diǎn)考慮,現(xiàn)在還是做一些線上測(cè)試,但是產(chǎn)品的話我們都已經(jīng)全部開發(fā)完了。
  Q2:第一個(gè)我想問(wèn)一下就是關(guān)于貴公司現(xiàn)在SIP中繼的使用量?
  沈強(qiáng):比例還是比少,因?yàn)檫@也是受制于運(yùn)營(yíng)商的一些限定,舉個(gè)例子,其實(shí)剛開始我們找上海運(yùn)營(yíng)商,但是他們不開放。我們也是找其他的地市的運(yùn)營(yíng)商,他們也愿意跟我們合作,因此我們當(dāng)時(shí)嘗試應(yīng)該是10%左右。
  Q3:我們之前的了解,就是SIP應(yīng)用可能,第三方的安全性的話可能有差異,我不知道實(shí)際應(yīng)用當(dāng)中會(huì)不會(huì)有這影響?
  沈強(qiáng):是跟運(yùn)營(yíng)商協(xié)商過(guò),開始也非常擔(dān)心這個(gè)問(wèn)題,我們當(dāng)時(shí)采購(gòu)語(yǔ)音的安全網(wǎng)關(guān)設(shè)備進(jìn)行保護(hù)。而且我們和運(yùn)營(yíng)商是專線連接,用的是內(nèi)網(wǎng)地址,另外當(dāng)時(shí)我們討論下,我們安全部認(rèn)為運(yùn)營(yíng)商是可信任的一個(gè)點(diǎn),因此繼續(xù)推行這么一個(gè)策略。
  Q4:我想問(wèn)一下,就是說(shuō)攜程這么大規(guī)模的話,就是電話外呼有沒(méi)有被運(yùn)營(yíng)商封的可能性,如果被封的話怎么處理,針對(duì)外呼這塊?
  沈強(qiáng):確實(shí),有這個(gè)可能性,雖然我們外呼的時(shí)候?qū)λ械奶?hào)碼進(jìn)行了備案,但有些用戶在APP中標(biāo)記為騷擾,針對(duì)這個(gè)問(wèn)題,一方面我們跟運(yùn)營(yíng)商積極協(xié)商,讓他不要封,把號(hào)碼加入到白名單里面去。
  另外一個(gè)如果檢測(cè)到這個(gè)號(hào)碼的呼叫成功率突然降低,或者有問(wèn)題的話,我們馬上進(jìn)行外呼號(hào)碼的切換,這個(gè)也是在運(yùn)營(yíng)商的號(hào)段里面的。如果出現(xiàn)一個(gè)號(hào)碼被攔截,我們可能換一個(gè)運(yùn)營(yíng)商進(jìn)行一個(gè)切換,采用一個(gè)人工和自動(dòng)相結(jié)合的方法。
  Q5:這樣的話,切換會(huì)不會(huì)影響用戶的接通率?
  沈強(qiáng):要看具體的情況,有些用戶只認(rèn)這個(gè)號(hào)碼,因此可以設(shè)定呼叫不成功時(shí),可以嘗試2-3次。其他的用戶的話,用戶可能這個(gè)號(hào)碼并不是特別關(guān)注的,因?yàn)榭赡苤皇且粋(gè)臨時(shí)通知,同時(shí)也有短信通知。
  還有部分外呼電話是跟酒店一些定單的確認(rèn),他們對(duì)這部分都不是很敏感,如果敏感的話我們?cè)O(shè)定了至少三個(gè)號(hào)碼事先通知他們。
  Q6:除了電信跟聯(lián)通之外移動(dòng)線路的話你們也有在用?
  沈強(qiáng):也有。
  Q7:關(guān)于剛剛您講了對(duì)于雙活,話機(jī)也有雙連接的機(jī)制,就是說(shuō)話機(jī)和客戶端的話都是有這種雙連接的機(jī)制?
  沈強(qiáng):只是話機(jī)是雙連接,話機(jī)我們這邊有一個(gè)客戶端自己識(shí)別關(guān)聯(lián),我這邊能配置到IP話機(jī)和PBX對(duì)應(yīng)的分機(jī)號(hào)碼的綁定關(guān)系,這些不可能讓話機(jī)自動(dòng)識(shí)別,它非智能的,我們先要設(shè)定好。
  Q8:話盒和電腦的是用同一網(wǎng)絡(luò)嗎?
  沈強(qiáng):同一網(wǎng)絡(luò)。一個(gè)網(wǎng)線,我們交換機(jī)會(huì)實(shí)現(xiàn),我們知道這兩個(gè)MAC地址是綁定一個(gè)上面,我們的網(wǎng)絡(luò)團(tuán)隊(duì)也做了一些自動(dòng)化的一些運(yùn)維工具,識(shí)別他的對(duì)管理關(guān)系。
  Q9:對(duì)應(yīng)的這兩個(gè)MAC地址是被劃到兩不同的VLAN?
  沈強(qiáng):語(yǔ)音和數(shù)據(jù)的話我們是從流量上我們劃了不同的VlAN里面,只是端口識(shí)別上我們可以統(tǒng)一識(shí)別。
  Q10:我們這邊也做異地雙活的時(shí)候,關(guān)于座席的分機(jī),簽入的時(shí)候,比如說(shuō)我們上海的呼叫中心,假如說(shuō)注冊(cè)了什么9527這個(gè)分機(jī)號(hào),在蘇州的呼叫中心,這個(gè)分機(jī)號(hào)已經(jīng)用了,在蘇州不能注冊(cè)這個(gè)分機(jī)號(hào),只能用另外一個(gè)號(hào)碼,我們會(huì)讓用戶,記住兩個(gè)分機(jī)號(hào),出現(xiàn)問(wèn)題是用另一個(gè),但是我們的業(yè)務(wù)不太接受,你讓一個(gè)人記兩個(gè)號(hào)。
  沈強(qiáng):我們是系統(tǒng)自動(dòng)識(shí)別的。剛才有一頁(yè)可能講到了,我分機(jī)號(hào)號(hào)碼各自獨(dú)立的,我在登錄的時(shí)候如果說(shuō)識(shí)別到這個(gè)MAC地址的話,我就能獲取對(duì)應(yīng)的分機(jī)號(hào)碼,我在客戶端的時(shí)候跟這個(gè)分機(jī)號(hào)碼進(jìn)行綁定。
  我們的話盒是固定的,事先把這個(gè)數(shù)據(jù)兩邊全部備好就可以了,我們以前對(duì)模擬話機(jī)也是每個(gè)客戶端都需要座席去選擇我這個(gè)話機(jī)的號(hào)碼,后面全部通過(guò)網(wǎng)絡(luò)自動(dòng)化識(shí)別,通過(guò)一些事現(xiàn)備注好的數(shù)據(jù),系統(tǒng)自動(dòng)識(shí)別,對(duì)于業(yè)務(wù)人員,只需記住自己的域帳號(hào)就行,無(wú)需關(guān)注分機(jī)號(hào)碼。

專題