国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟交換INAP業(yè)務(wù)適配系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

2010-05-15 00:29:54張建中
無線電通信技術(shù) 2010年3期
關(guān)鍵詞:原語狀態(tài)機(jī)智能網(wǎng)

張建中

(河北遠(yuǎn)東哈里斯通信有限公司,河北 石家莊 050081)

0 引言

在軟交換技術(shù)推出之前,電信網(wǎng)上的智能業(yè)務(wù)很多都是由智能網(wǎng)(IN)提供的。隨著公眾電話網(wǎng)絡(luò)(PSTN)向下一代網(wǎng)絡(luò)(NGN)的逐漸演進(jìn),軟交換設(shè)備正在逐漸替換原有時(shí)分復(fù)用(TDM)制式的交換設(shè)備。智能網(wǎng)做為電信運(yùn)營(yíng)商前期大量投入的投資不可能因?yàn)檐浗粨Q的推出而一下子全部推翻不用,因此,軟交換設(shè)備必須能夠與原有智能網(wǎng)進(jìn)行互通,并繼承智能網(wǎng)原有的業(yè)務(wù),從而最大程度保護(hù)運(yùn)營(yíng)商的前期投資。

軟交換智能網(wǎng)應(yīng)用規(guī)程(INAP)業(yè)務(wù)適配系統(tǒng)即軟交換系統(tǒng)內(nèi)用于與智能網(wǎng)通過INAP協(xié)議進(jìn)行互通的子系統(tǒng)。通過INAP業(yè)務(wù)適配系統(tǒng),軟交換域內(nèi)的各類用戶仍舊可以使用智能網(wǎng)的各類語音業(yè)務(wù),智能網(wǎng)內(nèi)的業(yè)務(wù)控制點(diǎn)(SCP)設(shè)備仍舊可以對(duì)軟交換域內(nèi)的用戶進(jìn)行業(yè)務(wù)控制。

1 INAP業(yè)務(wù)適配系統(tǒng)工作原理

軟交換系統(tǒng)在智能網(wǎng)的概念模型中,其地位相當(dāng)于業(yè)務(wù)交換點(diǎn)(SSP),而業(yè)務(wù)邏輯則位于SCP。INAP是國際電信聯(lián)盟的電信標(biāo)準(zhǔn)化局(ITU-T)制定的用于智能網(wǎng)各功能實(shí)體之間進(jìn)行標(biāo)準(zhǔn)化通信的協(xié)議。INAP業(yè)務(wù)適配系統(tǒng)屬于SSP內(nèi)的一個(gè)功能實(shí)體,其目的是向SCP暴露標(biāo)準(zhǔn)業(yè)務(wù)接口。圖1給出了INAP業(yè)務(wù)適配系統(tǒng)在SCP和SSP通信過程中所處的位置及其功能。

CS2A、SF、TCAPES是分別對(duì)INAP業(yè)務(wù)適配系統(tǒng)、呼叫控制系統(tǒng)、事務(wù)處理能力應(yīng)用部分(TCAP)協(xié)議棧應(yīng)用程序?qū)嵗囊粋€(gè)稱謂。

CS2A是一個(gè)獨(dú)立運(yùn)行的程序,在運(yùn)行時(shí)它需要與軟交換系統(tǒng)的其他模塊進(jìn)行消息交互,共同配合完成與智能網(wǎng)的互通功能。與CS2A進(jìn)行消息交互的2個(gè)關(guān)鍵進(jìn)程是SF和承載INAP協(xié)議的TCAPES。SF相當(dāng)于智能網(wǎng)中的SSF實(shí)體,TCAPES是7號(hào)信令網(wǎng)絡(luò)的上層協(xié)議承載者。CS2A與SF通過私有協(xié)議進(jìn)行通信,與TCAPES使用符合TCAP協(xié)議規(guī)范的TCAP原語進(jìn)行通信,其中INAP協(xié)議信息單元包含于TCAP原語的參數(shù)之中。CS2A的主要功能即是負(fù)責(zé)將私有協(xié)議與INAP協(xié)議進(jìn)行相互轉(zhuǎn)換和映射。

圖1 CS2A在SSP和SCP通信中的位置

SF負(fù)責(zé)將觸發(fā)的業(yè)務(wù)信息上報(bào)給CS2A,CS2A將該消息轉(zhuǎn)換為標(biāo)準(zhǔn)的INAP消息并通過TCAPES送達(dá)信令連接控制部分(SCCP)、消息傳遞部分(MTP)各層協(xié)議棧,直至到達(dá)SCP端的TCAP用戶。反之,SCP端的TCAP用戶發(fā)來的INAP消息經(jīng)由CS2A轉(zhuǎn)換為私有協(xié)議再傳遞給SF。

2 CS2A總體設(shè)計(jì)

2.1 系統(tǒng)設(shè)計(jì)要求

CS2A的設(shè)計(jì)除了要完成私有協(xié)議和INAP的準(zhǔn)確映射外,還需考慮如下方面的內(nèi)容:

①軟件的模塊化設(shè)計(jì)。要求軟件必須進(jìn)行合理的模塊劃分,模塊內(nèi)部的結(jié)構(gòu)清晰易懂,各模塊之間相對(duì)獨(dú)立。這樣便于檢查錯(cuò)誤,節(jié)省開發(fā)時(shí)間,可以提高軟件系統(tǒng)的可修改性和重用性;

②軟件的效率問題。為了能夠滿足大呼叫量的要求,軟件必須提高運(yùn)行效率。為了更好地提高軟件的性能,在軟件設(shè)計(jì)上,可以考慮采取內(nèi)存審計(jì)、多線程,流水線等技術(shù);

③軟件的健壯性問題。為了保證軟件能夠健壯穩(wěn)定的運(yùn)行,需要采取TRACE(跟蹤)處理、告警處理、呼叫統(tǒng)計(jì)、擁塞控制等措施;

④軟件的可靠性問題。為了提高系統(tǒng)的可靠性,需要考慮軟件的熱冗余問題。

2.2 軟件總體結(jié)構(gòu)

圖2給出了CS2A的軟件結(jié)構(gòu)以及與其相關(guān)的外部其他進(jìn)程的關(guān)系。

圖2 CS2A軟件結(jié)構(gòu)

CS2A分為3個(gè)子模塊:核心模塊(CORE)、遠(yuǎn)程業(yè)務(wù)接入管理模塊(RSAM)和TCAP接口管理模塊(TIM),其中CORE模塊又劃分為4個(gè)子模塊:SF適配(SFA)、軟交換管理進(jìn)程(SSM)適配(SSMA)、命令及數(shù)據(jù)配置進(jìn)程(CLH)適配(CLHA)、錯(cuò)誤及日志管理進(jìn)程(FM)適配(FMA)。

SFA負(fù)責(zé)把SF發(fā)來的私有消息轉(zhuǎn)換成INAP消息,把RSAM發(fā)來的INAP消息轉(zhuǎn)換成私有消息,完成對(duì)INAP消息的編解碼處理,同RSAM一起維護(hù)一個(gè)存儲(chǔ)業(yè)務(wù)對(duì)話相關(guān)信息的業(yè)務(wù)上下文塊結(jié)構(gòu),維護(hù)資源連接狀態(tài)機(jī)的狀態(tài)。

SSMA負(fù)責(zé)處理來自于SSM的health_ping等管理消息。

CLHA負(fù)責(zé)處理來自數(shù)據(jù)配置管理系統(tǒng)CLH的數(shù)據(jù)消息。

FMA負(fù)責(zé)將TRACE信息、告警信息、統(tǒng)計(jì)信息等內(nèi)容輸出到錯(cuò)誤管理系統(tǒng)FM。

RSAM負(fù)責(zé)將CORE發(fā)來的INAP消息單元承載到TCAP原語上,將TIM發(fā)來的TCAP消息中的INAP信息單元分離出來;同CORE模塊一起維護(hù)一個(gè)存儲(chǔ)業(yè)務(wù)對(duì)話相關(guān)信息的業(yè)務(wù)上下文塊結(jié)構(gòu);負(fù)責(zé)向復(fù)制管理系統(tǒng)(RPM)發(fā)送主邊信令點(diǎn)狀態(tài)和系統(tǒng)冗余狀態(tài)信息。

TIM負(fù)責(zé)系統(tǒng)向TCAPES進(jìn)行注冊(cè);對(duì)TCAPES發(fā)來的消息的第一次解包處理、對(duì)RSAM發(fā)來的消息的最后一次裝包處理;維護(hù)SF同SCP的對(duì)話狀態(tài)機(jī);負(fù)責(zé)處理定時(shí)器進(jìn)程發(fā)來的時(shí)超消息。

3 關(guān)鍵功能及模塊的實(shí)現(xiàn)

3.1 系統(tǒng)初始化

CS2A進(jìn)程啟動(dòng)后在接收SF和TCAPES的消息之前需要做一系列的初始化工作。這些初始化工作主要包括:

①依據(jù)程序啟動(dòng)時(shí)傳入的內(nèi)存池參數(shù)創(chuàng)建內(nèi)存池。內(nèi)存池參數(shù)的設(shè)定是依據(jù)整個(gè)軟交換系統(tǒng)的規(guī)模及業(yè)務(wù)量計(jì)算得出的;

②創(chuàng)建全局變量,并從內(nèi)存數(shù)據(jù)庫中讀取程序運(yùn)行必需的數(shù)據(jù);

③初始化消息隊(duì)列;

④從SSM獲取其他相關(guān)模塊的IP地址和端口信息;

⑤向TCAPES發(fā)送注冊(cè)消息。

3.2 消息處理

ss_cs2a_process_msg_entry函數(shù)作為CS2A進(jìn)程的消息處理主函數(shù),負(fù)責(zé)對(duì)CS2A的外部消息和內(nèi)部消息進(jìn)行分揀(RPM進(jìn)程發(fā)來的消息由于優(yōu)先級(jí)較高,不進(jìn)入該函數(shù),直接調(diào)用其對(duì)應(yīng)的處理函數(shù)進(jìn)行處理)。

CS2A對(duì)外部消息按照其來源模塊的不同,調(diào)用相應(yīng)模塊處理函數(shù)進(jìn)行處理;

CS2A對(duì)內(nèi)部消息按照其來源模塊和目的模塊的不同調(diào)用相應(yīng)模塊處理函數(shù)進(jìn)行處理;

CS2A完成消息分揀后就進(jìn)入各模塊進(jìn)行消息處理。各模塊完成對(duì)消息的處理后,對(duì)消息進(jìn)行發(fā)送,對(duì)內(nèi)部消息的發(fā)送調(diào)用函數(shù)ss_cs2a_put_msg_in_q完成;對(duì)外部消息的發(fā)送調(diào)用函數(shù)mgc_send完成。

CS2A對(duì)各種消息的接收、分揀、處理和發(fā)送過程如圖3所示。

圖3 CS2A消息處理

3.3 CORE模塊實(shí)現(xiàn)

CORE模塊又由SFA、SSMA、FMA、CLHA 4個(gè)邏輯子模塊構(gòu)成,其中SSMA、FMA、CLHA 3個(gè)模塊相較于CS2A進(jìn)行私有消息和INAP消息轉(zhuǎn)換的首要功能而言起到的是輔助的功能,因此,對(duì)其介紹較為簡(jiǎn)單。

(1)SFA模塊的實(shí)現(xiàn)

在接收自SF的消息中,已經(jīng)包含了一次業(yè)務(wù)交互需要的全部信息,此時(shí)SFA需要做的就是按照《YD 1226-2002智能網(wǎng)能力集2(CS-2)智能網(wǎng)應(yīng)用規(guī)程(INAP)》中規(guī)定的編碼要求進(jìn)行信息編碼。信息編碼采用的是 ITU-T X.209建議中給出的BER(Basic Encode Rule)編碼規(guī)則,該規(guī)則是依據(jù)抽象語法標(biāo)記(Abstract Syntax Notation One,ASN.1)標(biāo)準(zhǔn)定義的一種傳送文法。在ASN.1的編解碼處理上,采用了Objective System,inc的ASN.1編譯器工具,該工具提供的函數(shù)庫可以被繼承到系統(tǒng)內(nèi),通過調(diào)用其提供的編碼函數(shù)可以把私有協(xié)議信息內(nèi)容編譯成為INAP標(biāo)準(zhǔn)格式,通過調(diào)用解碼函數(shù)可以把RSAM發(fā)來的INAP消息解碼后將其內(nèi)容取出再轉(zhuǎn)換為私有協(xié)議信息內(nèi)容。

SFA使用業(yè)務(wù)上下文塊結(jié)構(gòu)來記錄SF和SCP之間一次業(yè)務(wù)交互的相關(guān)信息,一個(gè)業(yè)務(wù)上下文塊唯一對(duì)應(yīng)一次業(yè)務(wù)事務(wù)交互。業(yè)務(wù)上下文塊的維護(hù)是由RSAM和CORE共同完成的。事務(wù)ID是SF同SCP之間一次業(yè)務(wù)對(duì)話的唯一標(biāo)識(shí)。事務(wù)ID的生成、存在和銷毀過程如下:

①事務(wù)ID的生成。當(dāng)SCP發(fā)起一次業(yè)務(wù)交互請(qǐng)求時(shí),該消息傳到RSAM,RSAM會(huì)生成一個(gè)事務(wù)ID來標(biāo)識(shí)這次業(yè)務(wù)對(duì)話。另外,當(dāng)SF發(fā)起一次業(yè)務(wù)交互請(qǐng)求時(shí),SFA使用SF生成的一個(gè)唯一的事務(wù)ID來標(biāo)識(shí)這次業(yè)務(wù)交互;

②事務(wù)ID的生存期。在SF和SCP的一次業(yè)務(wù)對(duì)話過程中,事務(wù)ID始終有效;

③事務(wù)ID的銷毀。事務(wù)ID隨著業(yè)務(wù)對(duì)話的結(jié)束而銷毀。

在SF和SCP的一次業(yè)務(wù)對(duì)話過程中,可能同時(shí)存在多個(gè)資源連接狀態(tài)機(jī),一個(gè)資源連接狀態(tài)機(jī)唯一對(duì)應(yīng)一個(gè)業(yè)務(wù)上下文塊中的cs2a ctx blk st類型的狀態(tài)機(jī)上下文塊。當(dāng)SFA收到SCP的連接到資源的操作請(qǐng)求時(shí),新建一個(gè)資源連接狀態(tài)機(jī),當(dāng)銷毀一個(gè)狀態(tài)機(jī)時(shí),同時(shí)銷毀該資源連接狀態(tài)機(jī)的上下文塊。

(2)SSMA模塊的實(shí)現(xiàn)

SSMA模塊對(duì)來自于SSM的其他模塊IP及端口消息、狀態(tài)設(shè)置消息、健康查詢消息、系統(tǒng)監(jiān)控消息進(jìn)行處理和回復(fù)。在CS2A初始化過程中,會(huì)收到SSM發(fā)來的其他模塊的IP地址和消息接收端口的信息,SSMA會(huì)把這些信息寫入全局變量中備用。在CS2A初始化完成后會(huì)向SSM發(fā)送初始化完成的消息,此時(shí)SSM回復(fù)將CS2A置為ACTIVE或者PASSIVE的消息,或者當(dāng)CS2A運(yùn)行在PASSIVE狀態(tài)下時(shí),也可能會(huì)收到將其置為ACTIVE狀態(tài)的消息。SSMA每隔若干時(shí)間會(huì)收到SSM發(fā)來的health_ping消息,此時(shí)SSMA會(huì)回復(fù)OK的消息,同時(shí)觸發(fā)一次內(nèi)存審計(jì)檢查操作,根據(jù)一定的算法來判斷某些內(nèi)存數(shù)據(jù)包是否已經(jīng)不再使用但是并沒有被釋放,進(jìn)而釋放這些內(nèi)存。當(dāng)SSM發(fā)現(xiàn)系統(tǒng)發(fā)生擁塞時(shí),會(huì)發(fā)系統(tǒng)監(jiān)控消息給SSMA,此時(shí)SSMA會(huì)采取一定的算法來舍棄一些連接請(qǐng)求,并發(fā)送告警信息。

(3)FMA模塊的實(shí)現(xiàn)

FMA模塊提供一個(gè)統(tǒng)一入口函數(shù),該函數(shù)負(fù)責(zé)將收集到的CS2A內(nèi)的TRACE信息、告警信息、統(tǒng)計(jì)信息上報(bào)給FM模塊。

(4)CLHA模塊的實(shí)現(xiàn)

CLHA模塊接收CS2A初始化時(shí)CLH發(fā)來的內(nèi)存數(shù)據(jù)庫加載完畢的消息,并在之后去進(jìn)行數(shù)據(jù)讀取;或者在CS2A運(yùn)行期間,接收CLH發(fā)來的一些設(shè)置指令,例如打開關(guān)閉TRACE、對(duì)告警級(jí)別進(jìn)行控制等。

3.4 RSAM模塊實(shí)現(xiàn)

遠(yuǎn)程業(yè)務(wù)接入管理(RSAM)模塊的功能是通過生成TCAP協(xié)議消息和遠(yuǎn)端SCP進(jìn)行通信,轉(zhuǎn)換TCAP原語消息、INAP消息,維護(hù)對(duì)話的狀態(tài),其處理方法如下:

①接受TIM發(fā)送的消息,該消息以TCAP原語形式表示,實(shí)際是SCP通過TCAP協(xié)議傳送來的消息,此消息分為對(duì)話處理原語和成分處理原語。RSAM接受對(duì)話處理原語,維護(hù)對(duì)話;轉(zhuǎn)換成分處理原語,將其轉(zhuǎn)換為INAP的操作消息;

②接受CORE發(fā)送的消息,將其轉(zhuǎn)換為成分處理原語,再根據(jù)消息的內(nèi)容生成對(duì)話處理原語,向遠(yuǎn)端SCP發(fā)送;

RSAM到CORE的消息是INAP消息類型(實(shí)質(zhì)為成分處理原語內(nèi)容),RSAM到TIM為TCAP原語消息(包括成分處理原語和對(duì)話處理原語)。RSAM負(fù)責(zé)將CORE傳來的內(nèi)部消息轉(zhuǎn)化為TCAP原語消息,將TIM傳來的TCAP原語消息轉(zhuǎn)化為內(nèi)部消息;

RSAM和CORE模塊共同維護(hù)全局變量哈希表,該哈希表中記載了事務(wù)ID和業(yè)務(wù)上下文塊的指針。

RSAM模塊同時(shí)負(fù)責(zé)將CS2A系統(tǒng)的處于穩(wěn)態(tài)的會(huì)話和事務(wù)相關(guān)的數(shù)據(jù)包發(fā)送到RPM系統(tǒng),并由RPM系統(tǒng)負(fù)責(zé)向高可用系統(tǒng)HA進(jìn)行冗余數(shù)據(jù)的處理和向備邊的CS2A發(fā)送。

3.5 TIM模塊實(shí)現(xiàn)

CS2A在使用TCAPES提供的服務(wù)前必須向TCAPES注冊(cè),如果注冊(cè)成功TCAPES會(huì)返回一個(gè)值唯一的log_user_id。

TIM和TCAPES之間的通信使用消息頭+消息體的消息格式,其中消息頭中包含了目的、源、消息長(zhǎng)度、會(huì)話ID、log_user_id、call_id等信息,消息體部分是符合TCAP協(xié)議規(guī)范的消息內(nèi)容。來自RSAM的消息在TIM模塊進(jìn)行最后一次裝包處理,填充諸如目的地址、源地址、消息長(zhǎng)度等信息,并進(jìn)行消息的發(fā)送處理;對(duì)接收自TCAPES的消息,依據(jù)消息頭中的信息將消息體部分解出,并對(duì)消息進(jìn)行分發(fā)處理。

TIM還負(fù)責(zé)維護(hù)會(huì)話狀態(tài)機(jī)。一個(gè)會(huì)話狀態(tài)機(jī)唯一對(duì)應(yīng)SF和SCP之間的一次業(yè)務(wù)對(duì)話,也唯一對(duì)應(yīng)一個(gè)對(duì)話塊。狀態(tài)機(jī)隨著對(duì)話塊的創(chuàng)建而創(chuàng)建,隨著對(duì)話塊的銷毀而銷毀。狀態(tài)機(jī)的狀態(tài)信息記錄在對(duì)話塊的tdsm_state成員中,當(dāng)新建一個(gè)對(duì)話塊時(shí),狀態(tài)機(jī)初始狀態(tài)為IDLE;當(dāng)銷毀一個(gè)對(duì)話塊時(shí),會(huì)檢查狀態(tài)機(jī)狀態(tài),如果不是IDLE則報(bào)錯(cuò)。狀態(tài)機(jī)的狀態(tài)變遷反映了對(duì)話從請(qǐng)求、建立到銷毀的過程。

TIM對(duì)每個(gè)會(huì)話專門分配了一個(gè)定時(shí)器池,用以對(duì)這個(gè)會(huì)話范疇內(nèi)的消息發(fā)送進(jìn)行定時(shí)守護(hù),如果等待回復(fù)消息的定時(shí)器時(shí)超,則做錯(cuò)誤處理。

4 結(jié)束語

利用上述設(shè)計(jì)思想和實(shí)現(xiàn)思路,已經(jīng)在某軟交換系統(tǒng)的研發(fā)項(xiàng)目中將之進(jìn)行了具體實(shí)現(xiàn)。經(jīng)過反復(fù)測(cè)試,該系統(tǒng)符合《YD1435-2007軟交換設(shè)備測(cè)試方法》中關(guān)于INAP的測(cè)試要求。該系統(tǒng)采用C語言和商用ASN.1工具完成,同時(shí)該系統(tǒng)的設(shè)計(jì)充分考慮了系統(tǒng)的模塊化設(shè)計(jì)、運(yùn)行效率、健壯性、可靠性等問題。該設(shè)計(jì)思想對(duì)于同類項(xiàng)目的研發(fā)具有很高的參考價(jià)值。

[1]YD 1226-2002,智能網(wǎng)能力集2(CS-2)智能網(wǎng)應(yīng)用規(guī)程(INAP)[S].

[2]YD 1435-2007,軟交換設(shè)備測(cè)試方法[S].

[3]王柏.智能網(wǎng)教程[M].北京:北京郵電大學(xué)出版社,2000:55-62.

[4]糜正琨,陳錫生.七號(hào)共路信令系統(tǒng)[M].北京:人民郵電出版社,1994:195-226.

猜你喜歡
原語狀態(tài)機(jī)智能網(wǎng)
測(cè)試原語:存儲(chǔ)器故障最小檢測(cè)序列的統(tǒng)一特征
5G賦能智能網(wǎng)聯(lián)汽車
基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
智能網(wǎng)聯(lián)硬實(shí)力趨強(qiáng)
汽車觀察(2018年12期)2018-12-26 01:05:26
迎戰(zhàn)智能網(wǎng)聯(lián)大爆發(fā)
汽車觀察(2018年10期)2018-11-06 07:05:20
密碼消息原語通信協(xié)議介紹及安全分析
基于SJA1000的CAN總線智能網(wǎng)橋設(shè)計(jì)
基于原語自動(dòng)生成的安全協(xié)議組合設(shè)計(jì)策略及應(yīng)用研究
FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
田林县| 安仁县| 卓资县| 锡林郭勒盟| 武功县| 吉木乃县| 明水县| 嵊州市| 万荣县| 平顺县| 潮安县| 固阳县| 万宁市| 乡宁县| 枣阳市| 永康市| 佛山市| 英吉沙县| 和林格尔县| 马鞍山市| 镇平县| 襄城县| 云和县| 北安市| 安阳县| 南雄市| 天柱县| 托克托县| 永靖县| 杨浦区| 慈利县| 万州区| 西宁市| 邮箱| 永靖县| 永仁县| 荣昌县| 蒙城县| 徐州市| 平顺县| 平山县|