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

正文內(nèi)容

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

2025-01-18 13:47本頁(yè)面
  

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