freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

【碩士論文】幀中繼語音傳送網(wǎng)關(guān)的設(shè)計與實現(xiàn)-資料下載頁

2025-01-18 13:47本頁面
  

【正文】 ack_Func。VoFR協(xié)議棧與數(shù)據(jù)轉(zhuǎn)發(fā)子模塊之間通過調(diào)用各自提供的接口函數(shù)來完成通信。VoFR協(xié)議棧為數(shù)據(jù)轉(zhuǎn)發(fā)子模塊提供接口VoFR_RcvSignal(),用來接收網(wǎng)絡(luò)側(cè)的信令消息;當(dāng)VoFR協(xié)議棧向網(wǎng)絡(luò)側(cè)發(fā)送消息時,需要調(diào)用數(shù)據(jù)轉(zhuǎn)發(fā)子模塊提供的接口函數(shù)。3)數(shù)據(jù)轉(zhuǎn)發(fā)子模塊數(shù)據(jù)轉(zhuǎn)發(fā)子模塊位于整個VoFR協(xié)議模塊的最底層,主要功能是向網(wǎng)絡(luò)側(cè)發(fā)送數(shù)據(jù)(信令數(shù)據(jù)和語音數(shù)據(jù))、接收網(wǎng)絡(luò)傳來的數(shù)據(jù)、接收驅(qū)動傳來的語音數(shù)據(jù)、向驅(qū)動下發(fā)語音數(shù)據(jù)。該模塊的功能較為單一,主要是向協(xié)議棧、接口管理模塊和幀中繼協(xié)議模塊提供接口函數(shù)。以下函數(shù)是數(shù)據(jù)轉(zhuǎn)發(fā)子模塊向各模塊提供的接口函數(shù)?!馰oFR_SendDataToFr():該函數(shù)是數(shù)據(jù)轉(zhuǎn)發(fā)子模塊提供給協(xié)議棧模塊的接口函數(shù),主要用于向網(wǎng)絡(luò)側(cè)發(fā)送數(shù)據(jù)。●VoFR_RcvDataFromFr():該函數(shù)是數(shù)據(jù)轉(zhuǎn)發(fā)子模塊提供給FR模塊的接口函數(shù),用于接收FR網(wǎng)絡(luò)側(cè)傳來的數(shù)據(jù)?!馰oFR_RcvVDataFromVim():該函數(shù)是數(shù)據(jù)轉(zhuǎn)發(fā)模塊提供給VIM模塊的接口函數(shù),主要用于接收底層上報的語音數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)發(fā)子模塊還提供了呼叫信令數(shù)據(jù)封裝的功能,當(dāng)VoFR語音網(wǎng)關(guān)需要向網(wǎng)絡(luò)側(cè)發(fā)送信令數(shù)據(jù)時,會調(diào)用數(shù)據(jù)轉(zhuǎn)發(fā)子模塊提供的數(shù)據(jù)封裝函數(shù)將信令封裝成統(tǒng)一格式,再發(fā)送到幀中繼模塊。4)超時處理子模塊VoFR語音網(wǎng)關(guān)在信令交互過程中需要設(shè)置相應(yīng)的定時器,來防止無限期地等待信令消息。當(dāng)定時器超時后,系統(tǒng)會調(diào)用超時處理子模塊提供的超時處理函數(shù)VoFR_TimerOut()來處理超時事件。該函數(shù)主要功能是根據(jù)超時定時器的類型而采用相應(yīng)的處理機制。在本課題中設(shè)計了兩種類型的定時器:網(wǎng)絡(luò)側(cè)定時器、PSTN側(cè)定時器。網(wǎng)絡(luò)側(cè)定時器是指VoFR語音網(wǎng)關(guān)等待網(wǎng)絡(luò)側(cè)信令時創(chuàng)建的定時器;PSTN側(cè)定時器是指VoFR語音網(wǎng)關(guān)等待呼叫控制中心發(fā)來的信令消息時創(chuàng)建的定時器。VoFR模塊對超時事件的處理需要根據(jù)呼叫方式和定時器類型采用不同的處理方案。如果本次通話采用的是Switch呼叫方式,且網(wǎng)絡(luò)側(cè)定時器超時,則需要查詢當(dāng)前的超時次數(shù)。如果當(dāng)前的超時次數(shù)小于兩次,則需要重新發(fā)送前一個消息,并創(chuàng)建相同的定時器。再次超時后則拆除本次呼叫,并釋放本次呼叫所占用的內(nèi)存資源。圖42表示了Switch呼叫方式下網(wǎng)絡(luò)側(cè)定時器超時的處理過程。圖42 Switch呼叫方式下網(wǎng)絡(luò)側(cè)定時器超時的處理過程PSTN側(cè)定時器超時后,會根據(jù)呼叫方式采用不同的處理機制。如果本次通話采用的是Switch呼叫方式,且PSTN側(cè)定時器超時,則直接拆除本次呼叫,并釋放本次呼叫占用的系統(tǒng)資源。如果本次通話采用的是Trunk呼叫方式,根據(jù)專線呼叫方式的特點,VoFR語音網(wǎng)關(guān)只創(chuàng)建PSTN側(cè)定時器,且定時器超時后,VoFR直接拆除呼叫,但不釋放專線的呼叫資源。圖43表示了PSTN側(cè)定時器的超時處理過程。圖43 PSTN側(cè)定時器的超時處理過程5)FoFR傳真處理子模塊FoFR傳真處理子模塊主要用來處理幀中繼網(wǎng)絡(luò)上的傳真業(yè)務(wù)。該子模塊與語音平臺的傳真模塊配合工作,完成傳真切換、傳真數(shù)據(jù)傳輸、傳真控制等功能。VoFR協(xié)議模塊中的各子模塊配合工作,共同完成VoFR語音網(wǎng)關(guān)的語音處理功能。呼叫控制塊是一路呼叫的標(biāo)識,VoFR語音網(wǎng)關(guān)需要為每一路呼叫創(chuàng)建一個相應(yīng)的呼叫控制塊,用來保存該路呼叫的信息和資源。語音平臺中各協(xié)議模塊在工作時都需要創(chuàng)建本協(xié)議模塊的呼叫控制塊。VoFR的呼叫控制塊是整個VoFR協(xié)議模塊設(shè)計的核心。VoFR的呼叫控制塊分成兩個部分:適配層呼叫控制塊和協(xié)議棧呼叫控制塊。兩個控制塊相互記錄,并且都記錄在唯一的全局變量中。VoFR的兩類呼叫控制塊都被設(shè)計為鏈表形式,并用全局唯一的標(biāo)示符進行標(biāo)示。一路呼叫進行的過程中,VoFR任務(wù)可以根據(jù)這個全局唯一的標(biāo)示符查找到屬于本次呼叫的呼叫控制塊,從而獲取當(dāng)前呼叫的信息和資源,或者記錄當(dāng)前呼叫的信息。1)適配層呼叫控制塊適配層呼叫控制塊是用來保存本次呼叫中適配層的相關(guān)信息,并記錄當(dāng)前適配層的呼叫狀態(tài)。本課題中,適配層呼叫控制塊被定義成鏈表形式,并由一個全局頭指針指向該鏈表。適配層呼叫控制塊定義如下:typedef struct tagAppCcb{struct tagAppCcb*pstNextAppCcb。 /*指向下一個適配層呼叫控制塊*/......long AppCallState。 /*適配層呼叫狀態(tài)*/long AppTimerId。 /*適配層定時器標(biāo)識*/long AppCallId 。 / *適配層呼叫控制塊標(biāo)識*/long StackId。 /*協(xié)議棧呼叫控制塊標(biāo)識*/long CallCenterId。 /*全局呼叫中心標(biāo)識*/}VoFR_APP_CCB。適配層需要在其呼叫控制塊中記錄全局呼叫中心標(biāo)識。在一路呼叫建立過程中,呼叫控制中心會建立一個屬于呼叫控制中心的呼叫控制塊來控制本路呼叫,同時記錄兩側(cè)語音協(xié)議模塊的呼叫標(biāo)識,以此向兩側(cè)的協(xié)議模塊轉(zhuǎn)發(fā)呼叫控制消息,同時在呼叫控制消息中攜帶本次呼叫的全局呼叫中心。在進行VoFR呼叫通話時,VoFR模塊會在適配層呼叫控制的CallCenterId中記錄全局呼叫中心標(biāo)識。此后,VoFR協(xié)議模塊便與呼叫控制中心聯(lián)系在一起。適配層呼叫控制塊還需要記錄協(xié)議棧呼叫控制塊的標(biāo)識,從而和VoFR協(xié)議棧建立聯(lián)系,方便查詢本次呼叫過程中VoFR協(xié)議棧的呼叫信息。適配層呼叫控制塊創(chuàng)建后,VoFR系統(tǒng)需要對該控制塊進行管理。適配層呼叫控制塊的管理包括控制塊創(chuàng)建和控制塊釋放兩個方面。當(dāng)用戶采用Switch方式進行通話時,適配層呼叫控制塊采用動態(tài)方式建立。主叫端的適配層子模塊收到呼叫控制中心傳來的CALL_SETUP消息后,采用標(biāo)準(zhǔn)C庫提供的malloc()函數(shù)動態(tài)申請一個呼叫控制塊,申請的控制塊將被掛接在前一個適配層呼叫控制塊下;被叫端的適配層在收到本端協(xié)議棧發(fā)來的呼叫建立事件后創(chuàng)建本端的適配層呼叫控制塊。在整個呼叫過程中,適配層呼叫控制塊一直存在。當(dāng)雙方結(jié)束呼叫后,呼叫控制塊將被釋放,即使用free()釋放申請的內(nèi)存空間。當(dāng)用戶采用Trunk方式進行通話時,適配層呼叫控制塊在呼叫建立之前創(chuàng)建,呼叫結(jié)束后兩端的呼叫實體也不會釋放各自的呼叫控制塊。即在Trunk方式下系統(tǒng)資源是一直被占用。2)協(xié)議棧呼叫控制塊協(xié)議棧呼叫控制塊是用來記錄協(xié)議棧的呼叫信息及協(xié)議棧的呼叫狀態(tài)。同適配層呼叫控制塊一樣,協(xié)議棧呼叫控制塊也被定義成鏈表形式,并由全局頭指針指向該鏈表。協(xié)議棧呼叫控制塊的定義如下:typedef struct tagStackCcb{struct tagStackCcb*pstNextStackCcb。 /*指向下一個協(xié)議棧呼叫控制塊*/......long StackCallStatus。 /*協(xié)議棧呼叫狀態(tài)*/......long StackTimerId。 /*協(xié)議棧定時器標(biāo)識*/long StackCallId。 /*協(xié)議棧呼叫控制塊標(biāo)識*/long AppId。 /*適配層呼叫控制塊標(biāo)識*/}VoFR_STACK_CCB。協(xié)議棧呼叫控制塊也需要記錄適配層呼叫控制塊的標(biāo)識,從而和適配層建立聯(lián)系,方便查詢本次呼叫過程中適配層的呼叫信息。協(xié)議棧呼叫控制塊的管理機制與適配層呼叫控制塊的管理機制相同。采用Switch方式進行通信時,當(dāng)主叫端收到本端適配層發(fā)來的呼叫建立事件后,會動態(tài)創(chuàng)建本端的協(xié)議棧呼叫控制塊,并掛接在協(xié)議棧呼叫控制塊鏈表的尾端;被叫端收到幀中繼網(wǎng)絡(luò)傳來的呼叫建立消息后,會創(chuàng)建屬于本端的協(xié)議棧呼叫控制。當(dāng)呼叫結(jié)束后,兩端呼叫實體會釋放本次呼叫中使用的呼叫控制塊。采用Trunk方式進行通信時,協(xié)議棧呼叫控制塊和適配層呼叫控制塊一樣,都是在呼叫建立前創(chuàng)建的。呼叫結(jié)束后,兩端的呼叫實體不會釋放專線的呼叫控制塊。3)信令通道建立過程在本課題中,適配層呼叫控制塊和協(xié)議棧呼叫控制塊共同來標(biāo)識一路呼叫,當(dāng)前呼叫的全部信息由這兩個控制塊共同記錄。當(dāng)一路呼叫到來時,PSTN側(cè)協(xié)議模塊的呼叫控制塊、呼叫控制中心的呼叫控制塊和VoFR協(xié)議模塊的呼叫控制塊需要相互記錄,為信令傳遞打開一條邏輯通道。圖44和圖45描述了在一路新建的呼叫中,語音平臺各模塊的呼叫控制塊相互記錄的過程。圖44 Lgs呼叫控制塊與呼叫中心相互記錄圖圖45 VoFR呼叫控制塊與呼叫中心相互記錄圖圖44表示了PSTN側(cè)呼叫控制塊與呼叫中心相互記錄的過程。圖中PSTN側(cè)采用的是LGS語音協(xié)議模塊。當(dāng)一路呼叫到來時,LGS模塊會創(chuàng)建屬于本模塊的呼叫控制塊,并分配LGS呼叫控制塊的呼叫標(biāo)識。隨后,LGS模塊會發(fā)送CALL_SETUP消息到呼叫控制中心,并在消息中攜帶屬于LGS模塊的呼叫控制塊標(biāo)識。呼叫控制塊中心收到LGS模塊傳來的CALL_SETUP消息后要創(chuàng)建呼叫控制中心的呼叫控制塊,并創(chuàng)建一個入呼叫腿對應(yīng)于LGS協(xié)議,入呼叫腿被記錄在CallCenter呼叫控制塊中。同時,CallCenter需要提取CALL_SETUP消息中攜帶的LGS呼叫控制塊標(biāo)識和消息中攜帶的PSTN側(cè)協(xié)議標(biāo)識,并將它們記錄在入呼叫腿中。隨后,CallCenter會向LGS模塊發(fā)送CALL_SETUPACK消息,并在消息中攜帶的入呼叫腿的標(biāo)識。LGS模塊收到該消息后也將記錄該入呼叫腿標(biāo)識。通過以上處理,本次呼叫中LGS的呼叫控制塊與呼叫控制中心建立了聯(lián)系。呼叫控制塊中心在建立起自己的呼叫控制塊后,除了向LGS模塊回送CALL_SETUPACK消息外,還會根據(jù)被叫號碼查找到的語音實體,并根據(jù)語音實體類型向相應(yīng)的協(xié)議模塊發(fā)送CALL_SETUP消息。開啟呼叫控制中心與分組網(wǎng)絡(luò)側(cè)語音協(xié)議控制塊的相互記錄過程。圖55表示了這一過程。在本例中,呼叫控制中心會向VoFR協(xié)議模塊發(fā)送CALL_SETUP消息。VoFR協(xié)議模塊收到CALL_SETUP消息后,將記錄消息中攜帶的出呼叫腿標(biāo)識。同時,VoFR模塊會向呼叫控制中心發(fā)送CALL_SETUPACK消息,并將自己的呼叫控制塊標(biāo)識傳遞給呼叫控制中心。此后,呼叫控制中心便與VoFR協(xié)議模塊建立了聯(lián)系。通過以上步驟,PSTN側(cè)的LGS協(xié)議模塊和VoFR協(xié)議模塊之間,便通過呼叫控制中心建立起一條邏輯信息通道。兩側(cè)的協(xié)議模塊通過該邏輯通道共同完成對一路呼叫的控制作用。為了使信令消息和語音數(shù)據(jù)能夠通過FR網(wǎng)絡(luò)正確地傳送,VoFR模塊還要與幀中繼模塊建立聯(lián)系。VoFR的呼叫控制塊建立后,還需要通知幀中繼模塊創(chuàng)建創(chuàng)建一個FR呼叫描述符(CCXID),CCXID中記錄了本次呼叫采用的DLCI號和CID號。創(chuàng)建的CCXID將被記錄在VoFR模塊的協(xié)議棧控制塊中,同時VoFR的協(xié)議??刂茐K也被記錄在幀中繼模塊的CCXID中。此后,VoFR模塊與幀中繼模塊將建立起聯(lián)系,VoFR模塊和幀中繼模塊可以相互發(fā)送消息和數(shù)據(jù)。圖46表示了VoFR呼叫控制塊與CCXID相互記錄的過程。圖46 VoFR呼叫控制塊與FR的CCXID相互記錄當(dāng)呼叫雙方采用Switch方式進行呼叫通話時,呼叫雙方需要在網(wǎng)絡(luò)側(cè)傳輸呼叫信令,呼叫接收方需要根據(jù)信令內(nèi)容做相應(yīng)的處理,以控制整個呼叫過程。在本課題中。,在VoFR協(xié)議模塊中一共用到以下7種呼叫信令:1)SetupSetup消息是主叫端向被叫端發(fā)送的消息,通知被叫端開始呼叫建立過程。主叫端發(fā)送Setup消息時需要攜帶以下元素:●消息類型(Message type):該字段需要填充發(fā)送消息的類型。發(fā)送Setup消息時填寫MSG_TYPE_SETUP?!窈艚袠?biāo)識(Call reference):此處填寫本次呼叫的協(xié)議棧呼叫控制塊ID?!裰鹘刑柎a(Calling party number):該字段填寫發(fā)起呼叫方的電話號碼?!癖唤刑柎a(Called party number):該字段填寫被叫方的電話號碼?!癖径四芰–apability):主叫端支持的編解碼類型。2)Call Proceeding當(dāng)被叫端收到Setup消息后,要向主叫端發(fā)送Call Proceeding消息,表明被叫端已經(jīng)接受本次呼叫建立。Call Proceeding消息中只攜帶以下兩種元素:●消息類型:填寫定義的Call Proceeding消息類型MSG_TYPE_CALLPRO?!窈艚袠?biāo)識:本次呼叫的協(xié)議棧呼叫控制塊ID。3)AlertingAlerting消息由被叫方發(fā)出,表明被叫端已經(jīng)處于振鈴狀態(tài)。Alerting消息需要攜帶以下元素:●消息類型:填寫Alerting消息類型MSG_TYPE_ALERTING?!窈艚袠?biāo)識:本次呼叫的協(xié)議棧呼叫控制塊ID?!衲芰罕唤卸烁鶕?jù)Setup消息中攜帶的編解碼類型以及本端支持的編解碼類型,選擇一組優(yōu)先級最高編解碼類型作為本次通話采用的編解碼能力。并通過Alerting消息通知主叫端。4)ConnectConnnect消息是由被叫實體發(fā)送到主叫實體,表明呼叫建立過程結(jié)束,雙方可以正常通話。Connect消息主要攜帶以下兩種元素:●消息類型:填寫Connect消息類型MSG_TYPE_CONNECT?!窈艚袠?biāo)識:本次呼叫的協(xié)議棧呼叫控制塊ID。5)Release Complete當(dāng)通話一方結(jié)束呼叫時,需要向?qū)Χ苏Z音網(wǎng)關(guān)發(fā)送Release Complete消息。語音網(wǎng)絡(luò)收到該消息后開始釋放呼叫的處理過程。Release Complete消息中攜帶以下元素:●消息類型:填寫Release Complete的消息類型MSG_TYPE_RELCOMP。●呼叫標(biāo)識:
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1