欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
理解IMS計費架構

  計費對于任何服務(wù)提供商而言都是必不可少的功能,電信運營(yíng)商也不例外。因此,任何網(wǎng)絡(luò )都需要包含一組節點(diǎn)來(lái)專(zhuān)門(mén)實(shí)現這一任務(wù)。計費可以通過(guò)預付費(Prepaid)和后付費(Postpaid)這兩種方式實(shí)現。雖然預付費解決方案正在日趨盛行,不過(guò)后付費的解決方案仍然具有廣泛的普及程度。因此,任何面向商業(yè)應用的電信網(wǎng)絡(luò )都必須同時(shí)實(shí)現這兩種方案。此外,隨著(zhù)以IT為基礎的服務(wù)領(lǐng)域突飛猛進(jìn),電話(huà)通信之外的服務(wù)也如雨后春筍般涌出并不斷發(fā)展演進(jìn)。視頻電話(huà)、無(wú)線(xiàn)接入和隨需應變視頻都是典型的例子。

  所有這些服務(wù)都需要找到一種計費方式。本文將探討如何使用各種IMS架構來(lái)實(shí)現計費功能。文章還將描述如何使用BEA WebLogic SIP Server和Diameter協(xié)議實(shí)現這些架構。

IMS計費架構

  IP多媒體子系統(IP Multimedia Subsystem,IMS)網(wǎng)絡(luò )使用的是3GPP所定義的架構。圖1顯示了這一架構中的計費功能。

  1. IMS計費架構(單擊圖片查看大圖)

  圖1中的元素可以實(shí)現預付費和后付費這兩種計費功能。這兩種看上去類(lèi)似的模式實(shí)際上從網(wǎng)絡(luò )視角來(lái)說(shuō)是不同的。其中最大的差異是:當用戶(hù)想要使用預付費服務(wù)時(shí),網(wǎng)絡(luò )會(huì )根據用戶(hù)的當前賬戶(hù)余額確定是否應該允許該操作。預付費系統具有以下幾個(gè)要點(diǎn):

  • 在使用各服務(wù)之前,必須獲得計費系統的許可(我們稱(chēng)之為交易準許[credit authorization])。
  • 要決定是否應該許可該服務(wù),計費系統必須能夠實(shí)時(shí)獲取用戶(hù)賬戶(hù)余額的信息。在后付費系統中,通常通過(guò)收集服務(wù)使用情況的數據并于月底處理(成批處理)這些數據來(lái)實(shí)現這一目的。不過(guò)在預付費系統中卻不能采用這種方法。在預付費系統中,使用任何服務(wù)都必須立即扣除賬戶(hù)的交易金額。
  • 計費系統未在適當的時(shí)間內響應時(shí),必須使用一種高效的方式來(lái)處理這種情況;不能讓用戶(hù)無(wú)限制地等待。
  • 用戶(hù)必須能夠查詢(xún)賬戶(hù)的余額。

  由于預付費系統要求能夠實(shí)時(shí)更新賬號的信息,因此這種方式也被稱(chēng)作在線(xiàn)計費。后付費的方式則被稱(chēng)作離線(xiàn)計費。

離線(xiàn)計費

  離線(xiàn)計費的框架如圖2所示。

  

  圖2. 離線(xiàn)計費架構(單擊圖片查看大圖)

  該架構由以下這些節點(diǎn)組成:

  • 計費觸發(fā)函數(Charging Trigger Function,CTF)——服務(wù)元素(Service Element)的組成部分,負責監控服務(wù)使用并以此為依據生成計費事件。
  • 計費數據函數(Charging Data Function,CDF)——根據從CTF接收到的事件生成計費數據記錄(Charging Data Record,CDR),并將它們傳遞給CGF。
  • 計費網(wǎng)關(guān)函數(Charging Gateway Function,CGF)——負責將CDR持久存儲到數據庫以及一些預處理和錯誤檢查;它還負責從許多CDF收集CDR并將其發(fā)送給賬單系統。
  • 賬單系統(Billing System)——處理CDR并創(chuàng )建一些最終輸出信息,比如可使用這些信息為用戶(hù)開(kāi)發(fā)票。

  在這個(gè)架構中,BEA WebLogic SIP Server連同CFT的角色是服務(wù)元素。

在線(xiàn)計費

  圖3顯示了在線(xiàn)計費架構中所使用的節點(diǎn)。

  

  圖3.在線(xiàn)計費架構(單擊圖片查看大圖)

  以下是這些節點(diǎn)的描述:

  • 計費觸發(fā)函數(Charging Trigger Function,CTF)——與離線(xiàn)計費架構中所使用的CTF類(lèi)似,不過(guò)此處的CTF需要在用戶(hù)賬戶(hù)余額不足時(shí)中斷服務(wù)。
  • 在線(xiàn)計費系統(Online Charging System,OCS)——實(shí)現在線(xiàn)計費函數(Online Charging Function,OCF),它需要依賴(lài)以下這些函數:
  • 賬戶(hù)余額管理函數(Account Balance Management Function,ABMF)——存儲和更新用戶(hù)賬戶(hù)的存款信息。
  • 估價(jià)函數(Rating Function,RF)——根據網(wǎng)絡(luò )運營(yíng)商所定義的價(jià)目表確定使用服務(wù)的費用。

  在這個(gè)架構中,BEA WebLogic SIP Server連同CTF的角色是服務(wù)元素(Service Element)。

IMS計費信息關(guān)聯(lián)

  如今出現了許多不同的架構和網(wǎng)絡(luò );為各個(gè)網(wǎng)絡(luò )實(shí)體(如 SIP Proxy)提供正確的計費元素地址是一種明確的需求。3GPP定義了兩種類(lèi)型的計費元素,即CDF和OCS。因此,擁有這些元素的多個(gè)實(shí)例是可行的。識別這些元素的方法是在SIP消息中添加一個(gè)頭部用于傳遞地址。

  SIP信令中傳送的離線(xiàn)和在線(xiàn)函數地址被編碼到P-Charging-Function-Addresses中。P-Charging-Function-Addresses頭部含有CCF和ECF參數。此處是頭部的一個(gè)示例:

  P-Charging-Function-Addresses:ccf=192.168.100.1;ecf=192.168.100.2

  識別和關(guān)聯(lián)計費信息也是有必要的。IMS計費標識符(IMS Charging Identifier,ICID)可以解決這個(gè)問(wèn)題。ICID在同一會(huì )話(huà)或事務(wù)的IMS元素之間共享。ICID參數存儲在SIP消息的P-Charging-Vector頭部中,以在網(wǎng)絡(luò )上傳輸。這個(gè)頭部是由P-CSCF插入的,并且包含以下參數(按規格描述):

  • IMS計費標識符(IMS Charging Identifier,ICID)——必需。
  • 訪(fǎng)問(wèn)網(wǎng)絡(luò )計費標識符——用于使用IBM計費數據關(guān)聯(lián)訪(fǎng)問(wèn)網(wǎng)絡(luò )計費數據。
  • Inter Operator Identifier (IOI)——識別會(huì )話(huà)或事務(wù)中的發(fā)信(orig-ioi)網(wǎng)絡(luò )和收信網(wǎng)絡(luò )(term-ioi)。該參數由S-CSCF插入,當請求離開(kāi)網(wǎng)絡(luò )時(shí)會(huì )被P-CSCF移除。

  此處是P-Charging-Vector頭部的一個(gè)示例:

  P-Charging-Vector: icid-value="655Ayet773+7389088787e"; orig-ioi=bea.net

參考模型

  離線(xiàn)和在線(xiàn)計費程序都可以分為兩種截然不同的類(lèi)型:即基于事件的計費(Event-based Charging)和基于會(huì )話(huà)的計費(Session-based Charging)。

  • 基于會(huì )話(huà)的計費——需要在整個(gè)服務(wù)中維持會(huì )話(huà)的情況下使用這種方式。通常,賬單系統中至少有兩個(gè)請求:
  • 發(fā)起請求(Initial Request)——用于發(fā)起計費活動(dòng)。該請求包含與用戶(hù)使用的會(huì )話(huà)相關(guān)的數據。
  • 中間請求(Intermediary Request)——用于更新當前會(huì )話(huà)(比如說(shuō),在某個(gè)語(yǔ)音呼叫中添加一個(gè)視頻)。當然,這個(gè)請求是可選的。
  • 最終請求(Final Request)——用于關(guān)閉一個(gè)會(huì )話(huà)。
  • 基于事件的計費——用于在某個(gè)特定的事件(比如,充當Redirect Server的SIP AS事件)之后發(fā)起一次性賬單活動(dòng)。

  在離線(xiàn)計費的例子中,請求是通過(guò)Rf協(xié)議傳輸的。而在線(xiàn)計費系統使用的是Ro協(xié)議。這兩種協(xié)議都基于Diameter。這兩者之間存在一些差異,其中之一是對與計費會(huì )話(huà)相關(guān)的會(huì )話(huà)狀態(tài)的維護。在事件模型中,由于只需處理單個(gè)應用程序的事件,因此沒(méi)有必要維護會(huì )話(huà)。RFC3588中對會(huì )話(huà)的定義是“一系列致力于某個(gè)特定活動(dòng)的相關(guān)事件”。

離線(xiàn)計費:Rf接口

  CTF和CDF之間的事件和會(huì )話(huà)的離線(xiàn)計費的執行使用了3GPPTS 32.240中所定義的Rf引用點(diǎn)。Rf接口用于非實(shí)時(shí)的操作,在這些操作中用戶(hù)所使用的單元不會(huì )計入賬戶(hù)。WebLogic SIP Server負責從CTF向CDF發(fā)送Diameter請求來(lái)實(shí)現這點(diǎn)。

  這些消息用于向CCF報告賬戶(hù)信息,跟隨在DIAMETER方法后面(一個(gè)請求,一個(gè)應答):

  • 計費請求(Accounting Request,ACR)
  • 計費應答(Accounting Answer,ACA)

  根據之前公開(kāi)的一個(gè)模型,基于會(huì )話(huà)的計費中的Accounting-Record-Type AVP可以含有以下這些值:

  • START_RECORD,用于啟動(dòng)計費會(huì )話(huà),通常當應用程序接收到確認初始SIP INVITE的SIP 200 OK消息時(shí)。
  • INTERIM_RECORD,用于更新會(huì )話(huà),比如,當前SIP對話(huà)中的SIP RE-INVITE和/或UPDATE的例子。
  • STOP_RECORD,用于停止賬號計費會(huì )話(huà),比如,當應用程序接收到一個(gè)SIP BYE消息時(shí)。

  在基于會(huì )話(huà)的計費系統中,WebLogic SIP Server會(huì )自動(dòng)將Diameter Session鏈接到當前活動(dòng)的呼叫狀態(tài)。這表示Call-id編碼在Diameter Session Id中。

  

  圖4.離線(xiàn)計費:基于會(huì )話(huà)的模型(單擊圖片查看大圖)

  對于一次性計費事件,Event-Type的值為EVENT_RECORD。

  

  圖5.離線(xiàn)計費:基于事件的模型(單擊圖片查看大圖)

在線(xiàn)計費:Ro接口

  在線(xiàn)計費的目的是將計費信息提供給OCS,從而能夠在許可使用網(wǎng)絡(luò )資源之前執行存款控制。為此,預付費的訂閱者必須存在于OCS中,資源使用要根據這情況記入賬單。因此,所有的活動(dòng)(包括訪(fǎng)問(wèn)被請求的資源使用、確定貨幣數額或其他單位的數額,以及將這些數額從訂閱者的賬戶(hù)中扣除)必須發(fā)生在使用資源之前,或至少是在使用資源的過(guò)程——即使用資源時(shí)必須處于在線(xiàn)狀態(tài)。根據情況的不同,資源使用結束時(shí)必須執行最終評估。因此:必須區分以下兩種情況:

  • 直接付款(Direct Debiting)——在這種情況下,交易單位會(huì )在單個(gè)事務(wù)中直接從用戶(hù)賬戶(hù)中扣除。
  • 單位保留(Unit Reservation)——在這種情況下,OCS會(huì )將交易單位保留在用戶(hù)賬戶(hù)中,這主要是因為OCS不知道所提供的服務(wù)需要多少單位。服務(wù)終止之后,已用存款金額會(huì )從用戶(hù)賬戶(hù)中扣除,并用最后任何保留和未使用的單位會(huì )釋放并添加到用戶(hù)賬戶(hù)中去。

  根據以上分類(lèi),OCS會(huì )識別以下三種場(chǎng)景:

  • 即時(shí)事件計費(Immediate Event Charging,IEC)(基于事件的計費)
  • 具有單位保留的事件計費(Event Charging with Unit Reservation,ECUR)(基于事件的計費)
  • 具有單位保留的會(huì )話(huà)計費(Session Charging with Unit Reservation,SCUR)(基于會(huì )話(huà)的計費)

  基于事件的計費的發(fā)生可以保留或不保留訂閱者的賬戶(hù),并且可以將其識別為具有單位保留的事件計費(ECUR)或即時(shí)事件計費(IEC)。CC-Request-Type將具有一個(gè)EVENT REQUEST值。圖6顯示了相關(guān)的IEC呼叫流。

  

  圖6.在線(xiàn)計費:事件模型(IEC)(單擊圖片查看大圖)

  圖7顯示了與ECUR相關(guān)的呼叫流。

  

  圖7.事件計費模型(ECUR)(單擊圖片查看大圖)

  對于具有單位保留的會(huì )話(huà)計費(SCRU),需要大量的詢(xún)問(wèn),而且直接付款(Direct Debiting)情況下的WebLogic SIP Server(或者SIP-AS之類(lèi)的普通網(wǎng)絡(luò )元素)的行為如下所示:提供服務(wù)之前,必須向OCS發(fā)送一個(gè)請求。接收到準許的肯定應答之后,WebLogic SIP Server能夠最后支持這個(gè)服務(wù)。作為任何其他的Diameter請求,存款控制請求被Command-Code字段識別;在本例中,代碼設置為272。CC-Request-Type AVP用于識別請求的類(lèi)型,并且必須出現在所有的CCR消息中。根據RFC4006,CC-Request-Type具有以下這些值:

  • INITIAL_REQUEST——用于啟動(dòng)一個(gè)會(huì )話(huà),觸發(fā)SIP方法有INVITE (SCUR)、NOTIFY (ECUR)、MESSAGE (ECUR)、REGISTER (ECUR)、SUBSCRIBE (ECUR)、REFER (ECUR)和PUBLISH (ECUR)。
  • UPDATE REQUEST——用于為已有會(huì )話(huà)更新信息。通常,當SIP 200 OK消息對SIP INVITE、RE-INVITE或UPDATE確認時(shí),或者當保留配額到期時(shí),有效時(shí)間觸發(fā)或其他事件觸發(fā)時(shí)使用。
  • TERMINATION REQUEST——用于終止一個(gè)會(huì )話(huà),當我們接收到SIP最終應答(4xx,5xx,6xx),異常中止SIP會(huì )話(huà)和SIP BYE時(shí)使用。
  • EVENT REQUEST——無(wú)需維護會(huì )話(huà)時(shí)使用。

  如圖8所示。

  

  圖8.基于會(huì )話(huà)的模型(SCUR)(單擊圖片查看大圖)

示例IMS場(chǎng)景

  圖9和圖10所顯示的IMS網(wǎng)絡(luò )就是一個(gè)在線(xiàn)計費場(chǎng)景的示例。當用戶(hù)A發(fā)起呼叫時(shí),用戶(hù)的電話(huà)會(huì )向P-CSCF發(fā)送一個(gè)SIP INVITE請求。P-CSCF是運營(yíng)商網(wǎng)絡(luò )的入口點(diǎn)。它將INVITE消息轉發(fā)到分配給用戶(hù)的S-CSCF。網(wǎng)絡(luò )假定P-CSCF知道S-CSCF的地址,因為該信息在用戶(hù)注冊(圖中未顯示出來(lái))時(shí)就從HSS中檢索出來(lái)了。然后,S-CSCF檢測到這個(gè)呼叫要求在線(xiàn)計費并將INVITE轉發(fā)給IMS-GWF(IMS網(wǎng)關(guān)函數)。

  

  圖9. IMS示例場(chǎng)景:呼叫設置(單擊圖片查看大圖)

  可以將IMS-GWF看作一種特殊的SIP應用服務(wù)器,其作用是提供與OCS的通信。接收到INVITE消息后,IMS-GWF會(huì )向OCS發(fā)送一個(gè)類(lèi)型INITIAL的CCR,從而為呼叫保留一些存款。OCS使用CCA作為應答,其中含有結果代碼DIAMETER_SUCCESS,指示呼叫是允許的。CCA還含有關(guān)于準許“服務(wù)單位”數量的信息。比如,這些單位可以是呼叫持續時(shí)間的秒數。

  接收到CCA后,IMS-GWF將之前接收到的INVITE消息轉發(fā)回給CSCF,然后CSCF再將其傳遞給網(wǎng)絡(luò )的被叫方(I-CSCF,S-CSCF,P-CSCF,用戶(hù)B的電話(huà))。IMS-GWF還通過(guò)設置計時(shí)器來(lái)監控準許單位的使用情況。

  然后,用戶(hù)B的電話(huà)開(kāi)始響鈴并使用180 Ringing消息應答INVITE??紤]到簡(jiǎn)單性,這個(gè)圖中并未包含這個(gè)應答,以及任何100 Trying應答消息。當被叫方應答電話(huà)時(shí),將會(huì )發(fā)送200 OK消息。這個(gè)OK消息通過(guò)各種不同的網(wǎng)絡(luò )元素到達用戶(hù)A的電話(huà),如下圖所示。然后,A話(huà)機將ACK轉發(fā)到B端。這樣一個(gè)呼叫就建立起來(lái)了。

  

  圖10. IMS示例場(chǎng)景:呼叫終止(單擊圖片查看大圖)

  當所有準許單位都被使用后(也就是IMS-GWF中的計時(shí)器到期),將發(fā)送一個(gè)CCR保留這些單位的另一部分。這次的請求類(lèi)型是UPDATE。OCS發(fā)送含有結果代碼DIAMETER_SUCCESS的CCA,以許可呼叫繼續。如果準許單位是用戶(hù)賬戶(hù)上最后可用的存款,則OCS應答會(huì )含有Final-Unit-Indication AVP。這表示使用完當前準許的單位之后,呼叫會(huì )斷開(kāi)連接(或者采用另一種特殊的動(dòng)作)。但是,在本例中沒(méi)有出現這個(gè)AVP。

  在這之后,用戶(hù)A決定關(guān)閉呼叫并發(fā)送BYE。BYE將通過(guò)P-和S-CSCF轉發(fā)給網(wǎng)絡(luò )的呼叫方和IMS-GWF,IMS-GWF會(huì )發(fā)送類(lèi)型TERMINATION的CCR給計費系統。這個(gè)CCR中包含與使用過(guò)的“服務(wù)單位”有關(guān)的信息(在本例中為呼叫持續時(shí)間)。OCS使用CCA作為應答并釋放與該會(huì )話(huà)相關(guān)的內部資源(比如說(shuō)內存、計時(shí)器)。用戶(hù)B的電話(huà)使用200 OK消息應答BYE,該消息將傳回呼叫方。最后呼叫關(guān)閉。

如何在WebLogic SIP Server中實(shí)現這些功能

  BEA WebLogic SIP Server含有一個(gè)簡(jiǎn)單的支持Diameter協(xié)議的API,包括Diameter Base Accounting和Diameter Credit-Control應用程序。本節介紹如何配置和使用Diameter功能。

配置

  要使用Diameter功能,需要對WebLogic域進(jìn)行適當的配置。配置過(guò)程由以下幾個(gè)步驟組成:

  • 啟用Diameter自定義資源。
  • 為Diameter創(chuàng )建一個(gè)網(wǎng)絡(luò )通道。
  • 配置Diameter節點(diǎn)和應用程序。

  BEA文檔頁(yè)面的 參考資料 部分詳述了這些步驟。

初始化

  部署好的應用程序使用Diameter Rf或Ro功能之前,需要分別獲取RfApplication或RoApplication對象。這可以通過(guò)以下代碼實(shí)現,假定使用的是SIP或HTTP servlet類(lèi):

ServletContext sc = getServletConfig().getServletContext();
Node node = (Node)sc.getAttribute("com.bea.wcp.diameter.Node");
if(node == null) {
throw new ServletException("Can't get Node. Check diameter.xml");
}
RfApplication rfApp = (RfApplication)
node.getApplication(Charging.RF_APPLICATION_ID);
if(rfApp == null) {
throw new ServletException("Can't get RfApplication. Check diameter.xml");
}
RoApplication roApp = (RoApplication)
node.getApplication(Charging.RO_APPLICATION_ID);
if(roApp == null) {
throw new ServletException("Can't get RoApplication. Check diameter.xml");
}

會(huì )話(huà)處理

  Diameter有一個(gè)會(huì )話(huà)的概念。RFC3588中對會(huì )話(huà)的正式定義是“一系列致力于某個(gè)特定活動(dòng)的相關(guān)事件”。實(shí)際上,會(huì )話(huà)使用ACR(START)或CCR(INITIAL)表示開(kāi)始,并以ACA(STOP)或CCA(TERMINATION)表示結束。在一次性事件的例子中,會(huì )話(huà)只包含請求和應答。所有消息都屬于一個(gè)與Session-Id AVP公共值相關(guān)的會(huì )話(huà)。

  在WebLogic SIP Server API中,Diameter會(huì )話(huà)是與com.bea.wcp.diameter.Session對象映射在一起的。Session類(lèi)處理Session-Id AVP。Rf和Ro接口有兩個(gè)特殊的子類(lèi),即RfSession和RoSession。這兩個(gè)類(lèi)只處理特定于Diameter計費的請求和應答??梢允褂肦f/RoApplication創(chuàng )建會(huì )話(huà)對象:

  RfApplication rfApp = ...

  RfSession rfSes = rfApp.createSession();

  RoApplication roApp = ...

  RoSession roSes = roApp.createSession();

  此外,DIAMETER會(huì )話(huà)是可序列化的,您可以將其作為屬性存儲于SipApplicationSession中,反之亦然。WebLogic Sip Server會(huì )自動(dòng)將會(huì )話(huà)鏈接到活動(dòng)的呼叫狀態(tài)。接收到消息之后,容器將自動(dòng)檢索呼叫狀態(tài),并找出Diameter會(huì )話(huà)。

創(chuàng )建Rf請求

  創(chuàng )建Rf請求相當簡(jiǎn)單。讓我們從一個(gè)基于會(huì )話(huà)的請求入手。如前所述,獲得RfApplication和RfSession之后,我們使用RfSession對象創(chuàng )建一個(gè)新Accounting-Request。由于這是第一個(gè)請求,requestType將以值的形式出現:

  ACR acr = session.createACR(RecordType.START);

  創(chuàng )建Event請求的代碼為:

  ACR acr = session.createACR(RecordType.INTERIM);

  創(chuàng )建一個(gè)新Accounting-Request時(shí),將會(huì )自動(dòng)填充以下AVP:

   
屬性
Session-Id 自動(dòng)生成
Origin-Host 根據diameter.xml中的節點(diǎn)設置
Origin-Realm 根據diameter.xml中的節點(diǎn)設置
Acct-Application-Id 3,表示Diameter Base Accounting
Destination-Host RfApplication中cdf.host參數的值,設置在diameter.xml中
Destination-Realm RfApplication中cdf.realm參數的值,設置在diameter.xml中

  可以通過(guò)調用addAvp方法添加其他AVP:

  Acr.addAvp(Attribute.EVENT_TIMESTAMP, new Integer(timestamp));

創(chuàng )建Ro請求

  對Ro接口的請求(比如說(shuō)Credit-Control-Requests)的創(chuàng )建方式非常類(lèi)似于創(chuàng )建Accounting-Requests的方式。以下這個(gè)示例可以說(shuō)明一切:

  CCR ccr = roSes.createCCR(RequestType.INITIAL);

  注意,Credit Control的請求類(lèi)型與賬戶(hù)的記錄類(lèi)型有所不同——比如,START和INITIAL。事件請求可直接通過(guò)RoApplication創(chuàng )建,而不需要明確地創(chuàng )建一個(gè)會(huì )話(huà):

  CCR eventCcr = roApp.createEventCCR();

  在兩種情況下,WebLogic SIP Server都會(huì )自動(dòng)設置以下表格中的AVP。

   
屬性
Session-Id 根據diameter.xml中的節點(diǎn)設置
Origin-Realm 根據diameter.xml中的節點(diǎn)設置
Auth-Application-Id 4,表示Diameter Credit-Control
Destination-Host RoApplication中ocs.host參數的值,設置在diameter.xml中
Destination-Realm RoApplication中ocs.realm參數的值,設置在diameter.xml中
CC-Request-Type 由createCCR()的參數指示;對于createEventCCR()其值為EVENT_REQUEST (4)
CC-Request-Number 會(huì )話(huà)每創(chuàng )建一個(gè)CCR該數字就自增1

  可以使用與前面相同的方法添加其他AVP。

  Diameter Base屬性是Attribute類(lèi)中的靜態(tài)字段。此外,與計費相關(guān)的屬性可以在Charging類(lèi)和CreditControl類(lèi)中找到。WebLogic SIP Server并未限制用戶(hù)使用這些預先定義的屬性??梢允褂肁ttribute.define()方法之一來(lái)創(chuàng )建新屬性。Attribute類(lèi)包含為所有基本屬性預先定義的常量。以下示例展示了如何添加一個(gè)AVP:

  public static final Attribute SUBSCRIPTION_ID_TYPE = Attribute.define(666, "Subscription-Id-Type", Type.INTEGER);

  添加一個(gè)已經(jīng)由用戶(hù)或容器定義過(guò)的AVP時(shí),WebLogic Sip Server會(huì )拋出一個(gè)異常。添加完所有必要的AVP后,我們最后還要發(fā)送CCR??梢允褂靡韵聝煞N方法完成這一操作:

  ccr.send();

  // - or -

  CCA answer = (CCA)ccr.sendAndWait();

  第二種方法會(huì )發(fā)送CCR并阻塞執行,直到接收到應答或發(fā)生超時(shí)。

接收應答

  WebLogic SIP Server Diameter API中有兩種接收應答的方法。第一種是異步方式,以Request.sendAndWait()方法為基礎。這個(gè)方法會(huì )發(fā)送請求并阻塞呼叫線(xiàn)程直到接收到應答或請求超時(shí)。它會(huì )返回接收到的應答。發(fā)送請求的異步方式適用于阻塞線(xiàn)程不會(huì )造成問(wèn)題的應用程序。

  第二種方法是異步分離發(fā)送動(dòng)作和接收動(dòng)作。請求是通過(guò)調用Request.send()發(fā)送的。這個(gè)方法會(huì )立刻返回。接收到應答時(shí),該方法會(huì )調用其rcvMessage()方法通知監聽(tīng)程序。這個(gè)監聽(tīng)程序必須要實(shí)現SessionListener接口,而且必須要在接收到應答之前建立在會(huì )話(huà)中。以下示例演示了這種方法:

//This is a listener class
class MyListener implements SessionListener {

public void rcvMessage(Message message) {
System.out.println("Received a message: " + message);
      if(message.getCommand().equals(CreditControl.CCA)) {
System.out.println("The message is a Credit-Control-Answer");
}
}
}
//This code is inside some other (or the same) class, in a method
//responsible for sending the request
   //Create session and listener
RoSession roSes = roApp.createSession();
MyListener myListener = new MyListener();

//Set the listener on the session
roSes.setListener(myListener);
   //Now create and send a request
CCR ccr = roSes.createCCR(RequestType.INITIAL);
ccr.addAvp(...);
ccr.send();
   //send() returns immediately. Answer will be received in
//myListener.rcvMessage()

  帶有監聽(tīng)程序的實(shí)現還可以允許我們接收當前會(huì )話(huà)內的服務(wù)器所發(fā)送的請求(比如說(shuō),當服務(wù)器決定馬上關(guān)閉會(huì )話(huà)時(shí)所發(fā)送的Abort-Session-Request)。請求和應答都以同樣的方式傳遞給監聽(tīng)程序的rcvMessage()方法。由應用程序負責為請求和應答提供不同的行為。

錯誤和超時(shí)處理

  在設定時(shí)間內未收到請求的應答時(shí),WebLogic SIP Server會(huì )自動(dòng)檢測超時(shí)條件。diameter.xml中配置了超時(shí)的默認值。還可以使用帶參數的send(...)或sendAndWait(...)為各個(gè)請求分別指定超時(shí)的時(shí)間。

  WebLogic SIP Server通過(guò)創(chuàng )建一個(gè)帶有結果代碼DIAMETER_UNABLE_TO_DELIVER的響應來(lái)處理超時(shí)。實(shí)際上,并不會(huì )在網(wǎng)絡(luò )上發(fā)送響應,但是會(huì )將其傳遞給發(fā)送請求的應用程序。這種處理超時(shí)的方法類(lèi)似于SIP中所使用的方法。

  同樣,WebLogic SIP Server可拋出以下兩種異常:

  • 協(xié)議錯誤時(shí)會(huì )拋出MessageException異常,比如說(shuō)無(wú)效的消息格式
  • AVP無(wú)效和/或丟失時(shí)會(huì )拋出AvpException異常

調試應用程序

  WebLogic SIP Server中的日志記錄工具可用于跟蹤傳入和傳出消息。您可以使用控制臺配置消息調試。此外,也可以通過(guò)在腳本文件(類(lèi)Unix的機器中為sh文件,Windows平臺中則為cmd)中的-Ddiameter.Debug=true選項來(lái)設置消息調試。調試消息將直接發(fā)送給控制臺。

  除了在WLSS中設置調試之外,使用網(wǎng)絡(luò )嗅探程序也是大有幫助。這種類(lèi)型的程序可以顯示在網(wǎng)絡(luò )中傳輸的報文。Wireshark(原來(lái)稱(chēng)作Ethereal)可能是最受歡迎的嗅探程序,它是一款免費軟件。

示例應用程序

  Ro和Rf接口的示例應用程序可以從 此處 下載。這個(gè)應用程序為一個(gè)SIP會(huì )話(huà)提供了Diameter Ro/Rf計費功能。接收到一個(gè)INVITE時(shí)請求,應用程序會(huì )通過(guò)發(fā)送一個(gè)類(lèi)型INITIAL的CCR來(lái)啟動(dòng)會(huì )話(huà)。然后,用完所有準許的存款后,應用程序會(huì )通過(guò)發(fā)送UPDATE CCR來(lái)請求新的存款。接收到BYE消息時(shí),應用程序會(huì )通過(guò)發(fā)送TERMINATION CCR來(lái)關(guān)閉計費會(huì )話(huà)。

  在存款用完的情況下,應用程序也會(huì )關(guān)閉會(huì )話(huà)。如果CCA中接收到一個(gè)Final-Unit-Indication AVP,并且所有準許額度都已用完,則應用程序會(huì )通過(guò)發(fā)送BYE消息來(lái)斷開(kāi)SIP會(huì )話(huà)。應用程序還會(huì )發(fā)送一個(gè)TERMINATION CCR來(lái)關(guān)閉Diameter會(huì )話(huà)。

BEA模擬程序和Rf接口

  BEA WebLogic Sip Server提供了一種簡(jiǎn)單的測試方法,可以使用一個(gè)Rf接口的獨立的模擬程序測試自己的應用程序。模擬程序可以作為獨立的應用程序運行,模擬程序的離線(xiàn)計費接口為com.bea.wcp.diameter.charging.RfSimulator。

  此外,BEA還提供了一個(gè)HSS模擬程序用于存儲與服務(wù)相關(guān)的數據,可以使用相同的方式運行該模擬程序。注意,這個(gè)模擬程序是用于測試目的的,并且只支持RepositoryData和PSI。HSS模擬程序為com.bea.wcp.diameter.sh.HSSSimulator。

  這兩種模擬的命令行選項如下所示:

  • -r, -real 節點(diǎn)實(shí)際名稱(chēng)
  • -h, -host 主機身份
  • -a, -address 節點(diǎn)監聽(tīng)地址
  • -p, -port 節點(diǎn)監聽(tīng)端口
  • -d, -debug 啟用調試
  • -m, -mdebug 啟用消息調試

  以下示例演示了如何運行一個(gè)獨立的BEA Rf模擬程序:

  java com.bea.wcp.diameter.util.Launcher -apps com.bea.wcp.diameter.charging.RfSimulator -r bea.com -h simulator -p 3900 -d -m

  我們也可以運行多個(gè)模擬程序,比如使用以下腳本運行HSS模擬程序:

  java com.bea.wcp.diameter.util.Launcher -apps com.bea.wcp.diameter.charging.RfSimulator,com.bea.wcp.diameter.sh.HssSimulator -h simulator -r bea.com -p 3900 -d -m

  記住要先運行\sipserver30\server\bin\ directory目錄下的setWLSEnv腳本。

業(yè)已證實(shí)的互操作性

  Ericpol Telecom已成功將其運行于BEA WLSS 3.0之上的IMS預付費解決方案(IMS Prepaid Solution)與Amdocs IMS計費解決方案(Amdocs IMS Charging Solution)集成在一起。IMS預付費解決方案通過(guò)其各組件的集成和相互協(xié)作提供了一種具有豐富特性的、兼容IMS的、可互操作的、電信級的解決方案。在這種集成場(chǎng)景中,IMS預付費解決方案通過(guò)Rf和Ro接口與Amdocs IMS計費解決方案相互通信。其網(wǎng)絡(luò )結構如下所示:

  

  圖11. BEA-Ericpol-Amdocs IOT的網(wǎng)絡(luò )架構(單擊圖片查看大圖)

  BEA-Ericpol IMS Prepaid和Amdocs Charging之間的互操作性測試(interoperability testing,IOT)包含以下兩個(gè)階段:離線(xiàn)和在線(xiàn)計費。各個(gè)場(chǎng)景的消息流包含在本文結尾的附加文件中。

  IOT已經(jīng)證實(shí)WebLogic SIP Server中的Diameter實(shí)現符合協(xié)議規范。它還顯示對Java API的完全編程控制使得Diameter實(shí)現極具靈活性。在PoC過(guò)程中需要進(jìn)行幾次小更改。這些更改的實(shí)現快速而簡(jiǎn)單。

  IOT中所使用的Amdocs IMS計費解決方案基于A(yíng)mdocs在線(xiàn)計費(Amdocs Online Charging)系統。與3GPP標準一致,這種在線(xiàn)計費功能通過(guò)Diameter接口與核心IMS網(wǎng)絡(luò )進(jìn)行交互(在線(xiàn)計費系統接口的Diameter引用點(diǎn))。此外,Amdocs IMS計費解決方案中的兩種關(guān)鍵組件是Amdocs Rating和Amdocs Balance Manager。要與IMS呼叫會(huì )話(huà)控制函數進(jìn)行交互(以實(shí)現離線(xiàn)計費),針對IMS的3GPP標準定義了以下兩個(gè)組件:計費數據函數(charging data function,CDF)和計費網(wǎng)關(guān)函數(charging gateway function,CGF)。這些函數可以構造、關(guān)聯(lián)和格式化與計費事件相關(guān)的信息,并將這些信息傳遞給賬單系統。Amdocs Service Mediation Manager是Amdocs IMS計費解決方案的一部分,它經(jīng)過(guò)改進(jìn)后符合3GPP標準并且其本身可以提供CDF和CGF功能。

  如今,服務(wù)提供商開(kāi)始爭先實(shí)現IMS架構并提供越來(lái)越多的復雜服務(wù),與此同時(shí),他們也不得不開(kāi)始面對各種問(wèn)題:如收益率、定價(jià)、資本回報率和服務(wù)質(zhì)量等等。Amdocs使用了一套橫向的、統一的、模塊化的IMS就緒計費產(chǎn)品,實(shí)現了一種完善的IMS計費方式,并且很好地解決了上述問(wèn)題。如Ericpol和BEA的IOT測試所示,Amdocs計費解決方案具有以下優(yōu)點(diǎn):

  • 正確地將任何業(yè)務(wù)線(xiàn)實(shí)時(shí)地聚合在一起
  • 復雜IMS服務(wù)和產(chǎn)品快速投放市場(chǎng)
  • 靈活地提供創(chuàng )新和多合一的服務(wù)
  • 聚合調解(Converged mediation)
  • 嚴格遵從IMS標準

  下載

結束語(yǔ)

  已經(jīng)證實(shí),Diameter成功克服了RADIUS的局限。它如今已成為IMS標準的一部分?;贗P和電話(huà)技術(shù)的新服務(wù)的開(kāi)發(fā)現正在迅速發(fā)展,每一項服務(wù)都需要計費功能。因此,基于Diameter計費的普及指日可待。

  通過(guò)閱讀本文,您應該了解了Ro和Rf接口的基本概念,并知道如何使用BEA WebLogic SIP Server處理它們?,F在,您已經(jīng)可以借助所學(xué)的知識著(zhù)手開(kāi)發(fā)自己的應用程序

致謝

  作者感謝 Rafi Kretchmer,Amdocs的Revenue Management Product & Solutions Marketing部門(mén)的產(chǎn)品營(yíng)銷(xiāo)總監。Rafi負責為Amdocs的產(chǎn)品收益管理制訂IMS業(yè)務(wù)戰略,包括行業(yè)領(lǐng)先的Amdocs Billing產(chǎn)品組合。

參考資料

術(shù)語(yǔ)表

3GPP - 3rd Generation Partnership Project
AAA - Authentication, Authorization, and Accounting
ABMF - Account Balance Management Function
ACA - Accounting Answer
ACR - Accounting Request
API - Application Programming Interface
AS - Application Server
AVP - Attribute-Value Pair
BGCF - Breakout Gateway Control Function
CCA - Credit-Control Answer
CCR - Credit-Control Request
CDF - Charging Data Function
CDR - Charging Data Record
CGF - Charging Gateway Function
CSCF - Call Session Control Function
CTF - Charging Trigger Function
DCC - Diameter Credit-Control application
GGSN - Gateway GPRS Support Node
GPRS - General Packet Radio Service
HSS - Home Subscriber Server
HTTP - HyperText Transfer Protocol
ICID - IMS Charging Identifier
I-CSCF - Interrogating-CSCF
IMS - IP Multimedia Subsystem
IMS-GWF - IMS Gateway Function
MGCF - Media Gateway Control Function
MRFC - Media Resource Function Controller
OCF - Online Charging Function
OCS - Online Charging System
P-CSCF - Proxy-CSCF
RF - Rating Function
RFC - Request For Comments
S-CSCF - Serving-CSCF
SGSN - Serving GPRS Support Node
SIP - Session Initiation Protocol
WLSS - BEA WebLogic SIP Server

原文出處:http://dev2dev.bea.com/pub/a/2007/07/IMC-charging-architecture.html

 作者簡(jiǎn)介

Stefano Gioia
Stefano Gioia 是EMEA的BEA WebLogic Sip Server 技術(shù)專(zhuān)家。他把主要精力都放在讓IMS及其工作人員和合作伙伴能夠跨越歐洲、中東和非洲的努力上。
Tomasz Radziszewski是Ericpol Telecom的軟件研發(fā)工作師。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
IMS時(shí)代運營(yíng)支撐系統建設探討
VoLTE終端去附著(zhù)之二IMS去注冊
IMS關(guān)鍵技術(shù)、運營(yíng)考慮及演進(jìn)策略
這篇VoLTE注冊流程詳解,不收藏就虧大了
VOLTE相關(guān)流程解析
VOLTE網(wǎng)絡(luò )架構、接口與功能實(shí)體
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久