專利名稱:目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)是靠網(wǎng)絡(luò)設(shè)備進(jìn)行相互連接而組成的,網(wǎng)絡(luò)設(shè)備本身的性能和功能等因素決定了全網(wǎng)業(yè)務(wù)的提供和所提供的服務(wù)質(zhì)量,網(wǎng)絡(luò)設(shè)備是否滿足標(biāo)準(zhǔn),也決定了網(wǎng)間是否能夠很好地互通。隨著各種承載語(yǔ)音業(yè)務(wù)的網(wǎng)絡(luò)設(shè)備功能不斷完善,諸如多方會(huì)議、信息查詢等新的業(yè)務(wù)模式也逐步進(jìn)入人們的日常生活中。大力開(kāi)發(fā)或?qū)崿F(xiàn)這樣的一些業(yè)務(wù)模式是各設(shè)備廠商一直在進(jìn)行的課題。所謂業(yè)務(wù),是指目標(biāo)設(shè)備提供的某種功能,例如,電話系統(tǒng)中的查號(hào)功能,實(shí)現(xiàn)一種業(yè)務(wù),就是實(shí)現(xiàn)這種功能。然而,業(yè)務(wù)實(shí)現(xiàn)本身是很困難的工作,往往需要長(zhǎng)時(shí)間的開(kāi)發(fā)測(cè)試,并且,很多業(yè)務(wù)都會(huì)涉及到各種不同的網(wǎng)絡(luò)設(shè)備,需要相關(guān)設(shè)備都能夠支持該業(yè)務(wù),這樣對(duì)所有設(shè)備進(jìn)行開(kāi)發(fā)測(cè)試的周期會(huì)更長(zhǎng)。在很多的業(yè)務(wù)實(shí)現(xiàn)過(guò)程中,常常會(huì)出現(xiàn)某一種設(shè)備率先實(shí)現(xiàn)了一種新業(yè)務(wù),而其相關(guān)設(shè)備還沒(méi)有實(shí)現(xiàn)這種業(yè)務(wù)的情況,也就是說(shuō)其相關(guān)設(shè)備并不支持這種新業(yè)務(wù),此時(shí)對(duì)該設(shè)備的開(kāi)發(fā)測(cè)試就會(huì)遇到很多困難。因?yàn)楹芸赡茉跊](méi)有其相關(guān)設(shè)備的配合下,對(duì)這種新業(yè)務(wù)根本就無(wú)法進(jìn)行驗(yàn)證,也就無(wú)法保證該業(yè)務(wù)功能實(shí)現(xiàn)已經(jīng)正常。
例如,圖1是一種簡(jiǎn)單的VoIP電話業(yè)務(wù)組網(wǎng)圖,其中包含四種設(shè)備MGC(媒體網(wǎng)關(guān)控制)設(shè)備、MRS(媒體資源服務(wù)器)、IAD(綜合接入設(shè)備)、普通電話。其中,MGC起到了呼叫代理的作用。IAD在這里是一種媒體網(wǎng)關(guān),是各終端(普通電話)的接入設(shè)備。MRS提供會(huì)議業(yè)務(wù)、放音業(yè)務(wù)或其它業(yè)務(wù)的資源服務(wù)器。它們之間采用MGCP協(xié)議互通信息。
當(dāng)用戶拿起電話撥出號(hào)碼后,IAD會(huì)首先接收到用戶請(qǐng)求,以及撥出的號(hào)碼,并將號(hào)碼以MGCP報(bào)文格式發(fā)送給MGC。MGC得到IAD請(qǐng)求后,根據(jù)用戶撥出的號(hào)碼,調(diào)用MGC設(shè)備中的各種業(yè)務(wù)代碼,判斷用戶需要怎樣的業(yè)務(wù)。在MGC確定業(yè)務(wù)種類之后,會(huì)根據(jù)該業(yè)務(wù)的實(shí)現(xiàn)流程,分別給IAD和MRS發(fā)送各種命令,協(xié)助兩者協(xié)商并且在兩者之間建立一個(gè)直接的業(yè)務(wù)通道。然后再根據(jù)業(yè)務(wù)形式,命令MRS進(jìn)行放音或者其它操作。放音或者其它操作的結(jié)果就會(huì)通過(guò)MRS和IAD之間建立的業(yè)務(wù)通道從MRS傳送到IAD上,并由IAD發(fā)送給最終用戶。
在整個(gè)業(yè)務(wù)的實(shí)現(xiàn)過(guò)程中,由MGC設(shè)備控制MRS和IAD,MGC設(shè)備是實(shí)現(xiàn)各種業(yè)務(wù)的核心設(shè)備。目標(biāo)設(shè)備,也就是MRS實(shí)現(xiàn)某種業(yè)務(wù)時(shí)需要相應(yīng)的程序代碼。在通常情況下,如果配合實(shí)現(xiàn)業(yè)務(wù)的MGC設(shè)備支持這種業(yè)務(wù),則會(huì)由MGC根據(jù)保存在自身軟件中的業(yè)務(wù)流程向MRS發(fā)出命令,MRS根據(jù)這些命令調(diào)用自身的業(yè)務(wù)實(shí)現(xiàn)代碼進(jìn)行操作;如果MGC不支持這種業(yè)務(wù),MRS上的這些業(yè)務(wù)實(shí)現(xiàn)代碼就沒(méi)有辦法被調(diào)用到,也就沒(méi)有辦法驗(yàn)證這些代碼是否正確。
由此可以看出,如果某種業(yè)務(wù)在欲開(kāi)發(fā)測(cè)試的目標(biāo)設(shè)備上首先實(shí)現(xiàn),而在配合實(shí)現(xiàn)該業(yè)務(wù)的其他輔助設(shè)備上還未實(shí)現(xiàn)的情況下,該業(yè)務(wù)的開(kāi)發(fā)測(cè)試過(guò)程就會(huì)受到極大的影響。此時(shí),就需要尋求其他的方法來(lái)進(jìn)行業(yè)務(wù)的開(kāi)發(fā)測(cè)試。通常有以下兩種方法(1)給目標(biāo)設(shè)備程序打樁是解決這類問(wèn)題的一種常用的方法。給程序打樁,即在目標(biāo)程序中添加一些樁模塊的代碼,以解決這些代碼被調(diào)用的問(wèn)題。具體操作是在目標(biāo)設(shè)備的代碼中加入一些函數(shù),這些加入的函數(shù)主要完成兩部分的功能,如圖2所示,一部分是生成一些調(diào)用目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)代碼的函數(shù);另一部分是給目標(biāo)設(shè)備提供一個(gè)對(duì)外接口,例如對(duì)某種報(bào)文進(jìn)行分析處理的接口。將樁模塊的代碼和原有代碼一起編譯,并加載到單板上。然后,在目標(biāo)設(shè)備外部,按照提供的接口格式構(gòu)造報(bào)文,并發(fā)送給接口。接口部分收到報(bào)文之后,解析所要進(jìn)行的操作,按照操作要求,調(diào)用樁模塊中的業(yè)務(wù)實(shí)現(xiàn)代碼函數(shù),從而達(dá)到了調(diào)用這些業(yè)務(wù)實(shí)現(xiàn)代碼的目的,也就可以驗(yàn)證業(yè)務(wù)代碼是否正確。
這種方法由于要在目標(biāo)設(shè)備系統(tǒng)代碼中加入樁模塊的代碼,無(wú)疑會(huì)對(duì)原有代碼產(chǎn)生一定的影響。而且在該方法的實(shí)現(xiàn)中,樁模塊代碼直接調(diào)用業(yè)務(wù)的實(shí)現(xiàn)代碼,而在實(shí)際系統(tǒng)中,業(yè)務(wù)代碼一般會(huì)涉及到多個(gè)不同的模塊,或者不同的相關(guān)硬件。直接調(diào)用代碼一般只能針對(duì)某一具體的模塊進(jìn)行,很容易忽略模塊間的接口。因此,對(duì)于業(yè)務(wù)代碼實(shí)現(xiàn)的正確性無(wú)法嚴(yán)謹(jǐn)驗(yàn)證。同時(shí),打樁過(guò)程需要了解目標(biāo)設(shè)備源代碼的基本結(jié)構(gòu),并要對(duì)源代碼所使用的語(yǔ)言熟練運(yùn)用,因此,對(duì)接口的處理復(fù)雜且容易出錯(cuò),對(duì)開(kāi)發(fā)測(cè)試人員的要求比較高。同時(shí),開(kāi)發(fā)樁模塊及外部接口需要較多時(shí)間。
(2)完全由編譯執(zhí)行的語(yǔ)言實(shí)現(xiàn)一個(gè)核心設(shè)備,以配合目標(biāo)設(shè)備的開(kāi)發(fā)測(cè)試,例如采用SIP(會(huì)話初始協(xié)議)協(xié)議的軟件電話Hearme Softphone就是典型的完全模擬SIP電話的設(shè)備,如圖3所示。這種方法的基本思路是完成一個(gè)后臺(tái)程序,它能夠在適當(dāng)時(shí)候向目標(biāo)設(shè)備發(fā)送此時(shí)真實(shí)設(shè)備應(yīng)該發(fā)送的報(bào)文,或者在接收到目標(biāo)設(shè)備發(fā)來(lái)的報(bào)文時(shí),進(jìn)行與真實(shí)設(shè)備完全相同的處理,回應(yīng)相應(yīng)的報(bào)文。
這種方法的優(yōu)點(diǎn)在于模擬設(shè)備的功能和真實(shí)設(shè)備幾乎完全一樣,常用來(lái)實(shí)現(xiàn)比較簡(jiǎn)單的終端設(shè)備,例如SIP電話等。該方法只能測(cè)試目標(biāo)設(shè)備的一些簡(jiǎn)單業(yè)務(wù)實(shí)現(xiàn),而且由于該方法是完全用軟件來(lái)實(shí)現(xiàn)一臺(tái)真實(shí)的設(shè)備,當(dāng)模擬的設(shè)備或者業(yè)務(wù)非常復(fù)雜,例如要模擬MGC設(shè)備和相應(yīng)的業(yè)務(wù)時(shí),程序會(huì)非常復(fù)雜,很多設(shè)備的代碼都有好幾百萬(wàn)行,模擬它會(huì)導(dǎo)致開(kāi)發(fā)時(shí)間和難度大大加強(qiáng),甚至幾乎不可能;而且擴(kuò)展各種業(yè)務(wù)的難度大大增加。同時(shí),編譯型的語(yǔ)言修改麻煩,代碼編寫(xiě)要求較高,對(duì)高層數(shù)據(jù)結(jié)構(gòu)處理也不夠靈活,不利于設(shè)備外層的激勵(lì)。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試方法,以克服現(xiàn)有技術(shù)中無(wú)法嚴(yán)格保證業(yè)務(wù)代碼實(shí)現(xiàn)正確性以及實(shí)現(xiàn)復(fù)雜的缺點(diǎn),以便簡(jiǎn)單快速地模擬業(yè)務(wù)流程,可靠地驗(yàn)證目標(biāo)設(shè)備功能實(shí)現(xiàn)的正確性。
本發(fā)明的另一個(gè)目的是提供一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試系統(tǒng),以代替不具備目標(biāo)設(shè)備業(yè)務(wù)功能的控制設(shè)備完成對(duì)目標(biāo)設(shè)備的控制功能。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試方法,所述方法包括A、用腳本語(yǔ)言建立所述目標(biāo)設(shè)備的業(yè)務(wù)流程;B、獲取所述目標(biāo)設(shè)備的業(yè)務(wù)信息;C、根據(jù)所述業(yè)務(wù)流程處理所述業(yè)務(wù)信息;D、根據(jù)所述業(yè)務(wù)信息的處理結(jié)果控制所述目標(biāo)設(shè)備完成業(yè)務(wù)實(shí)現(xiàn)的測(cè)試。
所述步驟B包括B1、建立目標(biāo)設(shè)備協(xié)議的報(bào)文捕獲和發(fā)送函數(shù);B2、建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù);B3、利用所述報(bào)文捕獲和發(fā)送函數(shù)捕獲網(wǎng)絡(luò)報(bào)文;B4、利用所述報(bào)文構(gòu)造和解析函數(shù)解析所述網(wǎng)絡(luò)報(bào)文,獲取所述業(yè)務(wù)信息。
所述步驟B2具體為用所述腳本語(yǔ)言建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù);或者用編譯型語(yǔ)言建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù)。
所述步驟B3包括B31、用編譯型語(yǔ)言擴(kuò)展所述捕獲和發(fā)送處理函數(shù)的腳本語(yǔ)言命令;B32、由所述擴(kuò)展的腳本語(yǔ)言命令捕獲網(wǎng)絡(luò)報(bào)文。
所述步驟D包括D1、根據(jù)所述業(yè)務(wù)信息的處理結(jié)果和所述報(bào)文構(gòu)造和解析函數(shù)構(gòu)造目標(biāo)設(shè)備協(xié)議的回應(yīng)報(bào)文;D2、將所述回應(yīng)報(bào)文發(fā)送給所述目標(biāo)設(shè)備;D3、所述目標(biāo)設(shè)備根據(jù)所述回應(yīng)報(bào)文完成業(yè)務(wù)實(shí)現(xiàn)的測(cè)試。
所述業(yè)務(wù)信息包括所述目標(biāo)設(shè)備以及輔助設(shè)備發(fā)送的業(yè)務(wù)信息。
所述方法還包括E、用腳本語(yǔ)言建立目標(biāo)設(shè)備的服務(wù)功能流程;F、獲取所述目標(biāo)設(shè)備的服務(wù)信息;G、通過(guò)所述服務(wù)功能流程處理所述服務(wù)信息;H、根據(jù)所述服務(wù)信息的處理結(jié)果完成對(duì)所述目標(biāo)設(shè)備業(yè)務(wù)之外的服務(wù)控制。
一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試系統(tǒng),所述系統(tǒng)包括目標(biāo)設(shè)備、輔助設(shè)備和模擬業(yè)務(wù)控制設(shè)備,其中,所述模擬業(yè)務(wù)控制設(shè)備分別耦合于所述目標(biāo)設(shè)備和所述輔助設(shè)備,用于控制所述目標(biāo)設(shè)備和所述輔助設(shè)備完成所述目標(biāo)設(shè)備的業(yè)務(wù)測(cè)試。
所述模擬業(yè)務(wù)控制設(shè)備包括業(yè)務(wù)接口通信裝置,用于完成與所述目標(biāo)設(shè)備和所述輔助設(shè)備之間的業(yè)務(wù)通信;至少一個(gè)業(yè)務(wù)流程實(shí)現(xiàn)裝置,耦合于所述業(yè)務(wù)接口通信裝置,用于模擬所述目標(biāo)設(shè)備的業(yè)務(wù)流程。
所述業(yè)務(wù)接口通信裝置包括
報(bào)文捕獲/發(fā)送裝置,用于捕獲和發(fā)送所述目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)時(shí)的網(wǎng)絡(luò)報(bào)文;報(bào)文構(gòu)造/解析裝置,用于解析所述網(wǎng)絡(luò)報(bào)文并獲取業(yè)務(wù)信息,以及根據(jù)所述業(yè)務(wù)流程實(shí)現(xiàn)裝置對(duì)所述目標(biāo)設(shè)備業(yè)務(wù)流程的模擬結(jié)果構(gòu)造網(wǎng)絡(luò)報(bào)文。
所述模擬業(yè)務(wù)控制設(shè)備還包括服務(wù)接口通信裝置,用于完成與所述目標(biāo)設(shè)備之間的服務(wù)通信;至少一個(gè)服務(wù)功能實(shí)現(xiàn)裝置,耦合于所述服務(wù)接口通信裝置,用于模擬所述目標(biāo)設(shè)備業(yè)務(wù)之外的服務(wù)控制功能。
由以上本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明通過(guò)建立配合目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)的平臺(tái),無(wú)需修改目標(biāo)設(shè)備系統(tǒng)本身的任何代碼,對(duì)原系統(tǒng)沒(méi)有任何影響。由于是從目標(biāo)設(shè)備的外部進(jìn)行業(yè)務(wù)控制,因此不會(huì)忽略目標(biāo)設(shè)備內(nèi)部的任何接口,可以嚴(yán)謹(jǐn)?shù)卮_認(rèn)目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)是否正確。在建立配合目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)的平臺(tái)時(shí),不需要了解目標(biāo)設(shè)備本身的代碼,只需要確定與目標(biāo)設(shè)備接口的協(xié)議即可實(shí)現(xiàn),開(kāi)發(fā)要求較低,開(kāi)發(fā)速度快。由于對(duì)各種業(yè)務(wù)流程的模擬相互獨(dú)立,而各業(yè)務(wù)流程與目標(biāo)設(shè)備采用相同的接口,因此,可以任意模擬實(shí)現(xiàn)目標(biāo)設(shè)備所需要的業(yè)務(wù)形式,擴(kuò)展性好,擴(kuò)展速度快。而且,由于采用腳本語(yǔ)言實(shí)現(xiàn)對(duì)業(yè)務(wù)流程的模擬,因此,實(shí)現(xiàn)容易,可靠性高。本發(fā)明不僅在配合目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)的平臺(tái)中模擬對(duì)目標(biāo)設(shè)備的業(yè)務(wù)控制功能,如果需要,還可以在該平臺(tái)中模擬控制設(shè)備為目標(biāo)設(shè)備提供的服務(wù)控制功能,因此可以完全替代控制設(shè)備進(jìn)行開(kāi)發(fā)測(cè)試,節(jié)省了成本。
圖1是一種簡(jiǎn)單的VoIP電話業(yè)務(wù)組網(wǎng)圖;圖2是現(xiàn)有技術(shù)中目標(biāo)設(shè)備內(nèi)樁模塊功能示意圖;圖3是現(xiàn)有技術(shù)中通過(guò)軟件電話對(duì)目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的組網(wǎng)圖;
圖4是本發(fā)明方法的流程圖;圖5是本發(fā)明方法中用編譯型語(yǔ)言擴(kuò)展腳本命令的示意圖;圖6是一種簡(jiǎn)單的放音業(yè)務(wù)流程圖;圖7是圖7所示放音業(yè)務(wù)在本發(fā)明方法中的實(shí)現(xiàn)流程;圖8是MRS設(shè)備啟動(dòng)后的注冊(cè)流程;圖9是本發(fā)明系統(tǒng)的第一實(shí)施例組網(wǎng)示意圖;圖10是本發(fā)明系統(tǒng)的第二實(shí)施例組網(wǎng)示意圖;圖11是本發(fā)明系統(tǒng)的第三實(shí)施例組網(wǎng)示意圖;圖12是本發(fā)明系統(tǒng)在MRS設(shè)備業(yè)務(wù)測(cè)試中的應(yīng)用示意圖。
具體實(shí)施例方式
本發(fā)明的核心在于建立配合目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)的平臺(tái),在該平臺(tái)中用腳本語(yǔ)言模擬實(shí)現(xiàn)目標(biāo)設(shè)備的各種業(yè)務(wù)流程,通過(guò)這些業(yè)務(wù)流程控制目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)并驗(yàn)證其業(yè)務(wù)實(shí)現(xiàn)的正確性。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
參照?qǐng)D4,圖4是本發(fā)明方法的流程圖,包括以下步驟步驟401用腳本語(yǔ)言建立目標(biāo)設(shè)備的業(yè)務(wù)流程。
本技術(shù)領(lǐng)域人員知道,一些編譯型語(yǔ)言(如C、C++)提供對(duì)計(jì)算機(jī)資源的底層訪問(wèn),可用來(lái)創(chuàng)建復(fù)雜的大型程序,但編譯型語(yǔ)言修改麻煩,代碼編寫(xiě)要求高,對(duì)高層數(shù)據(jù)結(jié)構(gòu)處理靈活性較差;與其他較復(fù)雜的編程語(yǔ)言不同,腳本語(yǔ)言是解釋執(zhí)行的,指令語(yǔ)句由中間程序(即命令解釋程序)順序執(zhí)行。由于腳本語(yǔ)言無(wú)須編譯即可方便地解釋執(zhí)行,修改執(zhí)行非常容易,而且很多腳本語(yǔ)言都封裝了高層的數(shù)據(jù)結(jié)構(gòu),例如字符串處理部分,使用起來(lái)非常方便,因此使用腳本語(yǔ)言建立目標(biāo)設(shè)備的業(yè)務(wù)流程。
腳本語(yǔ)言有很多種,比如TCL語(yǔ)言、Python語(yǔ)言、Java Script等,根據(jù)需要,可以任選一種??紤]到MGCP協(xié)議是文本協(xié)議,而常用的一種腳本語(yǔ)言-TCL語(yǔ)言對(duì)于字符串的處理有非常大的優(yōu)勢(shì),并且提供了C語(yǔ)言的命令擴(kuò)展接口,因此可優(yōu)先選用TCL語(yǔ)言來(lái)實(shí)現(xiàn)。
對(duì)于目標(biāo)設(shè)備不同的業(yè)務(wù),都有不同的實(shí)現(xiàn)流程,因此可以根據(jù)實(shí)際測(cè)試需要,建立多種業(yè)務(wù)流程,需要測(cè)試哪種業(yè)務(wù),就調(diào)用哪種業(yè)務(wù)的流程來(lái)完成對(duì)目標(biāo)設(shè)備的控制。
步驟402建立目標(biāo)設(shè)備協(xié)議的報(bào)文捕獲和發(fā)送函數(shù)。在通過(guò)業(yè)務(wù)流程對(duì)目標(biāo)設(shè)備進(jìn)行控制的過(guò)程中,一定會(huì)涉及到與目標(biāo)設(shè)備信息的交互。因此需要建立目標(biāo)設(shè)備協(xié)議的報(bào)文捕獲和發(fā)送函數(shù),為了與業(yè)務(wù)流程的統(tǒng)一,同樣利用腳本語(yǔ)言建立該函數(shù)。
步驟403建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù)。對(duì)于不同的目標(biāo)設(shè)備,在進(jìn)行信息傳輸時(shí)使用的協(xié)議可能會(huì)有所不同,為了配合目標(biāo)設(shè)備完成業(yè)務(wù)測(cè)試,就需要上述建立的業(yè)務(wù)流程與目標(biāo)設(shè)備交互時(shí)采用相同的協(xié)議,也就是業(yè)務(wù)流程能夠識(shí)別并構(gòu)造目標(biāo)設(shè)備采用協(xié)議的報(bào)文格式。同樣,可以采用相同的腳本語(yǔ)言建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù);為了提高處理速度,也可以采用編譯型語(yǔ)言建立該函數(shù)。
步驟404利用報(bào)文捕獲和發(fā)送函數(shù)捕獲網(wǎng)絡(luò)報(bào)文??紤]到腳本語(yǔ)言的解釋過(guò)程會(huì)降低執(zhí)行效率,因此,用編譯型語(yǔ)言編寫(xiě)捕獲和發(fā)送處理函數(shù),在運(yùn)行中,由擴(kuò)展的腳本語(yǔ)言命令調(diào)用這些函數(shù),以提高執(zhí)行速度。
目前,Windows系統(tǒng)已經(jīng)提供了網(wǎng)絡(luò)編程的API(應(yīng)用編程接口),可以直接使用這些API進(jìn)行報(bào)文捕獲和發(fā)送功能的編程,但由于這些API比較底層,要實(shí)現(xiàn)更多的功能就需要大量的編碼,導(dǎo)致開(kāi)發(fā)時(shí)間變長(zhǎng)。因此優(yōu)選的辦法是利用已有的報(bào)文捕獲和發(fā)送功能軟件包來(lái)實(shí)現(xiàn)。例如,WinPcap軟件包。WinPcap是采用C語(yǔ)言編寫(xiě)的免費(fèi)的報(bào)文捕獲和發(fā)送功能軟件包,具有簡(jiǎn)單實(shí)用、功能齊全、性能優(yōu)異、穩(wěn)定性好等優(yōu)點(diǎn)。
如果采用TCL語(yǔ)言建立目標(biāo)設(shè)備協(xié)議的報(bào)文捕獲和發(fā)送函數(shù),由于TCL語(yǔ)言提供用C語(yǔ)言擴(kuò)展命令的接口,因此可以將WinPcap通過(guò)TCL命令的方式集成到TCL程序中。具體的實(shí)現(xiàn)步驟將在后面描述。
步驟405利用報(bào)文構(gòu)造和解析函數(shù)解析網(wǎng)絡(luò)報(bào)文,獲取目標(biāo)設(shè)備的業(yè)務(wù)信息。所述目標(biāo)設(shè)備的業(yè)務(wù)信息包括目標(biāo)設(shè)備及輔助設(shè)備的業(yè)務(wù)信息。
在對(duì)目標(biāo)設(shè)備進(jìn)行業(yè)務(wù)測(cè)試時(shí),不僅會(huì)涉及到控制設(shè)備對(duì)目標(biāo)設(shè)備的控制信息,還會(huì)涉及到一些其他的輔助設(shè)備,這些輔助設(shè)備不需要對(duì)目標(biāo)設(shè)備的業(yè)務(wù)實(shí)現(xiàn)進(jìn)行控制,只是在控制設(shè)備的控制下配合目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)。比如,圖1所示簡(jiǎn)單的VoIP電話業(yè)務(wù)組網(wǎng)圖中的IAD(綜合接入設(shè)備)及普通電話。這些設(shè)備也需要與建立的業(yè)務(wù)處理流程進(jìn)行交互,也就是說(shuō),利用報(bào)文構(gòu)造和解析函數(shù)解析網(wǎng)絡(luò)報(bào)文獲取的不僅包括目標(biāo)設(shè)備的業(yè)務(wù)信息,還包括一些輔助設(shè)備的業(yè)務(wù)信息。
步驟406根據(jù)業(yè)務(wù)流程處理所述業(yè)務(wù)信息。
步驟407根據(jù)業(yè)務(wù)信息的處理結(jié)果和報(bào)文構(gòu)造和解析函數(shù)構(gòu)造目標(biāo)設(shè)備協(xié)議的回應(yīng)報(bào)文。
步驟408將回應(yīng)報(bào)文發(fā)送給目標(biāo)設(shè)備。
步驟409目標(biāo)設(shè)備根據(jù)回應(yīng)報(bào)文完成業(yè)務(wù)實(shí)現(xiàn)的測(cè)試。
上面步驟404中提到,為了提高網(wǎng)絡(luò)報(bào)文的捕獲和發(fā)送速度,可以利用編譯型語(yǔ)言擴(kuò)展報(bào)文捕獲和發(fā)送函數(shù)中的命令。由于TCL語(yǔ)言提供用C語(yǔ)言擴(kuò)展命令的接口,因此可以將WinPcap通過(guò)TCL命令的方式集成到TCL中。具體的實(shí)現(xiàn)步驟如圖5所示A)用C語(yǔ)言編寫(xiě)一些報(bào)文處理函數(shù)CapturePacket、SendPacket、ConstructUdpPacket、ReserveNDIS等,這些函數(shù)包括占用和釋放計(jì)算機(jī)的網(wǎng)卡,捕獲報(bào)文,構(gòu)造報(bào)文,發(fā)送報(bào)文等。這些函數(shù)調(diào)用了WinPcap中提供的各種API,完成上述功能。
B)用C語(yǔ)言擴(kuò)展一些TCL報(bào)文處理命令TCL_CapturePacket、TCL_SendPacket、TCL_ConstructUdpPacket、TCL_ReserverNDIS等,這些命令將會(huì)調(diào)用到步驟A中已經(jīng)寫(xiě)好的報(bào)文處理函數(shù)。從而在TCL中集成了WinPcap,實(shí)現(xiàn)了報(bào)文捕獲和發(fā)送功能。
C)用TCL語(yǔ)言編寫(xiě)MGCP報(bào)文的構(gòu)造和解析函數(shù)ConstructCreateConnectionPacket、ConstructDeleteConnectionPacket、ConstructAuditEndpointPacket、GetInformationFromMgcpPacket等,這些函數(shù)能夠產(chǎn)生所需的MGCP報(bào)文或者將捕獲到的MGCP報(bào)文進(jìn)行解析,獲取所需要的信息等。
D)用步驟B中提供的發(fā)送報(bào)文的TCL命令和步驟C中提供的MGCP報(bào)文構(gòu)造函數(shù)實(shí)現(xiàn)MGCP協(xié)議中的各種命令的發(fā)送函數(shù)CL_SendCreateConnectionPacket、TCL_SendDeleteConnectionPacket、TCL_SendAuditEndpointPacket。
E)用步驟B中提供的捕獲報(bào)文的TCL命令和步驟C中提供的MGCP報(bào)文解析函數(shù)實(shí)現(xiàn)各種MGCP報(bào)文的捕獲處理函數(shù)TCL_GetInformationFromMgcpPacket,用來(lái)捕獲有效的MGCP報(bào)文并獲取重要的信息。
其中,MGCP報(bào)文構(gòu)造和解析函數(shù)也可以由C語(yǔ)言擴(kuò)展TCL命令來(lái)實(shí)現(xiàn)。
圖6示出了一種簡(jiǎn)單的放音業(yè)務(wù)流程圖,下面將結(jié)合該圖所示業(yè)務(wù)對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
參照?qǐng)D6,當(dāng)IAD向MGC上報(bào)用戶摘機(jī)請(qǐng)求之后,MGC會(huì)向IAD發(fā)送撥號(hào)命令,然后用戶撥號(hào)并且上報(bào)給MGC,由MGC根據(jù)號(hào)碼判斷用戶究竟請(qǐng)求的是什么業(yè)務(wù)。由于該部分純粹是用戶、IAD和MGC之間的操作,對(duì)目標(biāo)設(shè)備MRS的使用沒(méi)有影響,因此上述流程中已經(jīng)將該部分完全省去,使開(kāi)發(fā)過(guò)程更加快捷。同樣對(duì)于其它業(yè)務(wù),也可能會(huì)有一些這樣的與目標(biāo)設(shè)備無(wú)關(guān)的操作,可以省去。
另外,根據(jù)MGCP協(xié)議,所有的命令或請(qǐng)求報(bào)文都要有響應(yīng),通常會(huì)是OK。為了突出流程的重點(diǎn),這些響應(yīng)過(guò)程在流程圖中也省略了,在實(shí)際的模擬系統(tǒng)中發(fā)送給MGC的請(qǐng)求命令,模擬的MGC只要回復(fù)OK即可。
一般而言,如果目標(biāo)設(shè)備提供的外部接口能夠直接和計(jì)算機(jī)的某種接口進(jìn)行通訊,就可以由計(jì)算機(jī)代替核心控制設(shè)備,為目標(biāo)設(shè)備提供實(shí)現(xiàn)業(yè)務(wù)的平臺(tái)。在計(jì)算機(jī)中方便地模擬目標(biāo)設(shè)備的各種業(yè)務(wù)流程,在配合目標(biāo)設(shè)備進(jìn)行業(yè)務(wù)實(shí)現(xiàn)的測(cè)試時(shí),由這些業(yè)務(wù)流程控制目標(biāo)設(shè)備業(yè)務(wù)的運(yùn)行。
例如,目標(biāo)設(shè)備MRS(媒體資源服務(wù)器)可以通過(guò)MGCP(媒體網(wǎng)關(guān)控制協(xié)議)報(bào)文與MGC(媒體網(wǎng)關(guān)控制器)通訊。如果將MGCP報(bào)文封裝在UDP(用戶數(shù)據(jù)報(bào)文協(xié)議)報(bào)文中,則計(jì)算機(jī)就可以通過(guò)網(wǎng)卡接收和發(fā)送UDP報(bào)文。這樣,將本發(fā)明方法中用腳本語(yǔ)言建立的目標(biāo)設(shè)備的業(yè)務(wù)流程、目標(biāo)設(shè)備協(xié)議的報(bào)文捕獲和發(fā)送函數(shù)及目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù)嵌入普通計(jì)算機(jī)中,就可以由計(jì)算機(jī)代替MGC來(lái)完成對(duì)圖6所示放音業(yè)務(wù)的測(cè)試。
該業(yè)務(wù)的實(shí)現(xiàn)流程如圖7所示該圖中的各函數(shù)定義如下(1)TCL_GetInformationFromMgcpPacket函數(shù)網(wǎng)絡(luò)報(bào)文捕獲處理函數(shù),用于獲取目標(biāo)設(shè)備業(yè)務(wù)信息;(2)TCL_SendCreateConnectionPacket函數(shù)網(wǎng)絡(luò)報(bào)文發(fā)送處理函數(shù),用于根據(jù)目標(biāo)設(shè)備的業(yè)務(wù)流程對(duì)目標(biāo)設(shè)備業(yè)務(wù)信息的處理結(jié)果向IAD和MRS發(fā)送建立連接命令報(bào)文;(3)TCL_SendModifyConnectionPacket函數(shù)網(wǎng)絡(luò)報(bào)文發(fā)送處理函數(shù),用于根據(jù)目標(biāo)設(shè)備的業(yè)務(wù)流程對(duì)目標(biāo)設(shè)備業(yè)務(wù)信息的處理結(jié)果向IAD發(fā)送修改連接命令報(bào)文;(4)TCL_SendNotificationRequestPacket函數(shù)網(wǎng)絡(luò)報(bào)文發(fā)送處理函數(shù),用于根據(jù)目標(biāo)設(shè)備的業(yè)務(wù)流程對(duì)目標(biāo)設(shè)備業(yè)務(wù)信息的處理結(jié)果向目標(biāo)設(shè)備MRS發(fā)送放音命令報(bào)文;(5)TCL_SendDeleteConnectionPacket函數(shù)網(wǎng)絡(luò)報(bào)文發(fā)送處理函數(shù),用于根據(jù)目標(biāo)設(shè)備的業(yè)務(wù)流程對(duì)目標(biāo)設(shè)備業(yè)務(wù)信息的處理結(jié)果向IAD和MRS分別發(fā)送刪除連接命令報(bào)文。
放音流程開(kāi)始后,首先,由IAD向計(jì)算機(jī)發(fā)送用戶摘機(jī)請(qǐng)求,由TCL_GetInformationFromMgcpPacket函數(shù)獲取IAD發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否是IAD上報(bào)的用戶摘機(jī)請(qǐng)求報(bào)文,檢測(cè)到后獲取端口號(hào)等信息。
然后,由TCL_SendCreateConnectionPacket函數(shù)向IAD發(fā)送建立連接命令報(bào)文。
再由TCL_GetInformationFromMgcpPacket函數(shù)獲取IAD發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否為IAD上報(bào)的連接建立的回應(yīng)報(bào)文,檢測(cè)到后獲取連接信息。
然后,通過(guò)TCL_SendCreateConnectionPacket函數(shù)向MRS發(fā)送建立連接命令報(bào)文,其中包含IAD回復(fù)的連接信息。
由TCL_GetInformationFromMgcpPacket函數(shù)獲取MRS發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否是MRS上報(bào)的連接建立的回應(yīng)報(bào)文。檢測(cè)到后獲取連接信息。
然后,根據(jù)獲取的連接信息,由TCL_SendModifyConnectionPacket函數(shù)向IAD發(fā)送修改連接命令報(bào)文,其中包含MRS回復(fù)的連接信息。
同時(shí),由TCL_SendNotificationRequestPacket函數(shù)向MRS發(fā)送放音命令報(bào)文。MRS收到后開(kāi)始向IAD放音。該放音信號(hào)不是MGCP報(bào)文,因此不需要對(duì)其進(jìn)行處理。
等待,并由TCL_GetInformationFromMgcpPacket函數(shù)獲取MRS發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否是MRS上報(bào)的放音結(jié)束請(qǐng)求。
檢測(cè)到后由TCL_SendDeleteConnectionPacket函數(shù)向IAD和MRS分別發(fā)送刪除連接命令報(bào)文,并給IAD發(fā)送忙音。
IAD收到忙音后,向業(yè)務(wù)控制設(shè)備(計(jì)算機(jī))發(fā)送用戶掛機(jī)請(qǐng)求,由TCL_GetInformationFromMgcpPacket函數(shù)獲取IAD發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否是IAD上報(bào)的用戶掛機(jī)請(qǐng)求報(bào)文,檢測(cè)到后回復(fù)。
至此,放音流程結(jié)束。
對(duì)于目標(biāo)設(shè)備其他業(yè)務(wù)的測(cè)試過(guò)程與上述類似,在此不再贅述。
在目標(biāo)設(shè)備的業(yè)務(wù)實(shí)現(xiàn)中,有一些輔助設(shè)備,比如,對(duì)MGC這種業(yè)務(wù)流程實(shí)現(xiàn)的核心控制設(shè)備而言,除了控制目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)之外,還需要對(duì)目標(biāo)設(shè)備提供業(yè)務(wù)之外的一些其他服務(wù)控制功能,否則,目標(biāo)設(shè)備有可能不能正常運(yùn)行。對(duì)于這種情況,可以有以下兩種解決方法一種方法是用一臺(tái)真實(shí)的核心控制設(shè)備完成除業(yè)務(wù)之外的所有其他服務(wù)控制功能,用腳本實(shí)現(xiàn)的業(yè)務(wù)流程來(lái)實(shí)現(xiàn)業(yè)務(wù)控制。這種解決方法的主要問(wèn)題是同一種設(shè)備的兩種功能分別由兩種硬件完成,很容易在報(bào)文處理中存在沖突;而且需要一臺(tái)實(shí)際的輔助設(shè)備,增加了成本。
另外一種方法就是繼續(xù)用腳本實(shí)現(xiàn)這樣一些服務(wù)控制功能。具體包括以下步驟(1)用腳本語(yǔ)言建立目標(biāo)設(shè)備的服務(wù)功能流程;(2)獲取目標(biāo)設(shè)備的服務(wù)信息;
(3)通過(guò)服務(wù)功能流程處理服務(wù)信息;(4)根據(jù)服務(wù)信息的處理結(jié)果完成對(duì)目標(biāo)設(shè)備業(yè)務(wù)之外的服務(wù)控制。
上述實(shí)現(xiàn)方式與目標(biāo)設(shè)備業(yè)務(wù)流程的實(shí)現(xiàn)方式類似,不再詳細(xì)描述。需要注意的是,和業(yè)務(wù)實(shí)現(xiàn)不同的是,這里對(duì)服務(wù)信息的處理不再是通過(guò)流程,而相當(dāng)于是后臺(tái)服務(wù)程序。以MRS啟動(dòng)后的注冊(cè)過(guò)程為例,MRS啟動(dòng)之后會(huì)向MGC發(fā)送啟動(dòng)注冊(cè)報(bào)文,MGC一旦接收到這種報(bào)文,就需要回復(fù)OK報(bào)文,然后下發(fā)審計(jì)端點(diǎn)的命令。MRS回復(fù)后,表明MRS正常啟動(dòng),實(shí)現(xiàn)的流程如圖8所示其中,各函數(shù)的含義如下TCL_GetInformationFromMgcpPacket函數(shù)網(wǎng)絡(luò)報(bào)文捕獲處理函數(shù),用于獲取目標(biāo)設(shè)備業(yè)務(wù)信息;TCL_SendOkPacket函數(shù)網(wǎng)絡(luò)報(bào)文發(fā)送處理函數(shù),用于向MRS發(fā)送OK報(bào)文;TCL_SendAuditEndpointPacket函數(shù)網(wǎng)絡(luò)報(bào)文發(fā)送處理函數(shù),用于向MRS發(fā)送審計(jì)端點(diǎn)報(bào)文。
系統(tǒng)啟動(dòng)后,首先由TCL_GetInformationFromMgcpPacket函數(shù)獲取MRS發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否是MRS上報(bào)的啟動(dòng)注冊(cè)報(bào)文。
如果不是,則忽略該報(bào)文,繼續(xù)由TCL_GetInformationFromMgcpPacket函數(shù)獲取MRS發(fā)送的網(wǎng)絡(luò)報(bào)文,檢測(cè)收到的MGCP報(bào)文是否是MRS上報(bào)的啟動(dòng)注冊(cè)報(bào)文。
如果是,則由TCL_SendOkPacket函數(shù)向MRS發(fā)送OK報(bào)文。
然后,再由TCL_SendAuditEndpointPacket函數(shù)向MRS發(fā)送審計(jì)端點(diǎn)報(bào)文。
MRS收到該報(bào)文后,進(jìn)行回復(fù)(輔助設(shè)備無(wú)需回答或者捕獲),至此,注冊(cè)完成。
顯然,這種實(shí)現(xiàn)方法更加優(yōu)越一些,沒(méi)有沖突,節(jié)省成本。
一般而言,如果目標(biāo)設(shè)備提供的外部接口能夠直接和計(jì)算機(jī)的某種接口進(jìn)行通訊,就可以由計(jì)算機(jī)代替核心控制設(shè)備,為目標(biāo)設(shè)備提供實(shí)現(xiàn)業(yè)務(wù)的平臺(tái)。在計(jì)算機(jī)中方便地模擬目標(biāo)設(shè)備的各種業(yè)務(wù)流程,在配合目標(biāo)設(shè)備進(jìn)行業(yè)務(wù)實(shí)現(xiàn)的測(cè)試時(shí),由這些業(yè)務(wù)流程控制目標(biāo)設(shè)備業(yè)務(wù)的運(yùn)行。
例如,目標(biāo)設(shè)備MRS(媒體資源服務(wù)器)可以通過(guò)MGCP(媒體網(wǎng)關(guān)控制協(xié)議)報(bào)文與MGC(媒體網(wǎng)關(guān)控制器)通訊。如果將MGCP報(bào)文封裝在UDP(用戶數(shù)據(jù)報(bào)文協(xié)議)報(bào)文中,則計(jì)算機(jī)就可以通過(guò)網(wǎng)卡接收和發(fā)送UDP報(bào)文,這樣整個(gè)試驗(yàn)系統(tǒng)就只需一臺(tái)計(jì)算機(jī)和目標(biāo)設(shè)備即可??紤]到MRS還需要涉及到語(yǔ)音質(zhì)量的問(wèn)題,因此還可能需要普通電話和IAD(綜合接入設(shè)備)。
參照?qǐng)D9,圖9是本發(fā)明系統(tǒng)的組網(wǎng)示意圖包括模擬業(yè)務(wù)控制設(shè)備90、目標(biāo)設(shè)備91和輔助設(shè)備92。其中,模擬業(yè)務(wù)控制設(shè)備用于代替實(shí)際系統(tǒng)中的核心控制設(shè)備,控制目標(biāo)設(shè)備和輔助設(shè)備完成目標(biāo)設(shè)備的業(yè)務(wù)測(cè)試。
模擬業(yè)務(wù)控制設(shè)備包括與目標(biāo)設(shè)備的實(shí)際接口及輔助設(shè)備進(jìn)行通信的業(yè)務(wù)接口通信裝置901;用于模擬目標(biāo)設(shè)備業(yè)務(wù)流程的業(yè)務(wù)流程實(shí)現(xiàn)裝置902。
因?yàn)槟繕?biāo)設(shè)備和實(shí)際系統(tǒng)中的核心控制設(shè)備之間一定會(huì)有一種通信接口,用來(lái)相互傳送信息,為了正確模擬實(shí)際的業(yè)務(wù)流程,在本發(fā)明裝置中由業(yè)務(wù)接口通信裝置901完成該功能。目標(biāo)設(shè)備和實(shí)際系統(tǒng)中的核心控制設(shè)備通常是采用各種協(xié)議進(jìn)行信息交互,因此還需要該接口采用與目標(biāo)設(shè)備相同的協(xié)議,即能夠正確識(shí)別、處理目標(biāo)設(shè)備的發(fā)送的報(bào)文。
業(yè)務(wù)接口通信裝置901包括報(bào)文捕獲/發(fā)送裝置903和報(bào)文構(gòu)造/解析裝置904,其中,
報(bào)文捕獲/發(fā)送裝置903用于捕獲和發(fā)送目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)時(shí)的網(wǎng)絡(luò)報(bào)文;報(bào)文構(gòu)造/解析裝置904用于解析網(wǎng)絡(luò)報(bào)文并獲取業(yè)務(wù)信息,以及根據(jù)業(yè)務(wù)流程實(shí)現(xiàn)裝置對(duì)目標(biāo)設(shè)備業(yè)務(wù)流程的模擬結(jié)果構(gòu)造網(wǎng)絡(luò)報(bào)文。
在前面對(duì)本發(fā)明方法的描述中已經(jīng)提到,在目標(biāo)設(shè)備的業(yè)務(wù)實(shí)現(xiàn)中,有一些輔助設(shè)備,比如,對(duì)MGC這種業(yè)務(wù)流程實(shí)現(xiàn)的核心控制設(shè)備而言,除了控制目標(biāo)設(shè)備實(shí)現(xiàn)業(yè)務(wù)之外,還需要對(duì)目標(biāo)設(shè)備提供業(yè)務(wù)之外的一些其他服務(wù)控制功能,否則,目標(biāo)設(shè)備有可能不能正常運(yùn)行。對(duì)于這種情況,前面的描述也提到了兩種解決方法。
同樣,針對(duì)這種情況,本發(fā)明系統(tǒng)通過(guò)增加服務(wù)功能實(shí)現(xiàn)裝置,由該裝置控制實(shí)現(xiàn)對(duì)目標(biāo)設(shè)備的服務(wù)控制功能。參照?qǐng)D10所示本發(fā)明的第二實(shí)施例,其中,服務(wù)接口通信裝置101用于完成與目標(biāo)設(shè)備之間的服務(wù)通信;服務(wù)功能實(shí)現(xiàn)裝置102用于模擬需要由核心控制設(shè)備提供的目標(biāo)設(shè)備業(yè)務(wù)之外的服務(wù)控制功能。
在目標(biāo)設(shè)備的業(yè)務(wù)測(cè)試中,可能會(huì)涉及到多個(gè)不同的業(yè)務(wù),針對(duì)這些不同的業(yè)務(wù),本發(fā)明系統(tǒng)還提供了很好的擴(kuò)展功能。參照?qǐng)D11所示的本發(fā)明系統(tǒng)的第三實(shí)施例在該例中,模擬業(yè)務(wù)控制設(shè)備包括兩種業(yè)務(wù)流程實(shí)現(xiàn)裝置查號(hào)業(yè)務(wù)流程實(shí)現(xiàn)裝置111和放音業(yè)務(wù)流程實(shí)現(xiàn)裝置112,這兩種業(yè)務(wù)流程實(shí)現(xiàn)裝置各自獨(dú)立,但共用相同的業(yè)務(wù)接口通信裝置901。因此,如果目標(biāo)設(shè)備有多種業(yè)務(wù)需要進(jìn)行測(cè)試時(shí),只需增加相應(yīng)的業(yè)務(wù)流程實(shí)現(xiàn)裝置,而不需要更改與目標(biāo)設(shè)備的通信接口。
同樣,對(duì)于核心控制設(shè)備的除業(yè)務(wù)控制之外的其他服務(wù)控制功能,也可以采用同樣的方式,通過(guò)擴(kuò)展服務(wù)功能實(shí)現(xiàn)裝置來(lái)提供對(duì)目標(biāo)設(shè)備更多的服務(wù)控制。
參照?qǐng)D12,圖12是本發(fā)明系統(tǒng)在MRS設(shè)備業(yè)務(wù)測(cè)試中的應(yīng)用示意圖
與圖1所示的實(shí)際VoIP電話業(yè)務(wù)組網(wǎng)圖相比,用模擬業(yè)務(wù)控制設(shè)備代替了實(shí)際系統(tǒng)中的核心輔助設(shè)備(控制設(shè)備)MGC。而IAD和普通電話雖然也是輔助設(shè)備,但兩者都不需要實(shí)現(xiàn)業(yè)務(wù),且成本不高,因此,完成可以用實(shí)際產(chǎn)品。
在MRS和MGC設(shè)備交互中,通常是采用各種協(xié)議進(jìn)行交互,MGCP協(xié)議是最常用的控制協(xié)議之一,這是一種采用UDP報(bào)文封裝的文本協(xié)議。設(shè)備間通過(guò)該協(xié)議定義各種命令,例如,建立連接、修改連接、刪除連接、審計(jì)端點(diǎn)等命令完成相互的控制與應(yīng)答、信息上報(bào)等操作。因此,在MRS和模擬業(yè)務(wù)控制設(shè)備之間采用MGCP協(xié)議進(jìn)行信息交互。
雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試方法,其特征在于,所述方法包括A、用腳本語(yǔ)言建立所述目標(biāo)設(shè)備的業(yè)務(wù)流程;B、獲取所述目標(biāo)設(shè)備的業(yè)務(wù)信息;C、根據(jù)所述業(yè)務(wù)流程處理所述業(yè)務(wù)信息;D、根據(jù)所述業(yè)務(wù)信息的處理結(jié)果控制所述目標(biāo)設(shè)備完成業(yè)務(wù)實(shí)現(xiàn)的測(cè)試。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B具體包括B1、建立目標(biāo)設(shè)備協(xié)議的報(bào)文捕獲和發(fā)送函數(shù);B2、建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù);B3、利用所述報(bào)文捕獲和發(fā)送函數(shù)捕獲網(wǎng)絡(luò)報(bào)文;B4、利用所述報(bào)文構(gòu)造和解析函數(shù)解析所述網(wǎng)絡(luò)報(bào)文,獲取所述業(yè)務(wù)信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟B2具體為用所述腳本語(yǔ)言建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù);或者用編譯型語(yǔ)言建立目標(biāo)設(shè)備協(xié)議的報(bào)文構(gòu)造和解析函數(shù)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟B3包括B31、用編譯型語(yǔ)言擴(kuò)展所述捕獲和發(fā)送處理函數(shù)的腳本語(yǔ)言命令;B32、由所述擴(kuò)展的腳本語(yǔ)言命令捕獲網(wǎng)絡(luò)報(bào)文。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟D具體包括D1、根據(jù)所述業(yè)務(wù)信息的處理結(jié)果和所述報(bào)文構(gòu)造和解析函數(shù)構(gòu)造目標(biāo)設(shè)備協(xié)議的回應(yīng)報(bào)文;D2、將所述回應(yīng)報(bào)文發(fā)送給所述目標(biāo)設(shè)備;D3、所述目標(biāo)設(shè)備根據(jù)所述回應(yīng)報(bào)文完成業(yè)務(wù)實(shí)現(xiàn)的測(cè)試。
6.根據(jù)權(quán)利要求1或2或5所述的方法,其特征在于,所述業(yè)務(wù)信息包括所述目標(biāo)設(shè)備以及輔助設(shè)備發(fā)送的業(yè)務(wù)信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括E、用腳本語(yǔ)言建立目標(biāo)設(shè)備的服務(wù)功能流程;F、獲取所述目標(biāo)設(shè)備的服務(wù)信息;G、通過(guò)所述服務(wù)功能流程處理所述服務(wù)信息;H、根據(jù)所述服務(wù)信息的處理結(jié)果完成對(duì)所述目標(biāo)設(shè)備業(yè)務(wù)之外的服務(wù)控制。
8.一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試系統(tǒng),所述系統(tǒng)包括目標(biāo)設(shè)備、輔助設(shè)備,其特征在于,還包括模擬業(yè)務(wù)控制設(shè)備,分別耦合于所述目標(biāo)設(shè)備和所述輔助設(shè)備,用于控制所述目標(biāo)設(shè)備和所述輔助設(shè)備完成所述目標(biāo)設(shè)備的業(yè)務(wù)測(cè)試。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述模擬業(yè)務(wù)控制設(shè)備包括業(yè)務(wù)接口通信裝置,用于完成與所述目標(biāo)設(shè)備和所述輔助設(shè)備之間的業(yè)務(wù)通信;至少一個(gè)業(yè)務(wù)流程實(shí)現(xiàn)裝置,耦合于所述業(yè)務(wù)接口通信裝置,用于模擬所述目標(biāo)設(shè)備的業(yè)務(wù)流程。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述業(yè)務(wù)接口通信裝置包括報(bào)文捕獲/發(fā)送裝置,用于捕獲和發(fā)送所述目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)時(shí)的網(wǎng)絡(luò)報(bào)文;報(bào)文構(gòu)造/解析裝置,用于解析所述網(wǎng)絡(luò)報(bào)文并獲取業(yè)務(wù)信息,以及根據(jù)所述業(yè)務(wù)流程實(shí)現(xiàn)裝置對(duì)所述目標(biāo)設(shè)備業(yè)務(wù)流程的模擬結(jié)果構(gòu)造網(wǎng)絡(luò)報(bào)文。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述模擬業(yè)務(wù)控制設(shè)備還包括服務(wù)接口通信裝置,用于完成與所述目標(biāo)設(shè)備之間的服務(wù)通信;至少一個(gè)服務(wù)功能實(shí)現(xiàn)裝置,耦合于所述服務(wù)接口通信裝置,用于模擬所述目標(biāo)設(shè)備業(yè)務(wù)之外的服務(wù)控制功能。
全文摘要
本發(fā)明公開(kāi)了一種目標(biāo)設(shè)備業(yè)務(wù)實(shí)現(xiàn)的測(cè)試方法及系統(tǒng),所述方法包括用腳本語(yǔ)言建立目標(biāo)設(shè)備的業(yè)務(wù)流程;獲取目標(biāo)設(shè)備的業(yè)務(wù)信息;根據(jù)業(yè)務(wù)流程處理業(yè)務(wù)信息;根據(jù)業(yè)務(wù)信息的處理結(jié)果控制目標(biāo)設(shè)備完成業(yè)務(wù)實(shí)現(xiàn)的測(cè)試。所述系統(tǒng)包括目標(biāo)設(shè)備、輔助設(shè)備和模擬業(yè)務(wù)控制設(shè)備,所述模擬業(yè)務(wù)控制設(shè)備控制所述目標(biāo)設(shè)備和所述輔助設(shè)備完成所述目標(biāo)設(shè)備的業(yè)務(wù)測(cè)試。利用本發(fā)明,可以簡(jiǎn)單快速地模擬業(yè)務(wù)流程,可靠地驗(yàn)證目標(biāo)設(shè)備功能實(shí)現(xiàn)的正確性,降低測(cè)試成本。
文檔編號(hào)H04L12/26GK1735046SQ20041005517
公開(kāi)日2006年2月15日 申請(qǐng)日期2004年8月9日 優(yōu)先權(quán)日2004年8月9日
發(fā)明者李成 申請(qǐng)人:華為技術(shù)有限公司