版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中光通信 模塊詳細(xì)設(shè)計(jì)說(shuō)明書 Q/ZG 94.303.105.010文件編號(hào):MGC中H248模塊詳細(xì)設(shè)計(jì)說(shuō)明書項(xiàng)目名稱媒體網(wǎng)關(guān)控制器項(xiàng)目編號(hào)模塊名稱H248模塊編號(hào)項(xiàng)目負(fù)責(zé)人擬制何超群日期2002-8-9審核日期批準(zhǔn)日期武漢郵電科學(xué)研究院中光通信公司修訂記錄序號(hào)日期版本號(hào)描 述作 者123456目 錄目 錄3RS模塊詳細(xì)設(shè)計(jì)說(shuō)明書181引言181.1目的181.2參考資料182模塊總體設(shè)計(jì)182.1功能說(shuō)明192.2模塊結(jié)構(gòu)192.3數(shù)據(jù)結(jié)構(gòu)202.3.1全局控制塊:RsCb202.3.2呼叫控制塊:RsCallCb222.3.3網(wǎng)關(guān)信息:GwInfo232.3.4PEER信息: RsPee
2、rCb232.3.5RS事件:RsEvent242.3.6通道信息:ChannelInfo252.3.7媒體描述符:MediaDescSet252.3.8模式請(qǐng)求:ModReqSet262.3.9計(jì)費(fèi)信息:ChargingInfo282.3.10通知事件:NoitfyEvnt292.3.11注冊(cè):SrvChngEvnt292.3.12消息響應(yīng):rsMsgReply302.3.13消息:MgMgcoMsg322.3.14一般配置:RsGenCfg412.3.15Ssap配置:RsSsapCfg422.3.16Usap配置:RsUpSapCfg422.3.17控制:mgMgtCntrl432.3.
3、18審計(jì):MgMgtAudit432.3.19狀態(tài)指示:mgMgtSta442.4網(wǎng)關(guān)及端點(diǎn)管理442.4.1中繼網(wǎng)關(guān)及其端點(diǎn)管理442.4.2用戶網(wǎng)關(guān)及其端點(diǎn)管理492.5關(guān)于PEER的創(chuàng)建問(wèn)題502.6關(guān)于SuConnId的問(wèn)題512.6.1用戶網(wǎng)關(guān)512.6.2中繼網(wǎng)關(guān)523RsUiRstConReq533.1輸入533.2算法及處理邏輯533.3輸出543.4返回543.5流程544RsUiRstRelReq544.1輸入544.2算法554.3輸出554.4返回554.5流程565RsUiRstNtyInd565.1輸入565.2算法565.3輸出575.4返回575.5流程576R
4、sUiRstModReq576.1輸入576.2算法576.3輸出576.4返回576.5流程587RsLiMgtMgcoTxnInd587.1輸入597.2算法597.3輸出597.4返回597.5流程597.5.1處理一個(gè)Txn的子過(guò)程607.5.2處理ReqTxn的子過(guò)程617.5.3處理ReplyTxn的子過(guò)程648RsLiMgtMgcoTxnReq668.1輸入668.2算法668.3輸出668.4返回678.5流程679RsLiMgtBndReq679.1輸入679.2算法679.3輸出679.4返回679.5流程6710RsLiMgtBndCfm6710.1輸入6710.2算法6
5、710.3輸出6710.4返回6710.5流程6811RsLiMgtCntrlReq6811.1輸入6811.2算法6811.3輸出6811.4返回6911.5流程6912RsLiMgtCntrlCfm6912.1輸入6912.2算法6912.3輸出6912.4返回6912.5流程6913RsLiMgtAuditReq6913.1輸入7013.2算法7013.3輸出7013.4返回7013.5流程7014RsLiMgtAuditCfm7014.1輸入7014.2算法7014.3輸出7014.4返回7014.5流程7015RsLiMgtStaInd7115.1輸入7115.2算法7115.3輸出
6、7115.4返回7115.5流程7116rsRecvAmsTermCfm7116.1輸入7116.2算法7216.3輸出7216.4返回7216.5流程7317rsProcNotifyInd7417.1輸入7417.2算法7417.3輸出7417.4返回7417.5流程7518rsDeletePeer7618.1輸入7618.2算法7618.3輸出7618.4返回7618.5流程7719rsSrvChgRootDelayTmrExp7719.1輸入7719.2算法7719.3輸出7819.4返回7819.5流程7820rsProcSrvChgIndCfm7920.1輸入7920.2算法7920
7、.3輸出7920.4返回7920.5流程8021rsSrvChgPrcOther8021.1輸入8021.2算法8021.3輸出8121.4返回8121.5流程8222rsSrvChgPrcRoot8322.1輸入8322.2算法8322.3輸出8322.4返回8322.5流程8323rsPeerValidChck8623.1輸入8623.2算法8623.3輸出8623.4返回8623.5流程8724rsCfgRs8724.1輸入8724.2算法8724.3輸出8724.4返回8724.5流程8825RsMiLrsCfgReq8825.1輸入8825.2算法8825.3輸出8825.4返回89
8、25.5流程8926rsCfgGen8926.1輸入8926.2算法8926.3輸出8926.4返回8926.5流程9027rsCfgSsap9027.1輸入9027.2算法9027.3輸出9027.4返回9027.5流程9128rsCreateTxnCb9128.1輸入9128.2算法9228.3輸出9228.4返回9228.5流程9229rsCreatePeerCb9329.1輸入9329.2算法9329.3輸出9329.4返回9329.5流程9430rsAddTerm2Cntxt9430.1輸入9430.2算法9430.3輸出9530.4返回9530.5流程9531rsAlocDMElm
9、t9531.1輸入9531.2算法9531.3輸出9631.4返回9631.5流程9632rsFillAuditDesc9632.1輸入9632.2算法9632.3輸出9732.4返回9732.5流程9733rsFillMediaDesc9733.1輸入9733.2算法9733.3輸出9833.4返回9833.5流程9934rsFillReqEvnt9934.1輸入9934.2算法10034.3輸出10034.4返回10034.5流程10135rsFillSigReq10235.1輸入10235.2算法10235.3輸出10235.4返回10235.5流程10236rsFindCntxtCb1
10、0236.1輸入10236.2算法10236.3輸出10236.4返回10236.5流程10337rsFreeCntxtCb10337.1輸入10337.2算法10337.3輸出10337.4返回10337.5流程10338rsFreeTermCb10338.1輸入10338.2算法10338.3輸出10338.4返回10338.5流程10339rsFreeTxnCb10339.1輸入10339.2算法10439.3輸出10439.4返回10440rsGetCntxtCb10440.1輸入10440.2算法10440.3輸出10440.4返回10440.5流程10541rsFillDMElmt
11、10541.1輸入10541.2算法10541.3輸出10641.4返回10641.5流程10742rsFillDMDesc10742.1輸入10742.2算法10742.3輸出10742.4返回10742.5流程10843rsAlocTermCb10843.1輸入10843.2算法10843.3輸出10843.4返回10843.5流程10844rsBuildTermKey10844.1輸入10844.2算法10844.3輸出10844.4返回10844.5流程10945rsBuildTknStr32Key10945.1輸入10945.2算法10945.3輸出10945.4返回10945.5流
12、程10946rsCpyMgcoAuditDesc10946.1輸入10946.2算法10946.3輸出11046.4返回11046.5流程11047rsCpyMgcoAuditReply11047.1輸入11047.2算法11047.3輸出11047.4返回11047.5流程11048rsCpyMgcoDigMapDesc11048.1輸入11048.2算法11048.3輸出11148.4返回11148.5流程11149rsCpyMgcoErrDesc11149.1輸入11149.2算法11149.3輸出11149.4返回11149.5流程11150rsCpyMgcoEvBufDesc1115
13、0.1輸入11150.2算法11150.3輸出11250.4返回11250.5流程11251rsCpyMgcoEvtOther11251.1輸入11251.2算法11251.3輸出11251.4返回11251.5流程11252rsCpyMgcoLocalDesc11252.1輸入11252.2算法11252.3輸出11352.4返回11352.5流程11353rsCpyMgcoMediaDesc11353.1輸入11353.2算法11353.3輸出11353.4返回11353.5流程11354rsCpyMgcoModemDesc11354.1輸入11354.2算法11354.3輸出11454.
14、4返回11454.5流程11455rsCpyMgcoMuxDesc11455.1輸入11455.2算法11455.3輸出11455.4返回11455.5流程11456rsCpyMgcoNtfyReply11456.1輸入11456.2算法11456.3輸出11556.4返回11556.5流程11557rsCpyMgcoNtfyReq11557.1輸入11557.2算法11557.3輸出11557.4返回11557.5流程11558rsCpyMgcoObsEvtDesc11558.1輸入11558.2算法11558.3輸出11658.4返回11658.5流程11659rsCpyMgcoPkgdN
15、ame11659.1輸入11659.2算法11659.3輸出11659.4返回11659.5流程11660rsCpyMgcoPkgsDesc11660.1輸入11660.2算法11660.3輸出11660.4返回11760.5流程11761rsCpyMgcoReqEvtDesc11761.1輸入11761.2算法11761.3輸出11761.4返回11761.5流程11762rsCpyMgcoSignalsDesc11762.1輸入11762.2算法11762.3輸出11762.4返回11762.5流程11863rsCpyMgcoStatsDesc11863.1輸入11863.2算法11863
16、.3輸出11863.4返回11863.5流程11864rsCpyMgcoSvcChgReply11864.1輸入11864.2算法11864.3輸出11864.4返回11864.5流程11865rsCpyMgcoSvcChgReq11965.1輸入11965.2算法11965.3輸出11965.4返回11965.5流程11966rsCpyMgcoTermId11966.1輸入11966.2算法11966.3輸出11966.4返回11966.5流程11967rsCpyMgcoStreamId11967.1輸入11967.2算法12067.3輸出12067.4返回12067.5流程120RS模塊詳
17、細(xì)設(shè)計(jì)說(shuō)明書關(guān)鍵詞:媒體網(wǎng)關(guān)控制器MGCRS(Resource Allocation and Switching Function Entity)CA(Call Agent)GCP(Gateway Control Protocol)MGT:RS與GCP之間的接口 摘 要:RS模塊是GCP協(xié)議棧的上層應(yīng)用部分,主要負(fù)責(zé)GCP協(xié)議棧和總控SC之間的正常工作和信息交互過(guò)程。1 引言1.1 目的1.2 參考資料【1】 軟交換設(shè)備總體技術(shù)要求【2】 ITU-TH.248媒體網(wǎng)關(guān)控制協(xié)議【3】 TrilliumGateway Control Protocol:Service Definition【4】 T
18、rilliumMGT Interface:Service Definition【5】 Tillium Gateway Control Protocol (GCP) Sample:User Application2 模塊總體設(shè)計(jì)本章描述RS模塊的功能以及與SC模塊的接口原語(yǔ)和交互過(guò)程,還RS模塊內(nèi)部主要的數(shù)據(jù)結(jié)構(gòu)。2.1 功能說(shuō)明由于Trillium公司在GCP的基礎(chǔ)上搭建了RS層作為實(shí)際應(yīng)用的一個(gè)簡(jiǎn)單樣本,該層具備了基本的命令處理功能。所以本設(shè)計(jì)的側(cè)重點(diǎn)在于如何在現(xiàn)有的基礎(chǔ)上進(jìn)行有效的擴(kuò)充以滿足實(shí)際應(yīng)用的復(fù)雜情形。RS需要完成SC與GCP之間的互通功能,具體表現(xiàn)在兩方面:一,接受SC的控制請(qǐng)求
19、,將該請(qǐng)求轉(zhuǎn)換成GCP的原語(yǔ)調(diào)用,并返回調(diào)用結(jié)果;二,當(dāng)有呼叫到來(lái)時(shí),向總控發(fā)起連接請(qǐng)求,并能產(chǎn)生狀態(tài)指示;2.2 模塊結(jié)構(gòu)RS模塊在MGC軟件體系中的位置如下圖2-1所示:在上圖中,陰影部分屬于RS模塊,該模塊可分為如下幾個(gè)模塊:配置模塊、呼叫處理、注冊(cè)模塊、綁定模塊、事務(wù)處理模塊、控制模塊。各模塊之間及模塊與外部模塊之間的關(guān)系如圖所示,綁定模塊和控制模塊主要負(fù)責(zé)將來(lái)自其它模塊的綁定和去綁定以及控制請(qǐng)求轉(zhuǎn)換成GCP協(xié)議??勺R(shí)別的原語(yǔ)形式,同樣將來(lái)自GCP的綁定、去綁定及控制證實(shí)原語(yǔ)轉(zhuǎn)換成RS可識(shí)別的形式。在配置模塊中要與這兩個(gè)模塊打交道。事物處理模塊的處理過(guò)程相對(duì)要復(fù)雜些,事務(wù)處理模塊要含蓋
20、H248所有的命令及其響應(yīng),不同的命令對(duì)應(yīng)不同的處理過(guò)程,但可將這些命令劃分為兩大類,一類是與呼叫相關(guān)的,另一類是與媒體網(wǎng)關(guān)注冊(cè)相關(guān)的,前者對(duì)應(yīng)呼叫處理模塊,后者對(duì)應(yīng)注冊(cè)模塊。呼叫處理模塊負(fù)責(zé)呼叫流程的建立、釋放,它從事物處理模塊中提取各種命令及其響應(yīng),根據(jù)當(dāng)前的呼叫狀態(tài),確定自己的下一個(gè)處理階段,當(dāng)需要與SC打交道時(shí)就進(jìn)行原語(yǔ)轉(zhuǎn)換,通知SC。同時(shí),該模塊也將從SC收到的命令進(jìn)行處理,適當(dāng)時(shí)打包傳遞給事物處理模塊。2.3 數(shù)據(jù)結(jié)構(gòu)下面只列出了在RS層需要添加或修改的結(jié)構(gòu)定義,對(duì)于沒(méi)有任何改動(dòng)的結(jié)構(gòu)此處沒(méi)有列出,接受Trillium的定義。圖或結(jié)構(gòu)中紅色部分代表由用戶添加,不是Trillium提
21、供。2.3.1 全局控制塊:RsCb RsCb的數(shù)據(jù)結(jié)構(gòu)如圖2-2所示:。RsCb的結(jié)構(gòu)定義如下:typedef struct rsCb RsGenCfg genCfg; /*配置信息*/ RsSsapCb *sSapLst; /* SSAP 列表- */ RsPeerCb *peerLst; /* 控制網(wǎng)關(guān)列表 */ U16 nxtTxnId; /*下一個(gè)OgTxn Id */ U32 curNumPeer; /*當(dāng)前Peer的個(gè)數(shù)*/ U32 curIcTxns; /*當(dāng)前IcTxn數(shù)目*/ U32 curOgTxns; /*當(dāng)前OgTxn數(shù)目*/ TskInit init; /* 初始化
22、信息*/ CmTqCp rsTqCp; /*定時(shí)處理*/ CmTqType rsTqRSTQNUMENT;/*定時(shí)隊(duì)列*/ RsUpSapCb *upSapLst; /* Upper SAP列表*/ CmHashListCp callCbLst; /*呼叫控制列表*/ GwInfo *gwLst; /*控制網(wǎng)關(guān)列表*/ UConnId nxtSuConnId; /*下一個(gè)連接號(hào) */RsCb;2.3.2 呼叫控制塊:RsCallCb 為了記錄與一路呼叫相關(guān)的信息,在全局變量rsCb中定義一哈希表如下:CmHashListCp callCbLst;其中哈希表的每個(gè)Entry的結(jié)構(gòu)如下:結(jié)構(gòu)Cal
23、lCb定義: typedef struct rsCallCb CmHashListEnt phytermLstEnt; /* Hash list entry */ CmHashListCp *phytermhlLstCp; /*PhisicalTerm hash list */ CmHashListEnt callcbLstEnt; /* Hash list entry */ CmHashListCp *hlLstCp; /* CallCb hash list */U8 peerId; /*該路呼叫所歸屬的網(wǎng)關(guān)ID*/U32 suConnId;/*SC的連接號(hào)*/U32 spConnId; /
24、*RS的連接號(hào)*/MgMgcoTermId termId; /*端點(diǎn)Id*/U8 bPendingMsg; /*針對(duì)RelReq*/TmrCfg tmr; /*定時(shí),待定*/RsCallCb;2.3.3 網(wǎng)關(guān)信息:GwInfo保存MGC所管轄的每個(gè)媒體網(wǎng)關(guān)的基本配置信息,該變量可在RS模塊初始化時(shí)通過(guò)讀配置文件填充。該變量在rsCb中定義,定義如下:GwInfo *gwLst;結(jié)構(gòu)GwInfo 定義如下:typedef struct gateWayInfoU8 midStrGW_NAME_LENGTH; /*媒體網(wǎng)關(guān)識(shí)別ID*/U8 peerType; /*是主MG還是備份MG*/U8 mat
25、edmgNameGW_NAME_LENGTH; /*替換MG的名字*/ GwInfo;其中:網(wǎng)關(guān)標(biāo)志最大長(zhǎng)度:#define GW_NAME_LENGTH 102.3.4 PEER信息: RsPeerCb 該結(jié)構(gòu)保存了處于激活狀態(tài)的媒體網(wǎng)關(guān)的部分信息,出于應(yīng)用需求,在原有的RsPeerCb結(jié)構(gòu)中增加部分變量(紅色標(biāo)示)。定義如下:typedef struct rsPeerCb U8 peertype; /*主MG還是備份MG */ RsPeerCb* matedmg; /*替換MG*/U8 midStrGW_NAME_LENGTH; /*網(wǎng)關(guān)名稱*/Bool bRegisted; /*網(wǎng)關(guān)是否
26、注冊(cè)*/U8 gwIndex; /*本網(wǎng)關(guān)在gw Lst中的索引*/ CmHashListCp phyTermLst; /*為用戶網(wǎng)關(guān)時(shí)端點(diǎn)控制列表*/RsSsapCb*sSapCb;;CmHashListCpogTxnLst;CmHashListCpicTxnLst; CmHashListCpcntxtCbLst; CmHashListCp suConnIdLst;U32 suConnId;;MgMgcoLocalDesc *lcl;MgMgcoLocalDesc *rmt;RsPeerCb;當(dāng)一個(gè)MG向MGC注冊(cè)時(shí),RS會(huì)根據(jù)該網(wǎng)關(guān)的MID標(biāo)志創(chuàng)建一個(gè)相應(yīng)的RsPeeCb,并設(shè)置相應(yīng)的標(biāo)志
27、位。但此時(shí)的type、termCbLst變量必須根據(jù)全局變量gwInfo填充。GwInfo的獲得方法待定。 2.3.5 RS事件:RsEventtypedef struct rsEvent CmMemListCp memCp; TknPres pres; ChannelInfochnlInfo;TknU8 type; /*事件類型*/ Unio ChargingInfochrgInfo; ModReqSet modReq; NoitfyEvnt ntfyEvnt;SrvChngEvnt srvChngEvnt; u;RsEvent;其中type的 定義有 :#define CHARGING_I
28、NFO 0#define MOD_REQ 1#define NOTIFY_EVENT 2#define SERVICE_CHANGE 32.3.6 通道信息:ChannelInfotypedef struct channelInfo TknPres pres; TknStrOSXL midStr; /*網(wǎng)關(guān)信息*/ MgMgcoTermIdtermId; /*端點(diǎn)信息*/ ChannelInfo;2.3.7 媒體描述符:MediaDescSet typedef struct media TknPres pres; TknU8 type; Port port; TknU8 numComp; Tk
29、nU8 *fmtLst;Media;typedef struct mediaDesc TknPres pres; CmTptAddr rtpIpAddr; TknU8 numComp; Media *mediaList; MediaDesc;typedef struct mediaDescSet TknPres pres; TknU8 numComp; MediaDesc *meddescr; MediaDescSet;其中:媒體類型:#define MEDIA_TYPE_AUDIO 0其余待定。2.3.8 模式請(qǐng)求:ModReqSettypedef struct localControl T
30、knPres pres; TknU8 modType;LocalControl其中type的定義如下:#define SEND_RECIVE 0#define RECIVE_NOLY 1typedef struct stream TknPres pres; LocalControl controlMod; /*收發(fā)模式*/ MediaDescSet mediaSet; /*媒體集*/Stream;typedef struct digitmap TknPres pres; TknU8 number; TknU8 *digitStr; DigitMap;typedef struct siganlP
31、ara TknPres pres;TknU8 ToneId; /*語(yǔ)音ID*/SignalPara;typedef struct signalTknnPres pres; TknU8 signalType; /*放音號(hào)*/ SignalPara para; /*音信號(hào)參數(shù) */Signal;其中signalType的定義如下:#define SIGNAL_DIAL_TONE 0 /*撥號(hào)音*/#define SIGNAL_RING_TONE 1 /*振鈴音*/#define SIGNAL_RING_BACK 2 /*回鈴音*/#define SIGNAL_IVR_TONE 3 /*IVR語(yǔ)音*
32、/typedef struct signalSetTknPres prs;TknU8 num;Signal *signal;SignalSet;typdef struct evntSetTknU8 num;U8 *evntType;typedef struct modReqSetTknnPres pres; Stream stream; /*有關(guān)媒體流的信息*/ SignalSet signalSet; /*音信號(hào)*/ EventSet evntSet; /*檢測(cè)事件*/ DigitMap dmp; /*數(shù)字映象*/ModReqSet;2.3.9 計(jì)費(fèi)信息:ChargingInfo typed
33、ef struct statistics TknPres pres; TknU8 type; /*統(tǒng)計(jì)數(shù)據(jù)類型*/ TknU8 val;/*統(tǒng)計(jì)值*/Statistics;typedef struct chargingInfo TknPres pres; TknU8numComp; /*統(tǒng)計(jì)數(shù)據(jù)的種類*/ Statistics *stat; /*統(tǒng)計(jì)列表*/ChargingInfo;其中type定義如下:#define RTP_PACKETS_SEND 0 /*發(fā)送包的個(gè)數(shù)*/#define RTP_PACKETS_RECEIVE 1 /*接收包的個(gè)數(shù)*/#define RTP_PACKETS
34、_LOST 2 /*丟失包的個(gè)數(shù)*/#define RTP_INTER_JITTER 3 /*內(nèi)部阻塞程度*/#define RTP_PROPAGATION_DELAY 4 /*傳播時(shí)延*/#define NT_DURATION 5/*待定*/#define NT_OCTETS_SENT 6 /*發(fā)送的字節(jié)數(shù)*/#define NT_OCTETS_RECEIVE 7 /*接收的字節(jié)數(shù)*/2.3.10 通知事件:NoitfyEvnt 該參數(shù)用于248模塊通知SC檢測(cè)到的事件及用戶撥號(hào)。typedef struct evntParaTknPres pres; TknU8 digits20; /*用
35、戶撥號(hào)*/EvntPara;typedef struct notifyEvntTknPres pres; TknU8 evntType;EvntPara para; NoitfyEvnt;其中evntType的定義如下:#define EVNT_OFF_HOOK 0#define EVNT_ON_HOOK 1#define EVNT_FLAH_HOOK 2#define EVNT_DIGIT_COMPLETE 32.3.11 注冊(cè):SrvChngEvnttypedef struct srvChngEvntTknPres pres;TknU8 termType; TknU8 evntType;S
36、rvChngEvnt;其中termType定義如下:#define ROOT 0 /*網(wǎng)關(guān)注冊(cè)*/#define OTHER 1 /*端點(diǎn)注冊(cè)*/其中evntType定義如下:#define OUT_SERVICE 0 /*網(wǎng)關(guān)或端點(diǎn)退出服務(wù)*/#define IN_SERVICE 1/*網(wǎng)關(guān)或端點(diǎn)恢復(fù)服務(wù)*/2.3.12 消息響應(yīng):rsMsgReply rsMsgReply用于當(dāng)進(jìn)入的Message是Req類型。一個(gè)Msg中可以攜帶一個(gè)或多個(gè)Transaction請(qǐng)求;每個(gè)Transaction請(qǐng)求可以攜帶一個(gè)或多個(gè)Action;每Action中可以攜帶一個(gè)或多個(gè)Command;一個(gè)Comm
37、and又可以同時(shí)作用與一個(gè)或多個(gè)Termination。為了方便、正確回復(fù)進(jìn)入的請(qǐng)求消息,可以將請(qǐng)求消息中與具體業(yè)務(wù)無(wú)關(guān)的部分保存在rsMsgReply中,而將與業(yè)務(wù)有關(guān)的信息提取出來(lái)交給業(yè)務(wù)處理模塊處理。當(dāng)業(yè)務(wù)處理模塊處理完返回結(jié)果后,則根據(jù)rsMsgReply保存的信息將該處理結(jié)果包裝成與進(jìn)入的Req消息相一致的Reply消息,發(fā)送給GCP層。struct rsMsgReply CmMemListCp *memCp; U8 numTxn; /*需要應(yīng)答的Txn的個(gè)數(shù)*/ U8 numCmdReq; /*需要應(yīng)答的命令個(gè)數(shù)*/ U8 numCmdReply; /*實(shí)際應(yīng)答的命令個(gè)數(shù)*/ Rs
38、TxnReply txnReplyRS_MAX_TXN_PER_MSG; /*對(duì)每個(gè)Txn的響應(yīng)*/ U8 errCode; CmTimer timersMAXRSTIMER; ;2.3.12.1 RsTxnReply的結(jié)構(gòu)該結(jié)構(gòu)用于保存一個(gè)Txn的信息typedef struct rsTxnReply RsTxnCb *txnCb; /*保存分配給一個(gè)IcTxn Cb的指針*/ U8 txnIdx; /*當(dāng)前的Txn在rsMsgReply中Txn數(shù)組中的索引*/ Bool txnReplyFlg;/*Txn是否需要應(yīng)答*/ U8 numAl; /*一個(gè)IcTxn中Action數(shù)目相等*/ R
39、sAlReply *alReply; /*ActionReply的數(shù)組*/ U8 errCode; RsTxnReply;2.3.12.2 RsAlReply的結(jié)構(gòu)該結(jié)構(gòu)保存一個(gè)Context的信息typedef struct rsAlReply U8 alIdx;/*在 rsTxnReply中alReply數(shù)組中的索引*/ U8 cntxtType;/* Context類型*/ U32 cntxtId;/*Context Id*/ Bool cntxtAlocFlg;/* */ Bool alReplyFlg;/* Context是否需要應(yīng)答*/ U8 numCmd;/* CommandRe
40、ply數(shù)目*/ RsCmdReply *cmdReply;/*命令數(shù)組*/ U8 errCode; RsAlReply;2.3.12.3 RsCmdReply的結(jié)構(gòu)typedef struct rsCmdReply U8 cmdIdx;/*在RsCmdReply數(shù)組中的下標(biāo)*/U8 cmdType;/*Command類型*/Bool cmdReplyFlg;/* Command是否需要響應(yīng)*/U32 numTerm;/*作用的Termination數(shù)目*/RsTermCb *termCbRS_MAX_TERM_PER_CMD;/*作用的Termination數(shù)組*/U8 errCode; Rs
41、CmdReply;2.3.13 消息:MgMgcoMsg RS使用MgMgcoMsg結(jié)構(gòu)向GCP發(fā)出事務(wù)請(qǐng)求或事務(wù)響應(yīng);同樣,GCP也使用MgMgcoMsg結(jié)構(gòu)指示事務(wù)請(qǐng)求或事務(wù)響應(yīng)。typedef struct mgMgcoMsgCmMemListCpmemCp;TknPrespres;MgMgcoAuthHdrah;/* 鑒權(quán)頭,目前不用*/MgMgcoVersionver;/* 版本號(hào)*/TknStrOSXLmid;/* 遠(yuǎn)端的MID信息*/MgMgcoMsgBodybody;/* 消息體*/MgPeerInfolcl;/* 遠(yuǎn)端的Peer信息*/ MgMgcoMsg;2.3.13.1
42、MgMgcoMsgBodytypedef struct mgMgcoMsgBodyTknU8type;/* 消息類型:錯(cuò)誤或是TxnLst*/unionMgMgcoErrDescerr;/* 錯(cuò)誤信息描述*/MgMgcoTxnLsttl;/* 事務(wù)列表信息*/ u; MgMgcoMsgBody;其中MgMgcoTxnLst的定義如下:typedef struct mgMgcoTxnLstTknU16num;/* 列表中事務(wù)的數(shù)目*/MgMgcoTxn*txns;/* 事務(wù)列表*/ MgMgcoTxnLst;2.3.13.2 MgMgcoTxntypedef struct mgMgcoTxnTk
43、nU8type;/* 事務(wù)類型:req、reply、pend還是ack*/unionMgMgcoTxnReqreq;/*事務(wù)請(qǐng)求結(jié)構(gòu)MgMgcoTxnReplyreply;/* 事務(wù)響應(yīng)結(jié)構(gòu)*/MgMgcoTxnPendpend;/* 臨時(shí)響應(yīng)結(jié)構(gòu)*/MgMgcoTxnRspAckrspAck;/* 響應(yīng)確認(rèn)結(jié)構(gòu) */ u;MgLclErrmgLclErr;/* 本地錯(cuò)誤,錯(cuò)誤來(lái)自于本地GCP*/TknU8dupInfo;/* 是否是重復(fù)的Transaction*/ MgMgcoTxn;根據(jù)GCP層的SSAP配置,事務(wù)的臨時(shí)響應(yīng)、事務(wù)的超時(shí)重發(fā)都由GCP層管理,因此MgMgcoTxnPend和
44、MgMgcoTxnRspAck結(jié)構(gòu)不會(huì)出現(xiàn)在MGT接口。在GCP層的General配置中,配置了遇到重復(fù)的事務(wù),GCP不向RS指示,因此dupInfo在RS中不作判斷。2.3.13.3 MgMgcoTxnReqtypedef struct mgMgcoTxnReqTknPrespres;/*Transactoin是否存在*/MgMgcoTransIdtransId;/* TransactionId*/MgMgcoActionLstal;/* Transaction中包括的Action列表信息*/ MgMgcoTxnReq;其中MgMgcoActionLst的結(jié)構(gòu)如下:typedef struc
45、t mgMgcoActionLstTknU16num;/* Action數(shù)目*/MgMgcoActionReq*actns;/* Action結(jié)構(gòu)*/ MgMgcoActionLst;2.3.13.3.1 MgMgcoActionReqtypedef struct mgMgcoActionReqMgMgcoContextIdcxtId;/* Action作用的ContextId*/TknPrespres;/* 下面的項(xiàng)目是否有效*/MgMgcoContextPropscxtProps;/*Context的屬性*/MgMgcoContextAuditcxtAud;/* Context需要的審計(jì)*
46、/MgMgcoCmdReqLstcl;/* Action中Command的列表信息*/ MgMgcoActionReq;其中MgMgcoCmdReqLst的結(jié)構(gòu)如下:typedef struct mgMgcoCmdReqLstTknU16num;/* 命令數(shù)目*/MgMgcoCommandReq*cmds;/* 命令列表*/ MgMgcoCmdReqLst;2.3.13.3.2 MgMgcoCommandReqtypedef struct mgMgcoCommandReq TknPrespres;TknPresopt;/* 該命令是否是可選命令*/TknPreswild;/* 是否作用于通配符TerminationId*/MgMgcoCmdcmd;/* 命令結(jié)構(gòu) */ MgMgcoCommandReq;2.3.13.3.3 MgMgcoCmdtypedef struct mgMgcoCmdTknU8type; /* 命令類型*/unionMgMgcoAmmReqadd;/*Add命令結(jié)構(gòu)*/MgMgcoAmmReqmo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度木飾面原材料進(jìn)口與分銷合同3篇
- 2025年親子遺贈(zèng)協(xié)議草案
- 2025年代理商代理加盟采購(gòu)合資合作協(xié)議
- 2025年合資合作收益分配協(xié)議
- 2025年企業(yè)外包勞務(wù)協(xié)議
- 2025年智慧城市物業(yè)管理服務(wù)標(biāo)準(zhǔn)合同范本6篇
- 漫談加強(qiáng)物資管理提高企業(yè)經(jīng)濟(jì)效益-圖文
- 《皮質(zhì)醇增多征荊》課件
- 2025年度醫(yī)院病理科診斷服務(wù)承包合同4篇
- 2025年度汽車轉(zhuǎn)讓及二手車交易稅費(fèi)減免合同
- 廢舊物資買賣合同極簡(jiǎn)版
- 2024年正定縣國(guó)資產(chǎn)控股運(yùn)營(yíng)集團(tuán)限公司面向社會(huì)公開(kāi)招聘工作人員高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 智能衣服方案
- 李克勤紅日標(biāo)準(zhǔn)粵語(yǔ)注音歌詞
- 教科版六年級(jí)下冊(cè)科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時(shí))
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)考試題庫(kù)
- 案例分析:美國(guó)紐約高樓防火設(shè)計(jì)課件
- 老客戶維護(hù)方案
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)一 用戶定位與選題
- 工作證明模板下載免費(fèi)
評(píng)論
0/150
提交評(píng)論