當一個(gè)用戶(hù)132********撥打95311的時(shí)候,智能云調度系統會(huì )根據被叫95311去數據庫取出95311的所有配置信息。系統再根據主叫號碼132********再去數據庫找到其所屬的地域,如深圳、廣州、東莞等。系統根據此地域信息再去找與之匹配的所有呼叫中心,依次比較呼叫中心的服務(wù)時(shí)間是否包含當前的系統時(shí)間,如果包含,那么就確定將通話(huà)轉到該呼叫中心。
如此的設計,能確保將呼叫轉到就近的呼叫中心,這樣能確保通話(huà)質(zhì)量,節約用戶(hù)的成本。同時(shí),通過(guò)比較時(shí)間,我們可以選擇服務(wù)時(shí)間相匹配的呼叫中心,確保通話(huà)能合理的分配。
智能云調度系統是否對每條中繼設有呼叫上限?
智能云調度系統對每條中繼有呼叫上限限制,此上限值是用戶(hù)在后臺配置的,目的是避免一條中繼線(xiàn)路經(jīng)常滿(mǎn)線(xiàn),如果經(jīng)常滿(mǎn)線(xiàn)的話(huà),很可能影響通話(huà)體驗。
當一個(gè)invite呼叫請求到達智能云調度系統后,系統會(huì )根據此sip消息的callid分配一個(gè)會(huì )話(huà)唯一表示uuid,保存到本地內存。同時(shí)系統會(huì )根據被叫(如95311)去數據庫取出相關(guān)的數據,如該呼叫中心的所有中繼線(xiàn)配置,根據中繼線(xiàn)的權重配置,取出當前權重最大的中繼線(xiàn)路和它的并發(fā)上限,如中繼編號0001,上限999.所有相關(guān)的數據取出來(lái)以后,系統會(huì )再發(fā)起一個(gè)tcp請求到計數服務(wù)器,將中繼編號和上限值傳給計數服務(wù)器。
計數服務(wù)器收到此請求就會(huì )去本地數據庫查找該中繼的數據,如果沒(méi)有相應的記錄,那么就增加一條新記錄,并且將其并發(fā)量參數加一。如果已經(jīng)存在該中繼對應的數據,那么直接將其并發(fā)量參數加一,若此發(fā)量參數已經(jīng)超過(guò)并發(fā)上限,那么計數服務(wù)器返回錯誤消息,此消息表示當前中繼已經(jīng)達到上限,資源耗盡。智能云調度系統收到這個(gè)錯誤消息后,并不會(huì )因此掛斷通話(huà),而是繼續選擇下一條可用的中繼線(xiàn)路,再發(fā)起一個(gè)tcp請求到計數服務(wù)器,把該中繼的中繼編號和對應的上限值傳到計數服務(wù)器。如果還失敗,那么再繼續選擇下一條,如此循環(huán),直到計數服務(wù)返回成功的響應為止。如果所有的中繼線(xiàn)路都占用滿(mǎn)了,那么智能云調度系統會(huì )將此通話(huà)轉到一個(gè)自動(dòng)代答的放音服務(wù)器,該服務(wù)器會(huì )向用戶(hù)播放語(yǔ)音(如“坐席繁忙,請稍后再撥”),確保用戶(hù)有很好的心理體驗。智能云調度系統收到計數服務(wù)器成功的響應后,會(huì )記錄當前的中繼編號到本地內存,當掛機消息來(lái)到的時(shí)候,系統會(huì )取出該中繼編號。
當一個(gè)bye消息請求到達智能云調度系統后,系統會(huì )根據此sip消息的callid查找到會(huì )話(huà)唯一表示uuid,根據此uuid,系統利用此uuid發(fā)起一個(gè)tcp請求到計數服務(wù)器,計數服務(wù)器收到此請求后,會(huì )去數據庫找到與之對應的中繼編號數據,將該中繼編號的并發(fā)數據參數減一。
那么智能云調度系統如何保證一個(gè)中繼不會(huì )重復計數加一或者重復釋放減一呢?
前面已經(jīng)提到過(guò),智能云調度系統在收到一個(gè)invite呼叫請求的時(shí)候,會(huì )在內存中保存一個(gè)會(huì )話(huà)唯一標識uuid,此標識一直存在知道通話(huà)掛斷。智能云調度系統在發(fā)數據給計數服務(wù)器的時(shí)候也會(huì )帶上此uuid。計數服務(wù)器會(huì )針對此uuid和該請求的中繼編號,建立一個(gè)鍵值對,如uuid----trunkid,再增加中繼的使用計數。因為每個(gè)會(huì )話(huà)的uuid都是唯一的,所以相當于每個(gè)會(huì )話(huà)只發(fā)出一個(gè)增加計數的請求,所以也就不存在前面提到的重復計數的情況。而當智能云調度收到一個(gè)bye的sip消息后,系統會(huì )根據此sip消息的callid查找到會(huì )話(huà)唯一表示uuid,會(huì )將此uuid傳給計數服務(wù)器,計數服務(wù)器收到釋放中繼計數的請求后,會(huì )根據此uuid和鍵值對uuid----trunkid,找到相應的中繼編號trunkid,然后將該中繼編號的并發(fā)參數減一,最后釋放鍵值對uuid----trunkid。那么如果下一個(gè)同樣的uuid釋放請求到達后,就無(wú)法找到相應的鍵值對,也就無(wú)法再對該中繼編號的并發(fā)參數減一,從而達到準確計數的功能。
智能云調度系統為何要增加一個(gè)自動(dòng)代答的功能?
試想一下,你如果撥打一個(gè)服務(wù)熱線(xiàn),一直沒(méi)有任何聲音提示,最后呼叫失敗而掛機,那么你肯定一臉茫然,不知道是這個(gè)號碼的問(wèn)題還是你自己手機的問(wèn)題。
所以,如果當一個(gè)呼叫中心的所有運營(yíng)商中繼線(xiàn)路都走不通,或者中繼的呼叫量達到上限的時(shí)候,智能云調度系統不會(huì )在沒(méi)有任何提示的情況下給客戶(hù)掛機,而是把該通話(huà)轉到一個(gè)語(yǔ)言服務(wù)器,此語(yǔ)言服務(wù)器會(huì )提示用戶(hù)“當前呼叫中心正忙,請稍后再撥”的提示,如此,用戶(hù)會(huì )有比較好的體驗。