首頁>>>技術(shù)>>>計費  計費產(chǎn)品

VoIP系統(tǒng)實時計費功能研究及實現(xiàn)

南京理工大學計算機科學與技術(shù)系 孫亞民 2004/12/14

一、計費系統(tǒng)框架結(jié)構(gòu)

  VoIP計費系統(tǒng)的設計遵循Internet實時計費的設計原則,具有實時性、穩(wěn)定性、可靠性、可移植性、可擴展性等特性,功能的設計既考慮了Internet計費系統(tǒng)的基本功能,又考慮了用戶的需求及VoIP系統(tǒng)的業(yè)務特點。

  系統(tǒng)的核心部分,包括中心數(shù)據(jù)庫、可互備份的實時計費服務器RTBS,以及向外部設備開放的實時計費代理(RTBA)。通過RTBA向外部設備開放實時計費的所有功能,RTBA提供了一套完整的功能接口API,外部設備只需簡單地調(diào)用這些函數(shù)就可以實現(xiàn)各種功能。從外部設備角度來看,計費系統(tǒng)的內(nèi)部細節(jié)是透明的,因此系統(tǒng)可以方便地移植和集成。RTBA的設計是本系統(tǒng)的一大特點。外部設備與RTBA之間是函數(shù)調(diào)用關(guān)系,RTBA與RTBS之間則是在標準TCP/IP上的相互通信,可以是在LAN上,也可以是在WAN上。為了保證整個計費系統(tǒng)的性能,RTBA與RTBS必須在有QoS保障的網(wǎng)絡上進行通信。

  系統(tǒng)中可以采用多個RTBS,RTBS之間可以互相備份,通過RTBS的冗余可以明顯提高系統(tǒng)容量,還提高了系統(tǒng)的穩(wěn)定性和可靠性。后臺數(shù)據(jù)庫采用Oracle,在RTBS 與數(shù)據(jù)庫之間,仍然通過三層架構(gòu),中間層用Microsoft MTS以提高數(shù)據(jù)庫訪問的性能。

  系統(tǒng)同時還提供Keep Alive機制,GK通過RTBA與RTBS保持Keep Alive通信,無論GK異常還是RTBS異常,對方都能在第一時間知道。

二、CDR格式

  CDR就是呼叫詳細記錄(Call Detail Record),每個完整的呼叫都應有一個完整信息的CDR。IP電話中的CDR信息一般以兩種形式存放,一種是文件形式,可以是文本文件、二進制文件或CSV格式文件;另一種是存放在數(shù)據(jù)庫中,這也是最常用的形式,IP電話系統(tǒng)后臺數(shù)據(jù)庫都有專門存放CDR的表。

  CDR信息一般由GK收集。記錄CDR有兩個最主要的目的,一就是作為計費的依據(jù),二就是用于客戶查詢審計。CDR中應該記錄哪些信息并沒有一個固定的要求,一般不同的IP電話系統(tǒng)根據(jù)業(yè)務的側(cè)重點不同會有不同的CDR格式,同時客戶最關(guān)心的一些信息一定要記錄到CDR中。CDR格式是根據(jù)系統(tǒng)的具體業(yè)務特點和具體的客戶需求制定的,除了一些必須有的信息字段外,還有一些特殊字段。表1是CDR中每個字段及其含義。

三、資費策略的制定

  資費策略是對各種服務進行計費的一套完整方案,表明對于每種服務應該向誰收費、怎樣收費,主要包括正常費率的設置、折扣費率的設置、固定服務費和罰款的設置。不同的供應商根據(jù)所實現(xiàn)業(yè)務的不同會有一套符合自身特色的資費策略,但都必須遵守一個原則,即費率的統(tǒng)一,一個服務在該資費策略下只能計算出一個費用值,不能出現(xiàn)有歧義的計費方法。

  最常見的計費方法有:

  (1)按服務時長計費,這是使用最廣泛的一種計費方法;

 。2)按服務次數(shù)計費;

 。3)按數(shù)據(jù)流量計費,可能是上行流量、下行流量或總流量;

 。4)按帶寬使用情況進行計費;

 。5)按服務質(zhì)量(QoS)參數(shù)計費;

 。6)混合計費,如結(jié)合帶寬和流量的計費。

  目前許多ITSP主要提供PSTN+IP網(wǎng)關(guān)形式的IP電話業(yè)務,這種情況下費用的計算一般分為兩部分,即PSTN通話費用和IP內(nèi)部服務費用。

  數(shù)據(jù)在三段網(wǎng)絡中傳輸,第一段從用戶電話到IP接入網(wǎng)關(guān),接入網(wǎng)關(guān)有接入號,這段費用是PSTN的費用。第二段從接入網(wǎng)關(guān)到接出網(wǎng)關(guān),語音數(shù)據(jù)通過IP網(wǎng)絡傳輸,大IP電話運營商一般都通過專網(wǎng)或?qū)>傳輸,這是IP內(nèi)部服務的費用。第三段從接出網(wǎng)關(guān)到被叫電話,收取的也是PSTN通話費用。第一段費用一般由主叫支付,相當于市話費用。第二、三段的費用就是用戶支付的IP 電話費用,由運營商核算綜合成本后給出費率計算得到。這樣的系統(tǒng)絕大多數(shù)都是按通話時長來計費的。

  IP電話資費策略中根據(jù)需要都會有折扣/優(yōu)惠策略,一般有時段優(yōu)惠、節(jié)假日優(yōu)惠和總量優(yōu)惠等方式。

  資費策略管理在VoIP業(yè)務中是很關(guān)鍵的,靈活的資費策略管理不僅有利于服務供應商的運營和業(yè)務的擴展,也極大地保護了客戶的利益。好的資費策略管理應該支持費率的預定制和費率的回溯,支持實時費率,能夠提供多種費率的核算和比較。

  VoIP除了基本的PC to PC、PC to Phone、Phone to PC、Phone to Phone四種業(yè)務模式外,還有收發(fā)Voice Mail、呼叫轉(zhuǎn)移等增值業(yè)務,所以可以把所有業(yè)務分為兩大類,一類是與PSTN相通的,一類是沒有PSTN費用的內(nèi)部業(yè)務。

  資費策略中除了上述對收費方法的規(guī)定外,還需要設置PSTN通話費率和優(yōu)惠策略。

四、計費系統(tǒng)主要業(yè)務實現(xiàn)

  1. 時鐘同步

  時鐘同步在分布式應用中是很關(guān)鍵的,尤其是在VoIP系統(tǒng)中對時間的一致性更為重視,設備之間時鐘誤差不能超過1s。系統(tǒng)中所有設備都以中心數(shù)據(jù)庫所在的機器時鐘為基準時鐘,提供一個時鐘同步函數(shù),每隔一段時間系統(tǒng)中各設備調(diào)用該函數(shù),對本地時鐘進行校對。

  2. 登錄/認證

  在此以一個終端(Terminal)的登錄為例,介紹本計費系統(tǒng)的認證過程。

 。1)終端向指定的頂級 GK發(fā)GRQ(Gatekeeper Request)。頂級 GK給終端回GCF(Gatekeeper Confirm)報文,給終端分配初級 GK,讓終端向指定的初級GK注冊。

  (2)在GCF消息中頂級GK把初級GK的IP、Port返回給終端。

  (3)終端向初級GK發(fā)RRQ(Registration Request)消息,帶上用戶ID、用戶密碼等參數(shù)。

  (4)初級GK調(diào)用RTBA提供的請求認證的API函數(shù)。

 。5)RTBA向RTBS發(fā)RADIUS的認證請求(Access-Request)消息。

 。6)RTBS查詢中心數(shù)據(jù)庫的用戶ID—密碼對,如果相同給RTBA返回RADIUS中的Access-Accept消息。

 。7)RTBA的API函數(shù)返回認證確認結(jié)果給初級GK。

 。8)初級GK得到認證通過的結(jié)果后,向終端發(fā)RCFv(RegistrationConfim)消息,接受用戶登錄。

  如果在第6步中用戶ID、密碼不符,RTBS向RTBA返回Access-Reject消息。則在接下來的第7步中API返回認證拒絕結(jié)果,并且在第8步中初級GK向終端發(fā)RRJ(Registration-Reject)消息,拒絕用戶登錄。

  3. 呼叫請求

  用戶得到驗證后,就可以進行呼叫操作。當一個終端要向另外的終端發(fā)起呼叫時,GK在建立呼叫前要通過計費系統(tǒng)確認該用戶是否能夠得到發(fā)起這個呼叫的授權(quán)。呼叫請求過程和呼叫建立過程從略。

  4. 檢查點

  在很多計費系統(tǒng)中,只在服務開始和服務結(jié)束這兩個時間點進行計費處理。例如在一個呼叫開始時通知一下計費服務器,然后在呼叫結(jié)束時再通知一下計費服務器,然后計費服務器一次性計算該呼叫的費用。這種處理方法比較簡單,但不可靠,如果呼叫開始并進行了較長時間的通話,而這時候GK發(fā)生異常,不能通知計費服務器呼叫結(jié)束,那么計費系統(tǒng)就無法對這個呼叫進行計費,對客戶對供應商都是一種損失。為了避免這種損失,我們在計費系統(tǒng)中啟用了檢查點(Checkpoint)機制,即在每個呼叫過程中設置檢查點,檢查呼叫情況,檢查系統(tǒng)運行情況,并做如下處理:

 。1)更新客戶最新費用信息;

 。2)寫最新狀態(tài)的CDR。

  通過Checkpoint機制可以最大程度地減少損失,利用Keep Alive可以在第一時間發(fā)現(xiàn)異常,并做相應處理。系統(tǒng)中可能出現(xiàn)的異常情況很多,在這里舉兩個例子,并介紹相應的處理方法。

  如果GK發(fā)現(xiàn)一個RTBS異常,由于該RTBS負責多路呼叫的計費處理,那么這時候GK要做的就是將該RTBS上負責的所有呼叫遷移到其他RTBS上,而且要避免費用的重復扣除,因為在過去的Checkpoint點已經(jīng)扣除了呼叫前一段時間的費用。處理的方法,并不是將最新的呼叫狀態(tài)也遷移過去,讓RTBS從遷移時開始重新計費,而是將呼叫的最原始信息,如呼叫開始時間T0,該用戶的原始費用balance0轉(zhuǎn)移到新的RTBS, RTBS可以計算出T0到當前時間的費用cost1,用原始費用balance0減去cost1就得到該客戶的最新余額,而不管前一個RTBS對該呼叫做了多少個Checkpoint操作。

  如果RTBS發(fā)現(xiàn)GK異常,在GK異常時系統(tǒng)有其他方法將GK所負責的呼叫拆除,所有RTBS可以把發(fā)現(xiàn)GK異常的時間作為呼叫的結(jié)束時間來處理,這樣這種異常情況下的處理就顯得簡單。RTBS計算出這段時間的費用更新到客戶賬戶上,并記錄到目前為止的CDR信息中。

  5. 最后一分鐘通知

  RTBS實時監(jiān)測每個呼叫的最大通話時間,在通話費用結(jié)束前1min通知GK,要求GK主動拆除該呼叫,這是保證客戶不透支費用的關(guān)鍵。在GK得到最后1min通知后會把這個信息通知到終端,并在1min后拆除該呼叫。

  6. 呼叫結(jié)束處理

  呼叫結(jié)束,表示完成一個服務。這之后要對這個服務進行完整的記錄,同時計算該服務的準確費用。

五、結(jié)束語

  本文從Internet計費的基本理論出發(fā),研究了針對VoIP業(yè)務的計費系統(tǒng)所應具有的功能以及計費系統(tǒng)中的一些關(guān)鍵問題,并結(jié)合一個VoIP系統(tǒng)的模型,著重介紹了一個實時計費系統(tǒng)的實現(xiàn)方法及其關(guān)鍵業(yè)務。

中國多媒體視訊



相關(guān)鏈接:
電信計費僵局 2004-12-10
南京探索智能小區(qū)認證計費管理解決方案 2004-12-08
大唐高鴻計費管理平臺OSS3000 2004-12-01
南京探索軟件校園寬帶認證計費管理解決方案 2004-12-01
電信該如何運營寬帶校園網(wǎng) 2004-11-22

分類信息:     文摘   技術(shù)_計費_文摘