濮阳杆衣贸易有限公司

主頁 > 呼叫外包 > 行業(yè)新聞 > 呼叫中心架構(gòu)設(shè)計(jì)

呼叫中心架構(gòu)設(shè)計(jì)

POST TIME:2021-10-14 16:28

呼叫中心架構(gòu)設(shè)計(jì)

背景

  • 客戶在打電話給客服(坐席)時需要保護(hù)自己的隱私(客戶電話號碼不能透傳給客服)
  • 客服在打電話給客戶時可根據(jù)實(shí)際對應(yīng)業(yè)務(wù)來設(shè)定是否進(jìn)行號碼透傳(大部分場景是透傳)
  • 對一些業(yè)務(wù)提供基礎(chǔ)數(shù)據(jù)的支撐(通話開始時間、結(jié)束時間、錄音等)
  • 不建立真正的呼叫中心,而是接入多個第三方提供的云通話服務(wù)完成實(shí)際通話過程,降低成本和風(fēng)險

為此我們需要實(shí)現(xiàn)一個能夠能夠支撐業(yè)務(wù)實(shí)現(xiàn)并能夠接入多個云通話服務(wù)渠道的系統(tǒng),命名為 CC(Call Center,呼叫中心)。

架構(gòu)設(shè)計(jì)

從呼叫模式上看,目前業(yè)界大多數(shù)采用的是“回?fù)?rdquo;模式,即由呼叫中心發(fā)起兩路呼叫,然后將兩路進(jìn)行連通。提供回?fù)芊?wù)的廠商比較多,比如玖云、華為、吉亞等,下面以玖云和華為為例進(jìn)行架構(gòu)設(shè)計(jì)。(選擇玖云和華為主要是因?yàn)樗麄冋檬褂昧瞬煌膬煞N通話狀態(tài)獲取模式,玖云是回調(diào),而華為是輪詢)

CC 架構(gòu)

(圖片看不清的話請另存為后查看)

子模塊

  • Callback Logging:玖云事件回調(diào)持久化,實(shí)現(xiàn)上使用 NGINX 寫文件日志
  • Scheduled Task:華為事件輪詢
  • Dispatch & Handle:處理來自 Callback Logging 和 Scheduled Task 的通話事件
  • Unified Call Records:統(tǒng)一格式的通過記錄持久化存儲
  • Channel:提供給應(yīng)用調(diào)用,完成“用戶-坐席-渠道”的關(guān)聯(lián)管理功能
  • User-Agent-Channel:“用戶-坐席-渠道”持久化存儲
  • Call:提供給應(yīng)用調(diào)用,完成“回?fù)?rdquo;功能
  • Call Query:提供給應(yīng)用調(diào)用,完成通話數(shù)據(jù)查詢功能
  • Health:渠道及回調(diào)日志健康狀態(tài)檢查,以及渠道故障時讓 Channel 自動切換渠道
  • Aliyun OSS:將獲取到的通話錄音上傳到阿里云 OSS 進(jìn)行存儲

通話記錄表

列名 類型 長度 備注
id bigint 20 主鍵
tenant varchar 32 租戶標(biāo)識
main_num varchar 16 400 商戶號碼
ext_num varchar 8 400 商戶分機(jī)號碼
agent varchar 64 坐席標(biāo)識
call_id varchar 64 由渠道返回的話單 id
caller varchar 16 主叫(A 路)號碼
called varchar 16 被叫(B 路)號碼
biz_data text   業(yè)務(wù)數(shù)據(jù)
channel varchar 8 渠道標(biāo)識:(玖云:e9;華為:hw;吉亞:jy)
ch_state varchar 32 渠道返回的話單當(dāng)前狀態(tài)
state varchar 8 話單當(dāng)前狀態(tài)。初始化(發(fā)起呼叫 A 路):init;雙通:conn;關(guān)閉:close
a_call_time bigint 20 呼叫 A 路時間
b_call_time bigint 20 呼叫 B 路時間
a_offhook_time bigint 20 A 路摘機(jī)(接通)時間
b_offhook_time bigint 20 B 路摘機(jī)(接通)時間
conn_time bigint 20 雙通時間
close_time bigint 20 關(guān)閉通話時間
duration int 11 通話時長(秒)
ch_audio_url varchar 512 渠道錄音文件 URL
audio_url varchar 512 外部存儲錄音文件 URL
ivr_url varchar 512 IVR 語音文件 URL
ivr_text text   IVR 文本內(nèi)容
close_type varchar 32 0:正常掛斷;1:A 路無法接通;2:B 路無法接通;3:A 路目標(biāo)忙;4:B 路目標(biāo)忙;5:通話達(dá)到最大時長;6:渠道服務(wù)器錯誤;7:渠道網(wǎng)絡(luò)錯誤;255:其他錯誤
updated bigint 20 記錄更新時間
created bigint 20 記錄創(chuàng)建時間

回?fù)芰鞒?/h3>
  1. 應(yīng)用發(fā)起回?fù)苷埱?,調(diào)用 Call
  2. Call 調(diào)用 Channel,有 Channel 選擇適合的渠道,并通過公網(wǎng) HTTP(S) 進(jìn)行回?fù)苷埱?/li>
  3. 由渠道通過 PSTN 實(shí)現(xiàn)電話呼叫:
    3.1 呼叫 A 路(客服),A 路摘機(jī)
    3.2 呼叫 B 路(客戶),客戶摘機(jī)
    3.3 A-B 接通進(jìn)行通話
    3.4 通話結(jié)束(A/B 掛斷或異常)

    • 在此期間需要接收事件回調(diào)(玖云)或進(jìn)行事件輪詢(華為)并持久化通話狀態(tài),最終形成統(tǒng)一格式的通話記錄
    • 回?fù)芙涌趨?shù)中可以帶上業(yè)務(wù)實(shí)體標(biāo)識,以便將通話記錄和業(yè)務(wù)實(shí)體進(jìn)行關(guān)聯(lián)對應(yīng)
    • 回?fù)芙涌诘姆祷刂抵袝祷匾粋€ callId,用來表示該次回?fù)?,以便將通話記錄和業(yè)務(wù)實(shí)體進(jìn)行關(guān)聯(lián)對應(yīng)
    • 在通話期間,應(yīng)用可以使用 callId 來輪詢 CC 查看通話狀態(tài)

用戶-坐席-渠道

這個模型用于描述業(yè)務(wù)系統(tǒng)中的用戶實(shí)體以及坐席(可以理解為渠道提供的通話線路,同一時刻同一個線路只能有一通電話在撥打)的關(guān)聯(lián),并卻定了這個用戶所使用的通話渠道。

  • 對于玖云,坐席對應(yīng)的是電話號碼
  • 對于華為,坐席對應(yīng)的是坐席號

默認(rèn)情況下并不需要指定關(guān)聯(lián),CC 會自動選擇渠道,只有在某些業(yè)務(wù)場景下需要應(yīng)用來指定渠道。

呼叫中心系統(tǒng)方面技術(shù)交流: 515229

標(biāo)簽:馬鞍山 安慶 淮南 十堰 宜昌



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
舟山市| 牡丹江市| 苍南县| 东莞市| 德钦县| 潍坊市| 金昌市| 合肥市| 宿松县| 白银市| 晋中市| 河北区| 东台市| 荥阳市| 年辖:市辖区| 东兴市| 邵东县| 扎囊县| 磐安县| 漳平市| 台南市| 江山市| 博乐市| 增城市| 孝昌县| 保亭| 大丰市| 布尔津县| 澎湖县| 嘉祥县| 宁阳县| 嵩明县| 义马市| 平原县| 宁国市| 拉萨市| 延川县| 曲水县| 宣城市| 延津县| 潜江市|