專(zhuān)利名稱(chēng):一種Diameter協(xié)議接口系統(tǒng)及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種Diameter協(xié)議接口系統(tǒng)及其實(shí)現(xiàn)方法。
背景技術(shù):
現(xiàn)代通信領(lǐng)域中,各業(yè)務(wù)節(jié)點(diǎn)都是通過(guò)Diameter協(xié)議去在線(xiàn)計(jì)費(fèi)系統(tǒng)(OCS)扣 費(fèi)、補(bǔ)費(fèi)等操作的。標(biāo)準(zhǔn)的Diameter協(xié)議(RFC3588、RFC4006)對(duì)協(xié)議的框架和基本屬性 對(duì)(AVP,Attribute Value Pairs)進(jìn)行了定義,但無(wú)法滿(mǎn)足某些具體計(jì)費(fèi)過(guò)程中的需要。 為此,各運(yùn)營(yíng)商在標(biāo)準(zhǔn)的Diameter協(xié)議基礎(chǔ)上,相繼進(jìn)行了擴(kuò)充,分別定義了一些自己的 AVP。而各運(yùn)營(yíng)商對(duì)AVP的定義又是不相同的。目前,對(duì)于Diameter協(xié)議的開(kāi)發(fā)只能針對(duì)不同的運(yùn)營(yíng)商分別開(kāi)發(fā),并分別維護(hù)一套代碼。這給項(xiàng)目的開(kāi)發(fā)和維護(hù)造成了不便,也使項(xiàng)目的成本提高。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題是提供一種Diameter協(xié)議接口系統(tǒng)及其實(shí)現(xiàn)方法,可以適 應(yīng)各運(yùn)營(yíng)商對(duì)標(biāo)準(zhǔn)Diameter協(xié)議的擴(kuò)充。為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種Diameter協(xié)議接口實(shí)現(xiàn)方法,包括接收第一消息后,根據(jù)預(yù)配置的第一消息的格式定義,解析所述第一消息,從所述 第一消息中提取內(nèi)容數(shù)據(jù),按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù),根據(jù)預(yù)配置的第二 消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)所述存儲(chǔ)規(guī)則提取出所述需要的 內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二消息。進(jìn)一步地,所述第一消息為非Diameter協(xié)議消息,所述第二消息為Diameter協(xié)議 消息。進(jìn)一步地,所述第二消息為信用控制請(qǐng)求(CCR)消息。進(jìn)一步地,所述第一消息為Diameter協(xié)議消息,所述第二消息為非Diameter協(xié)議 消息。進(jìn)一步地,所述第一消息為信用控制應(yīng)答(CCA)消息。為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種diameter協(xié)議接口系統(tǒng),包括第一消息格式定義模塊,用于保存預(yù)配置的第一消息的格式定義;第二消息格式定義模塊,用于保存預(yù)配置的第二消息的格式定義;運(yùn)算及控制模塊,用于接收第一消息,根據(jù)第一消息格式定義模塊保存的第一消 息的格式定義,解析所述第一消息,從所述第一消息中提取內(nèi)容數(shù)據(jù),送保存模塊保存;以 及用于根據(jù)預(yù)配置的第二消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)存儲(chǔ)規(guī) 則從保存模塊的相應(yīng)存儲(chǔ)單元中提取出所述需要的內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二 消息;保存模塊,用于按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù)。進(jìn)一步地,所述第一消息為非Diameter協(xié)議消息,所述第二消息為Diameter協(xié)議消息。進(jìn)一步地,所述第一消息格式定義模塊,進(jìn)一步用于保存預(yù)先配置的非Diameter 協(xié)議消息的消息格式;所述第二消息格式定義模塊,進(jìn)一步用于保存組成Diameter協(xié)議消息所需要的 AVP格式以及每種AVP格式對(duì)應(yīng)的AVP數(shù)據(jù)的來(lái)源,所述來(lái)源包括以下一種或幾種內(nèi)容保 存模塊、配置模塊、會(huì)話(huà)模塊;所述保存模塊進(jìn)一步包括內(nèi)容保存模塊、配置模塊和會(huì)話(huà)模塊,其中所述內(nèi)容保存模塊,用于保存接收到的非Diameter消息的內(nèi)容數(shù)據(jù);所述配置模塊,用于保存預(yù)先配置的在消息交互過(guò)程中使用的常用配置項(xiàng);所述會(huì)話(huà)模塊,用于保存非Diameter協(xié)議消息中的需要在向發(fā)送端應(yīng)答時(shí)攜帶 的參數(shù);所述運(yùn)算及控制模塊,進(jìn)一步用于在接收到發(fā)送端發(fā)送的非Diameter協(xié)議消息 后,根據(jù)所述第一消息格式定義模塊中保存的該非Diameter協(xié)議消息的消息格式,解析 該非Diameter協(xié)議消息,從中提取出消息內(nèi)容保存在所述內(nèi)容保存模塊中,并將需要在向 發(fā)送端應(yīng)答時(shí)攜帶的參數(shù)保存在會(huì)話(huà)模塊中;根據(jù)所述第二消息格式定義模塊中保存的 AVP格式對(duì)應(yīng)的AVP數(shù)據(jù)的來(lái)源,從相應(yīng)的模塊中提取數(shù)據(jù)構(gòu)造AVP,將構(gòu)造的AVP封裝為 Diameter協(xié)議消息。進(jìn)一步地,所述第一消息為Diameter協(xié)議消息,所述第二消息為非Diameter協(xié)議 消息。進(jìn)一步地,所述第一消息格式定義模塊,進(jìn)一步用于保存預(yù)先配置的Diameter協(xié) 議消息的AVP格式;所述第二消息格式定義模塊,進(jìn)一步用于保存預(yù)先配置的非Diameter協(xié)議消息 的消息格式以及該消息格式中數(shù)據(jù)的來(lái)源,所述來(lái)源包括以下一種或幾種內(nèi)容保存模塊、 配置模塊、會(huì)話(huà)模塊;所述保存模塊進(jìn)一步包括內(nèi)容保存模塊、配置模塊和會(huì)話(huà)模塊,其中所述內(nèi)容保存模塊,用于保存接收到的Diameter消息的內(nèi)容數(shù)據(jù);所述配置模塊,用于保存預(yù)先配置的在消息交互過(guò)程中使用的常用配置項(xiàng);所述會(huì)話(huà)模塊,用于保存非Diameter協(xié)議消息中的需要在向發(fā)送端應(yīng)答時(shí)攜帶 的參數(shù);所述運(yùn)算及控制模塊,進(jìn)一步用于在接收到Diameter協(xié)議消息后,根據(jù)第一消息 格式定義模塊中保存的該Diameter協(xié)議消息的AVP格式,解析該Diameter協(xié)議消息,從中 提取出AVP數(shù)據(jù),并將AVP數(shù)據(jù)保存在內(nèi)容保存模塊中;根據(jù)所述第二消息格式定義模塊中 保存的數(shù)據(jù)的來(lái)源,從相應(yīng)的模塊中提取數(shù)據(jù)構(gòu)造非Diameter協(xié)議消息。應(yīng)用本方法開(kāi)發(fā)的接口軟系統(tǒng),能夠運(yùn)用于任何運(yùn)營(yíng)商,不必再為每個(gè)運(yùn)營(yíng)商單 獨(dú)開(kāi)發(fā)一個(gè)接口,各運(yùn)營(yíng)商可統(tǒng)一使用一套代碼,為項(xiàng)目節(jié)省成本和時(shí)間。
圖1為接口結(jié)構(gòu)圖;圖2為CCR請(qǐng)求生成流程圖3為CCA應(yīng)答生成流程圖。
具體實(shí)施例方式本發(fā)明通過(guò)接口系統(tǒng),對(duì)接收到非Diameter協(xié)議消息進(jìn)行處理,將其轉(zhuǎn)化為 Diameter協(xié)議消息,發(fā)送給其他Diameter設(shè)備,以及對(duì)從其他Diameter設(shè)備處接收到的 Diameter協(xié)議消息進(jìn)行處理,將其轉(zhuǎn)化為非Diameter協(xié)議消息,發(fā)送給相應(yīng)設(shè)備。本發(fā)明的方法包括接收第一消息后,根據(jù)預(yù)配置的第一消息的格式定義,解析所述第一消息,從所述 第一消息中提取內(nèi)容數(shù)據(jù),按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù),根據(jù)預(yù)配置的第二 消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)所述存儲(chǔ)規(guī)則提取出所述需要的 內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二消息。第一消息為非Diameter協(xié)議消息,如任何接收到的非Diameter消息,以下稱(chēng)請(qǐng)求 消息,第二消息為Diameter協(xié)議消息,如信用控制請(qǐng)求(CCR,CreditControl Request)消 肩、ο
第一消息為Diameter協(xié)議消息,如信用控制應(yīng)答(CCA,Credit ControlAnswer) 消息,第二消息為非Diameter協(xié)議消息,如應(yīng)答消息。所述按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù)是指按照預(yù)配置的規(guī)則將數(shù)據(jù)分 別存儲(chǔ)在不同的位置,以便構(gòu)造第二消息時(shí)使用。實(shí)現(xiàn)本發(fā)明方法的系統(tǒng)包括第一消息格式定義模塊,用于保存預(yù)配置的第一消息的格式定義;第二消息格式定義模塊,用于保存預(yù)配置的第二消息的格式定義;運(yùn)算及控制模塊,用于接收第一消息,根據(jù)第一消息格式定義模塊保存的第一消 息的格式定義,解析所述第一消息,從所述第一消息中提取內(nèi)容數(shù)據(jù),送保存模塊保存;以 及用于根據(jù)預(yù)配置的第二消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)存儲(chǔ)規(guī) 則從保存模塊的相應(yīng)存儲(chǔ)單元中提取出所述需要的內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二 消息;保存模塊,用于按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù)。具體地 第一消息為非Diameter協(xié)議消息,第二消息為Diameter協(xié)議消息時(shí),將非 Diameter協(xié)議消息轉(zhuǎn)化為Diameter協(xié)議消息的系統(tǒng)如圖1所示,包括第一消息格式定義模塊為圖1中的請(qǐng)求定義模塊,其用于保存預(yù)先配置的非 Diameter協(xié)議消息的消息格式,如該消息由哪些字段組成,并且每個(gè)字段的類(lèi)型等信息;第二消息格式定義模塊為圖1中的CCR結(jié)構(gòu)定義模塊,其用于保存組成Diameter 協(xié)議消息所需要的AVP格式以及每種AVP格式對(duì)應(yīng)的AVP數(shù)據(jù)的來(lái)源,所述來(lái)源包括 以下模塊中的一個(gè)或幾個(gè)內(nèi)容保存模塊、配置模塊、會(huì)話(huà)模塊;如CCR中第一個(gè)AVP是 OriginHost (發(fā)送端主機(jī)標(biāo)識(shí))并且其數(shù)據(jù)來(lái)源為配置模塊等;保存模塊包括配置模塊、會(huì)話(huà)模塊以及內(nèi)容保存模塊,其中內(nèi)容保存模塊,用于保存接收到的非Diameter消息的內(nèi)容數(shù)據(jù);在本實(shí)施例中, 內(nèi)容保存模塊和請(qǐng)求定義模塊合設(shè)在一起,在其他實(shí)施例中,兩模塊也可以分開(kāi)設(shè)置;
配置模塊,用于保存預(yù)先配置的在消息交互過(guò)程中使用的常用配置項(xiàng),如本機(jī)IP 和OCS的IP等;會(huì)話(huà)模塊,用于保存非Diameter協(xié)議消息中的需要在向發(fā)送端應(yīng)答時(shí)攜帶的參 數(shù),可根據(jù)配置決定;運(yùn)算及控制模塊為圖1中的運(yùn)算模塊,用于在接收到發(fā)送端發(fā)送的非Diameter 協(xié)議消息后,根據(jù)請(qǐng)求定義模塊中保存的該非Diameter協(xié)議消息的消息格式,解析該非 Diameter協(xié)議消息,從中提取出消息內(nèi)容,將消息內(nèi)容數(shù)據(jù)保存在請(qǐng)求定義模塊(中的內(nèi) 容保存模塊)中,并將其中需要在向發(fā)送端應(yīng)答時(shí)攜帶的參數(shù)保存在會(huì)話(huà)模塊中;根據(jù)所 述CCR結(jié)構(gòu)定義模塊中保存的AVP格式對(duì)應(yīng)的AVP數(shù)據(jù)的來(lái)源,從相應(yīng)的模塊中提取數(shù)據(jù) 構(gòu)造AVP,將構(gòu)造的AVP封裝為Diameter協(xié)議消息。通常一個(gè)Diameter協(xié)議消息中包含多個(gè)AVP。
第一消息為Diameter協(xié)議消息,第二消息為非Diameter協(xié)議消息時(shí),將 Diameter協(xié)議消息轉(zhuǎn)化為非Diameter協(xié)議消息的系統(tǒng)包括在本實(shí)施例中,第一消息格式定義模塊為CCA結(jié)構(gòu)定義模塊,用于保存預(yù)先配置 的Diameter協(xié)議消息的AVP格式;第二消息格式定義模塊為請(qǐng)求定義模塊,用于保存預(yù)先配置的非Diameter協(xié)議 消息的消息格式以及該消息格式中數(shù)據(jù)的來(lái)源,所述來(lái)源包括以下模塊中的一個(gè)或幾個(gè) 內(nèi)容保存模塊、配置模塊、會(huì)話(huà)模塊;保存模塊包括配置模塊、會(huì)話(huà)模塊以及內(nèi)容保存模塊,其中內(nèi)容保存模塊,用于保存接收到的Diameter消息的內(nèi)容數(shù)據(jù);在本實(shí)施例中,內(nèi) 容保存模塊和CCA結(jié)構(gòu)定義模塊可以合設(shè)在一起,在其他實(shí)施例中,兩模塊也可以分開(kāi)設(shè) 置;配置模塊,用于保存預(yù)先配置的在消息交互過(guò)程中使用的常用配置項(xiàng),如本機(jī)IP 和OCS的IP等;會(huì)話(huà)模塊,用于保存非Diameter協(xié)議消息中的需要在向發(fā)送端應(yīng)答時(shí)攜帶的參 數(shù);運(yùn)算模塊,用于在接收到Diameter協(xié)議消息后,根據(jù)CCA結(jié)構(gòu)定義模塊中保存的 該Diameter協(xié)議消息的AVP格式,解析該Diameter協(xié)議消息,從中提取出AVP數(shù)據(jù),保存 在CCA結(jié)構(gòu)定義模塊(中的內(nèi)容保存模塊)中;根據(jù)所述請(qǐng)求定義模塊中保存的數(shù)據(jù)的來(lái) 源,從相應(yīng)的模塊中提取數(shù)據(jù)構(gòu)造非Diameter協(xié)議消息。程序啟動(dòng)后,從配置文件讀取配置模塊、CCR結(jié)構(gòu)定義模塊、請(qǐng)求定義模塊和會(huì)話(huà) 模塊的信息,并初始化數(shù)據(jù)。將請(qǐng)求消息轉(zhuǎn)化為CCR消息的具體流程如圖2所示步驟201 運(yùn)算模塊收到請(qǐng)求消息;步驟202 運(yùn)算模塊從請(qǐng)求定義模塊讀取請(qǐng)求消息的消息格式定義信息,并根據(jù) 消息格式定義解析請(qǐng)求消息;步驟203 將解析后的請(qǐng)求消息存入請(qǐng)求定義模塊,以備后面生成CCR消息用;在本實(shí)施例中,內(nèi)容保存模塊與請(qǐng)求定義模塊合設(shè)在一起。然后,開(kāi)始掃描CCR結(jié)構(gòu)定義模塊,并根據(jù)此模塊的信息生成CCR消息,如下
步驟204 掃描至CCR結(jié)構(gòu)定義模塊的第一個(gè)域,即第一個(gè)AVP,發(fā)現(xiàn)此AVP的數(shù)據(jù) 源是請(qǐng)求定義模塊;步驟205 根據(jù)數(shù)據(jù)源是請(qǐng)求定義模塊這一信息,去請(qǐng)求定義模塊查找相應(yīng)數(shù)據(jù);步驟206 將查找到的數(shù)據(jù)復(fù)制到CCR數(shù)據(jù)緩沖區(qū)的第一個(gè)AVP區(qū)域中;至此,完成第一個(gè)AVP數(shù)據(jù)的生成。循環(huán)執(zhí)行步驟204-206,生成AVP2、AVP3和 AVP4的數(shù)據(jù)。
步驟207 掃描至CCR結(jié)構(gòu)定義模塊的第五個(gè)域,即第五個(gè)AVP,發(fā)現(xiàn)此AVP的數(shù)據(jù) 源是配置模塊;步驟208 根據(jù)數(shù)據(jù)源是配置模塊這一信息,去配置模塊查找相應(yīng)數(shù)據(jù);步驟209 將查找到的數(shù)據(jù)復(fù)制到CCR數(shù)據(jù)緩沖區(qū)的第五個(gè)AVP區(qū)域中;步驟210 根據(jù)會(huì)話(huà)模塊的信息,將需要緩存的數(shù)據(jù)從請(qǐng)求模塊復(fù)制到會(huì)話(huà)模塊。本步驟不限于在此時(shí)執(zhí)行,也可以收到數(shù)據(jù)后就執(zhí)行。 至此,完成整個(gè)CCR的數(shù)據(jù)組裝,將通過(guò)TCP/IP發(fā)送給0CS。將CCA消息轉(zhuǎn)化為應(yīng)答消息的具體流程如圖3所示步驟301 接口收到OCS返回的應(yīng)答消息(CCA);步驟302 運(yùn)算模塊從CCA結(jié)構(gòu)定義模塊讀取CCA的消息格式定義信息,并根據(jù)其 消息格式定義解析應(yīng)答消息;步驟303 將解析后的應(yīng)答消息存入CCA結(jié)構(gòu)定義模塊,以備后面生成應(yīng)答消息 用;然后,開(kāi)始掃描請(qǐng)求定義模塊,并根據(jù)此模塊的信息生成應(yīng)答消息,如下步驟304 掃描至請(qǐng)求定義模塊的第一個(gè)域,發(fā)現(xiàn)此字段的數(shù)據(jù)源是CCA應(yīng)答消息 中的一個(gè)AVP ;步驟305 根據(jù)數(shù)據(jù)源是CCA這一信息,去CCA結(jié)構(gòu)定義模塊查找相應(yīng)數(shù)據(jù);步驟306 將查找到的數(shù)據(jù)復(fù)制到應(yīng)答數(shù)據(jù)緩沖區(qū)的第一個(gè)區(qū)域中;至此,完成第一個(gè)字段數(shù)據(jù)的生成。按照這個(gè)方法生成第二個(gè)、第三個(gè)和第四個(gè)字 段的數(shù)據(jù)。步驟307 掃描至請(qǐng)求定義模塊的第五個(gè)域,發(fā)現(xiàn)此字段的數(shù)據(jù)源是會(huì)話(huà)模塊(會(huì) 話(huà)模塊的數(shù)據(jù)是在步驟210中生成的);步驟308 根據(jù)數(shù)據(jù)源是會(huì)話(huà)模塊這一信息,去會(huì)話(huà)模塊查找相應(yīng)數(shù)據(jù);步驟309 將查找到的數(shù)據(jù)復(fù)制到應(yīng)答數(shù)據(jù)緩沖區(qū)的第五個(gè)區(qū)域中。至此,應(yīng)答消息生成,并發(fā)送給發(fā)送請(qǐng)求方。流程結(jié)束。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令 相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán) 等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng) 地,上述實(shí)施例中的各模塊可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí) 現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟 悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
一種Diameter協(xié)議接口實(shí)現(xiàn)方法,包括接收第一消息后,根據(jù)預(yù)配置的第一消息的格式定義,解析所述第一消息,從所述第一消息中提取內(nèi)容數(shù)據(jù),按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù),根據(jù)預(yù)配置的第二消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)所述存儲(chǔ)規(guī)則提取出所述需要的內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二消息。
2.如權(quán)利要求1所述的方法,其特征在于所述第一消息為非Diameter協(xié)議消息,所述第二消息為Diameter協(xié)議消息。
3.如權(quán)利要求2所述的方法,其特征在于 所述第二消息為信用控制請(qǐng)求(CCR)消息。
4.如權(quán)利要求1所述的方法,其特征在于所述第一消息為Diameter協(xié)議消息,所述第二消息為非Diameter協(xié)議消息。
5.如權(quán)利要求4所述的方法,其特征在于 所述第一消息為信用控制應(yīng)答(CCA)消息。
6.一種diameter協(xié)議接口系統(tǒng),包括第一消息格式定義模塊,用于保存預(yù)配置的第一消息的格式定義; 第二消息格式定義模塊,用于保存預(yù)配置的第二消息的格式定義; 運(yùn)算及控制模塊,用于接收第一消息,根據(jù)第一消息格式定義模塊保存的第一消息的 格式定義,解析所述第一消息,從所述第一消息中提取內(nèi)容數(shù)據(jù),送保存模塊保存;以及用 于根據(jù)預(yù)配置的第二消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)存儲(chǔ)規(guī)則從 保存模塊的相應(yīng)存儲(chǔ)單元中提取出所述需要的內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二消 息;保存模塊,用于按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù)。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于所述第一消息為非Diameter協(xié)議消息,所述第二消息為Diameter協(xié)議消息。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于所述第一消息格式定義模塊,進(jìn)一步用于保存預(yù)先配置的非Diameter協(xié)議消息的消 息格式;所述第二消息格式定義模塊,進(jìn)一步用于保存組成Diameter協(xié)議消息所需要的AVP格 式以及每種AVP格式對(duì)應(yīng)的AVP數(shù)據(jù)的來(lái)源,所述來(lái)源包括以下一種或幾種內(nèi)容保存模 塊、配置模塊、會(huì)話(huà)模塊;所述保存模塊進(jìn)一步包括內(nèi)容保存模塊、配置模塊和會(huì)話(huà)模塊,其中 所述內(nèi)容保存模塊,用于保存接收到的非Diameter消息的內(nèi)容數(shù)據(jù); 所述配置模塊,用于保存預(yù)先配置的在消息交互過(guò)程中使用的常用配置項(xiàng); 所述會(huì)話(huà)模塊,用于保存非Diameter協(xié)議消息中的需要在向發(fā)送端應(yīng)答時(shí)攜帶的參數(shù);所述運(yùn)算及控制模塊,進(jìn)一步用于在接收到發(fā)送端發(fā)送的非Diameter協(xié)議消息后, 根據(jù)所述第一消息格式定義模塊中保存的該非Diameter協(xié)議消息的消息格式,解析該 非Diameter協(xié)議消息,從中提取出消息內(nèi)容保存在所述內(nèi)容保存模塊中,并將需要在向 發(fā)送端應(yīng)答時(shí)攜帶的參數(shù)保存在會(huì)話(huà)模塊中;根據(jù)所述第二消息格式定義模塊中保存的AVP格式對(duì)應(yīng)的AVP數(shù)據(jù)的來(lái)源,從相應(yīng)的模塊中提取數(shù)據(jù)構(gòu)造AVP,將構(gòu)造的AVP封裝為 Diameter協(xié)議消息。
9.如權(quán)利要求6所述的系統(tǒng),其特征在于所述第一消息為Diameter協(xié)議消息,所述第二消息為非Diameter協(xié)議消息。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于所述第一消息格式定義模塊,進(jìn)一步用于保存預(yù)先配置的Diameter協(xié)議消息的AVP格式;所述第二消息格式定義模塊,進(jìn)一步用于保存預(yù)先配置的非Diameter協(xié)議消息的消 息格式以及該消息格式中數(shù)據(jù)的來(lái)源,所述來(lái)源包括以下一種或幾種內(nèi)容保存模塊、配置 模塊、會(huì)話(huà)模塊;所述保存模塊進(jìn)一步包括內(nèi)容保存模塊、配置模塊和會(huì)話(huà)模塊,其中 所述內(nèi)容保存模塊,用于保存接收到的Diameter消息的內(nèi)容數(shù)據(jù); 所述配置模塊,用于保存預(yù)先配置的在消息交互過(guò)程中使用的常用配置項(xiàng); 所述會(huì)話(huà)模塊,用于保存非Diameter協(xié)議消息中的需要在向發(fā)送端應(yīng)答時(shí)攜帶的參數(shù);所述運(yùn)算及控制模塊,進(jìn)一步用于在接收到Diameter協(xié)議消息后,根據(jù)第一消息格式 定義模塊中保存的該Diameter協(xié)議消息的AVP格式,解析該Diameter協(xié)議消息,從中提取 出AVP數(shù)據(jù),并將AVP數(shù)據(jù)保存在內(nèi)容保存模塊中;根據(jù)所述第二消息格式定義模塊中保存 的數(shù)據(jù)的來(lái)源,從相應(yīng)的模塊中提取數(shù)據(jù)構(gòu)造非Diameter協(xié)議消息。
全文摘要
本發(fā)明公開(kāi)了一種Diameter協(xié)議接口系統(tǒng)及其實(shí)現(xiàn)方法,可以適應(yīng)各運(yùn)營(yíng)商對(duì)標(biāo)準(zhǔn)Diameter協(xié)議的擴(kuò)充。所述方法包括接收第一消息后,根據(jù)預(yù)配置的第一消息的格式定義,解析所述第一消息,從所述第一消息中提取內(nèi)容數(shù)據(jù),按照預(yù)定存儲(chǔ)規(guī)則保存提取出的內(nèi)容數(shù)據(jù),根據(jù)預(yù)配置的第二消息的格式定義確定構(gòu)造第二消息需要的內(nèi)容數(shù)據(jù),根據(jù)所述存儲(chǔ)規(guī)則提取出所述需要的內(nèi)容數(shù)據(jù),將所述內(nèi)容數(shù)據(jù)封裝為第二消息。應(yīng)用本方法開(kāi)發(fā)的接口軟系統(tǒng),能夠運(yùn)用于任何運(yùn)營(yíng)商,不必再為每個(gè)運(yùn)營(yíng)商單獨(dú)開(kāi)發(fā)一個(gè)接口,各運(yùn)營(yíng)商可統(tǒng)一使用一套代碼,為項(xiàng)目節(jié)省成本和時(shí)間。
文檔編號(hào)H04L29/06GK101873322SQ20101020368
公開(kāi)日2010年10月27日 申請(qǐng)日期2010年6月17日 優(yōu)先權(quán)日2010年6月17日
發(fā)明者尹宏偉 申請(qǐng)人:中興通訊股份有限公司