專利名稱:Ip傳真網(wǎng)關(guān)傳輸報(bào)文數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種因特網(wǎng)通信傳真領(lǐng)域,尤其是一種IP傳真網(wǎng)關(guān)傳輸報(bào)文數(shù)據(jù)的方法。
背景技術(shù):
隨著因特網(wǎng)使用的普及和技術(shù)的成熟,使得傳統(tǒng)的傳真信息承載在因特網(wǎng)上傳輸成為可能,因此,基于因特網(wǎng)傳真(IP傳真)的相關(guān)技術(shù)也應(yīng)運(yùn)而生。
實(shí)時(shí)的IP傳真有兩種實(shí)現(xiàn)方式,一是以語(yǔ)音方式透?jìng)?,二是中繼方式,也就是符合T.38協(xié)議的傳真。由于透?jìng)鞣绞娇咕W(wǎng)絡(luò)損傷的性能較差,而不被推廣使用,所以媒體網(wǎng)關(guān)或中繼網(wǎng)關(guān)一般都支持T.38傳真。
T.38方式是指通過(guò)ITU-T T.38協(xié)議,把傳真機(jī)發(fā)出的遵循ITU-T T.30協(xié)議的傳真信號(hào)轉(zhuǎn)化為適合IP承載網(wǎng)絡(luò)傳輸?shù)腡.38傳真報(bào)文或傳真信令進(jìn)行傳輸?shù)姆绞?。T.38IP實(shí)時(shí)傳真網(wǎng)關(guān)主要完成T.38協(xié)議處理和傳真的調(diào)制解調(diào)。T.38IP傳真基本思想是在T.38網(wǎng)關(guān)對(duì)傳真機(jī)發(fā)送的數(shù)據(jù)進(jìn)行解調(diào),將解調(diào)的凈荷數(shù)據(jù)打成T.38協(xié)議規(guī)定的IP包,通過(guò)IP網(wǎng)絡(luò)發(fā)往對(duì)方網(wǎng)關(guān)。接收方的T.38網(wǎng)關(guān)根據(jù)IP包的信息特性,將從IP包中拆出的凈荷數(shù)據(jù)重新調(diào)制發(fā)送給PSTN側(cè)傳真機(jī)。可見,IP實(shí)時(shí)傳真承載的是終端傳真機(jī)間交互的傳真信令或報(bào)文信息,兩終端傳真機(jī)間進(jìn)行的是實(shí)時(shí)通信,傳真流程遵循T.30協(xié)議,該協(xié)議規(guī)定了T1-T6六個(gè)定時(shí)器,對(duì)傳真各階段的命令、相應(yīng)信令及報(bào)文數(shù)據(jù)的交互時(shí)間進(jìn)行了規(guī)范,任何定時(shí)器的超時(shí)都可能引起傳真的失敗。而目前的因特網(wǎng)中存在固有的延時(shí)、抖動(dòng)、丟包,另外,網(wǎng)關(guān)的調(diào)制解調(diào)、打包拆包增加了處理延遲,這些因素都可能使得IP實(shí)時(shí)傳真的成功率很低。傳真在非ECM(ErrorCorrection Mode,糾錯(cuò))模式下,在數(shù)據(jù)傳輸階段,如果由于網(wǎng)絡(luò)抖動(dòng)、延遲引得IP側(cè)報(bào)文數(shù)據(jù)不連續(xù),將導(dǎo)致接收傳真機(jī)數(shù)據(jù)中斷。數(shù)據(jù)中斷時(shí)間短,會(huì)使得數(shù)據(jù)接收錯(cuò)誤;數(shù)據(jù)中斷時(shí)間長(zhǎng),將導(dǎo)致傳真機(jī)由于判斷到載波消失而切換到報(bào)文后階段,報(bào)文就不能接收完全。因此,需要一種方法可以盡量減小IP包數(shù)據(jù)延遲,抖動(dòng)帶來(lái)的接收異常。
另一方面,在網(wǎng)關(guān)的技術(shù)實(shí)現(xiàn)上,通常DSP(Digital Signal Process,數(shù)字信號(hào)處理器)芯片內(nèi)存空間都不是很大,內(nèi)存空間常常是網(wǎng)關(guān)支持多路傳真規(guī)格的瓶頸。怎樣以小的內(nèi)存空間占用,實(shí)現(xiàn)具有良好抗網(wǎng)絡(luò)抖動(dòng)延遲性能的網(wǎng)關(guān),成為T.38IP實(shí)時(shí)網(wǎng)關(guān)需要綜合解決的關(guān)鍵技術(shù)。
現(xiàn)有技術(shù)往往采用以下方案來(lái)解決上述問(wèn)題。
現(xiàn)有技術(shù)一請(qǐng)參考圖2,為現(xiàn)有技術(shù)一網(wǎng)關(guān)結(jié)構(gòu)示意圖。報(bào)文數(shù)據(jù)階段按一線數(shù)據(jù)緩存,數(shù)據(jù)中斷時(shí),在EOL(End of Line,線數(shù)據(jù)結(jié)束標(biāo)志)前插零發(fā)往PSTN(Public Switch Telephone Network,公共電話交換網(wǎng))。T.38協(xié)議處理和傳真調(diào)制解調(diào)同在一片DSP中實(shí)現(xiàn)。
T.38協(xié)議支持的是G3類傳真機(jī),G3類傳真機(jī)是按T.4協(xié)議進(jìn)行信源編碼。根據(jù)T.4協(xié)議,對(duì)于非ECM數(shù)據(jù),每線數(shù)據(jù)的結(jié)尾有線結(jié)束標(biāo)志EOL,如果在EOL前插入連續(xù)的0對(duì)傳真機(jī)正確解碼數(shù)據(jù)沒(méi)有影響。為了抵抗報(bào)文傳輸階段網(wǎng)絡(luò)抖動(dòng)、延時(shí)或丟包等情況造成的頁(yè)面數(shù)據(jù)不連續(xù),傳真流程中斷,該方案的具體實(shí)施方案是在報(bào)文傳輸階段,接收網(wǎng)關(guān)對(duì)IP層側(cè)的接收到的非ECM報(bào)文數(shù)據(jù)采取緩存一線數(shù)據(jù)發(fā)送方式,在報(bào)文數(shù)據(jù)接收緩沖區(qū)緩存滿一線數(shù)據(jù)(即收到EOL)時(shí),開始向PSTN側(cè)調(diào)制發(fā)送,發(fā)送到線尾的EOL標(biāo)志時(shí),先判斷EOL后緩存的數(shù)據(jù)量是否已達(dá)到至少一線,如果沒(méi)有緩存一線以上,則該結(jié)尾標(biāo)志EOL延遲發(fā)送,先發(fā)送全零數(shù)據(jù),知道下一線數(shù)據(jù)緩存完成,才將該EOL信號(hào)發(fā)送出去;最后一線數(shù)據(jù)的EOL(通過(guò)報(bào)文結(jié)束標(biāo)志判斷)不延遲發(fā)送。這種方法能夠抵抗網(wǎng)絡(luò)數(shù)據(jù)中斷,如緩存EOL后的下一線數(shù)據(jù)時(shí),網(wǎng)絡(luò)發(fā)生了抖動(dòng),網(wǎng)關(guān)會(huì)持續(xù)向傳真機(jī)發(fā)送插零數(shù)據(jù),從而保證了數(shù)據(jù)在PSTN鏈路上傳輸?shù)倪B續(xù)性。
請(qǐng)參考圖3,為現(xiàn)有技術(shù)一插零發(fā)送方式的流程圖左圖為網(wǎng)關(guān)在發(fā)送到EOL位置時(shí),該EOL后沒(méi)有至少一線數(shù)據(jù)時(shí),先不發(fā)送EOL信號(hào),而是在EOL前插零發(fā)送,同時(shí)接收IP側(cè)到達(dá)的數(shù)據(jù);右圖表示當(dāng)該EOL后緩存滿一線數(shù)據(jù)時(shí),結(jié)束插零發(fā)送,開始發(fā)送EOL數(shù)據(jù)及后續(xù)數(shù)據(jù)。
上述現(xiàn)有技術(shù)一雖然可以保證數(shù)據(jù)在PSTN鏈路上傳輸?shù)倪B續(xù)性,然而卻存在兩個(gè)缺點(diǎn)一是占用DSP大量存儲(chǔ)空間。根據(jù)T.4協(xié)議編碼的非ECM一線數(shù)據(jù)長(zhǎng)度不固定,對(duì)于復(fù)雜的頁(yè)面,最長(zhǎng)的一線可達(dá)2000byte。這種按線緩存的方法,用于緩存數(shù)據(jù)的緩沖區(qū)大小必須能夠至少緩存一線長(zhǎng)數(shù)據(jù);另外,為了防止網(wǎng)絡(luò)前向抖動(dòng)延遲等,內(nèi)存空間通常選擇保存兩線數(shù)據(jù),在這種緩存機(jī)制下,DSP的內(nèi)存空間是最大的瓶頸。對(duì)于1片DSP,從內(nèi)存分配上,單路傳真需要內(nèi)存空間×通道數(shù)=DSP總內(nèi)存空間,單路傳真占用的內(nèi)存空間大,必然導(dǎo)致處理T.38傳真業(yè)務(wù)的通道數(shù)目下降,增加了網(wǎng)關(guān)的成本。
現(xiàn)有技術(shù)二請(qǐng)參考圖4,為現(xiàn)有技術(shù)二的網(wǎng)關(guān)結(jié)構(gòu)示意圖。報(bào)文數(shù)據(jù)階段按一線數(shù)據(jù)緩存,數(shù)據(jù)中斷時(shí)在EOL前插零發(fā)往PSTN。T.38協(xié)議處理和傳真調(diào)制解調(diào)分別在CPU和DSP實(shí)現(xiàn)。T.38協(xié)議處理中,T.38的狀態(tài)機(jī)(根據(jù)T.38協(xié)議,跟蹤傳真機(jī)的傳輸過(guò)程、通信階段,確定網(wǎng)關(guān)的當(dāng)前狀態(tài))可根據(jù)網(wǎng)絡(luò)和PSTN側(cè)信號(hào)的內(nèi)容,決定傳真下一步將進(jìn)行的調(diào)制或解調(diào)的方式和速率,并通過(guò)消息通知DSP,數(shù)據(jù)處理模塊根據(jù)CPU通知的消息內(nèi)容,建立相應(yīng)速率的調(diào)制或解調(diào),為保證消息下發(fā)的可靠接收,DSP回復(fù)響應(yīng)給CPU,然后CPU才下發(fā)數(shù)據(jù)給DSP或接收DSP上報(bào)的數(shù)據(jù)。請(qǐng)參考圖5,為以T.38狀態(tài)機(jī)確定DP進(jìn)行V.21調(diào)制的處理過(guò)程為例,CPU與DSP消息交互的過(guò)程。通用CPU內(nèi)存空間較大,此方案數(shù)據(jù)在CPU上實(shí)現(xiàn),可緩解DSP內(nèi)存緊張問(wèn)題,提高網(wǎng)關(guān)的T.38業(yè)務(wù)處理規(guī)格。但這種消息交互,在傳真的過(guò)程中會(huì)頻繁進(jìn)行,一方面增加了網(wǎng)關(guān)幾十毫秒的處理延遲,另一方面帶來(lái)信息或數(shù)據(jù)丟失的可能性。傳真處理延遲的增加,使得傳真機(jī)T1~T6定時(shí)器超時(shí)幾率增大,IP實(shí)時(shí)傳真成功率降低。
發(fā)明內(nèi)容
本發(fā)明旨在提出一種實(shí)用的DSP實(shí)現(xiàn)T.38IP實(shí)時(shí)傳真網(wǎng)關(guān)方案,從而能夠克服現(xiàn)有技術(shù)中存在的至少一種缺陷。
鑒于上述目的,本發(fā)明所提出的技術(shù)方案為一種IP傳真網(wǎng)關(guān)傳輸報(bào)文數(shù)據(jù)的方法,所述網(wǎng)關(guān)包括數(shù)字信號(hào)處理器及中央處理器,該方法包括A、接收網(wǎng)關(guān)接收到網(wǎng)絡(luò)側(cè)發(fā)送過(guò)來(lái)的報(bào)文數(shù)據(jù)時(shí),數(shù)字信號(hào)處理器對(duì)報(bào)文數(shù)據(jù)進(jìn)行一定數(shù)量的緩存,當(dāng)緩存達(dá)到所述數(shù)量時(shí),數(shù)字信號(hào)處理器向公共電話交換網(wǎng)側(cè)發(fā)送報(bào)文數(shù)據(jù);B、數(shù)字信號(hào)處理器在向公共電話交換網(wǎng)側(cè)發(fā)送報(bào)文數(shù)據(jù)時(shí),當(dāng)緩沖區(qū)空間占用率高于上限閾值時(shí),數(shù)字信號(hào)處理器關(guān)閉流控開關(guān),通知中央處理器不再下發(fā)數(shù)據(jù),當(dāng)緩沖區(qū)空間占用率低于下限閾值時(shí),數(shù)字信號(hào)處理器打開流控開關(guān),通知中央處理器下發(fā)數(shù)據(jù);步驟A中在對(duì)報(bào)文數(shù)據(jù)進(jìn)行緩存之前,數(shù)字信號(hào)處理器在接收到的報(bào)文數(shù)據(jù)中找到第一個(gè)線數(shù)據(jù)結(jié)束標(biāo)識(shí),并將所述線數(shù)據(jù)結(jié)束標(biāo)識(shí)前的數(shù)據(jù)清空;步驟B進(jìn)一步包括所述數(shù)字信號(hào)處理器定期查詢是否發(fā)送了頁(yè)面結(jié)束的標(biāo)志,如果是,則結(jié)束當(dāng)前頁(yè)面?zhèn)鬏旊A段處理;步驟A中緩存的數(shù)據(jù)量由網(wǎng)絡(luò)抖動(dòng)的時(shí)長(zhǎng)和傳真支持的最高速率所決定;所述流控開關(guān)是為了描述緩沖區(qū)空間的占用率而設(shè)置的一個(gè)可變化的標(biāo)識(shí)變量;所述流控開關(guān)的上限閾值和下限閾值由網(wǎng)關(guān)打包的時(shí)長(zhǎng)所決定,并同時(shí)滿足以下條件上限閾值=(緩沖區(qū)空間總量-n個(gè)IP包的數(shù)據(jù)量)/緩沖區(qū)空間總量;下限閾值=(緩沖區(qū)空間總量-m個(gè)IP包的數(shù)據(jù)量)/緩沖區(qū)空間總量;
其中n、m為大于零的正整數(shù),且m>n。
本發(fā)明所產(chǎn)生的有益效果為本發(fā)明所提出的DSP實(shí)現(xiàn)T.38網(wǎng)關(guān)方案,以盡可能小的內(nèi)存空間占用率,很好的解決了報(bào)文傳輸階段,非ECM方式下報(bào)文傳輸階段網(wǎng)絡(luò)延遲、后向抖動(dòng)可能對(duì)頁(yè)面?zhèn)鬏斣斐慑e(cuò)誤或中斷的問(wèn)題,并能夠抵抗網(wǎng)絡(luò)前向抖動(dòng)造成數(shù)據(jù)丟失,從而更好地提高IP實(shí)時(shí)傳真報(bào)文接收地正確性及流程正確地可靠性;同時(shí),還能有效減小網(wǎng)關(guān)處理機(jī)制帶來(lái)的網(wǎng)關(guān)處理固有延遲,是一種低成本、高性能的網(wǎng)關(guān)實(shí)現(xiàn)方案。
圖1為T.38實(shí)時(shí)傳真系統(tǒng)的結(jié)構(gòu)示意圖;圖2示出了現(xiàn)有技術(shù)一的網(wǎng)關(guān)結(jié)構(gòu)圖;圖3示出了現(xiàn)有技術(shù)一插零發(fā)送的流程圖;圖4示出了現(xiàn)有技術(shù)二的網(wǎng)關(guān)結(jié)構(gòu)圖;圖5示出了現(xiàn)有技術(shù)二CPU與DSP消息交互的流程圖;圖6示出了本發(fā)明的緩存及流控機(jī)制圖;圖7示出了本發(fā)明的緩存及流控機(jī)制流程圖具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述。
本發(fā)明的實(shí)現(xiàn)思想是基于緩存機(jī)制以及流控機(jī)制,使得T.38協(xié)議處理和傳真數(shù)據(jù)調(diào)制解調(diào)同在數(shù)據(jù)信息處理器(DSP)中實(shí)現(xiàn),CPU只進(jìn)行用戶數(shù)據(jù)包封、拆,并在DSP禁止下發(fā)傳真包時(shí),將傳真包存儲(chǔ)在CPU,從而更好地提高了IP實(shí)時(shí)傳真報(bào)文接收的正確性及流程的可靠性,并節(jié)省了DSP占用空間,降低了網(wǎng)關(guān)成本。
緩存機(jī)制是指對(duì)于接收網(wǎng)關(guān),非ECM報(bào)文接收階段,為了防止網(wǎng)絡(luò)延遲、后向抖動(dòng)、丟包造成IP側(cè)接收?qǐng)?bào)文數(shù)據(jù)中斷,要對(duì)報(bào)文數(shù)據(jù)進(jìn)行緩存發(fā)送。每一頁(yè)報(bào)文接收時(shí),DSP先對(duì)IP側(cè)報(bào)文數(shù)據(jù)進(jìn)行一定數(shù)量的緩存,需要緩存的數(shù)據(jù)量由目前實(shí)際網(wǎng)絡(luò)情況設(shè)定。當(dāng)緩存達(dá)到該數(shù)據(jù)量時(shí)網(wǎng)關(guān)開始向PSTN側(cè)調(diào)制發(fā)送報(bào)文數(shù)據(jù)。為了進(jìn)一步節(jié)省空間,在每頁(yè)報(bào)文起始數(shù)據(jù)緩存時(shí),找到該頁(yè)第一個(gè)EOL,將此EOL前的數(shù)據(jù)清空。
流控機(jī)制為了抵抗IP包在網(wǎng)絡(luò)上發(fā)生前向抖動(dòng),短時(shí)間內(nèi)IP側(cè)達(dá)到多個(gè)數(shù)據(jù)包,導(dǎo)致數(shù)據(jù)緩沖區(qū)滿,造成數(shù)據(jù)溢出,本方案在對(duì)報(bào)文數(shù)據(jù)進(jìn)行緩存發(fā)送的同時(shí)對(duì)該緩沖區(qū)增加流控機(jī)制。在DSP中設(shè)置一個(gè)流控開關(guān)用以表示緩沖區(qū)空間占用率,所述流控開關(guān)只是為了描述緩沖區(qū)空間的占有率而設(shè)置的一個(gè)可變化的狀態(tài)標(biāo)識(shí),當(dāng)緩沖區(qū)的占用率如果超過(guò)一定的比例,流控開關(guān)關(guān)閉,緩沖區(qū)的占用率如果低于一定比例,流控開關(guān)打開。DSP每個(gè)處理周期將CPU下發(fā)的數(shù)據(jù)寫入緩沖區(qū)后,查詢數(shù)據(jù)緩沖區(qū)空間的占用量,并根據(jù)占用率關(guān)閉/打開流控開關(guān)。當(dāng)緩沖區(qū)的占用率超過(guò)一定比例時(shí),DSP關(guān)閉流控開關(guān),并通知CPU不再下發(fā)數(shù)據(jù)給DSP,DSP持續(xù)向PSTN側(cè)發(fā)送數(shù)據(jù)。DSP每個(gè)處理周期向PSTN發(fā)送完數(shù)據(jù),查詢緩沖區(qū)空間占用率,直到緩沖區(qū)內(nèi)的占用率低于一定的比例,流控開關(guān)打開,通知CPU可以下發(fā)數(shù)據(jù)給DSP。
流控開關(guān)的上限閾值a%、下限閾值b%的選擇基于傳真速率、接收網(wǎng)關(guān)接收到的傳真包的打包時(shí)長(zhǎng)。假設(shè)發(fā)送網(wǎng)關(guān)的打包時(shí)長(zhǎng)是30ms,當(dāng)傳真速率為14400bps(v.17協(xié)議),接收網(wǎng)關(guān)收到的每包數(shù)據(jù)量為54bytes,就要求DSP緩沖區(qū)至少有54bytes剩余空間,才能完整接收一包數(shù)據(jù)。為了保證DSP對(duì)數(shù)據(jù)的可靠接收,通常選擇DSP剩余空間至少可以接收兩包數(shù)據(jù)時(shí),允許CPU下發(fā)數(shù)據(jù)。
DSP在同一個(gè)處理周期,先接收IP側(cè)的數(shù)據(jù),再向PSTN調(diào)制發(fā)送的。上下限閾值原則和方法如下上限閾值因?yàn)镈SP是在一個(gè)處理周期對(duì)CPU下發(fā)的數(shù)據(jù)接收完畢后,馬上判斷DSP的剩余空間,所以可以選擇剩余空間至少可接收一個(gè)數(shù)據(jù)包的數(shù)據(jù)。DSP在以后的處理周期再收到數(shù)據(jù)包之前是持續(xù)向PSTN側(cè)發(fā)送數(shù)據(jù)的,所以,到再收到數(shù)據(jù)時(shí),緩沖區(qū)還會(huì)再空出約一個(gè)數(shù)據(jù)包數(shù)據(jù)量的空間。因此,緩沖區(qū)的實(shí)際接收能力是兩個(gè)數(shù)據(jù)包數(shù)據(jù)。
上限閾值a%=(緩沖區(qū)空間總量-n個(gè)IP包的數(shù)據(jù)量)/緩沖區(qū)空間總量;下限閾值因?yàn)镈SP是在一個(gè)處理周期向PSTN側(cè)發(fā)送數(shù)據(jù)完畢后,判斷緩沖區(qū)的剩余空間的,所以選擇剩余空間至少可以接收兩個(gè)數(shù)據(jù)包的數(shù)據(jù)。
下限閾值b%=(緩沖區(qū)空間總量-m個(gè)IP包的數(shù)據(jù)量)/緩沖區(qū)空間總量;假設(shè)DSP用于接收?qǐng)?bào)文數(shù)據(jù)的緩沖區(qū)大小為500bytes,網(wǎng)關(guān)可接收最大打包時(shí)長(zhǎng)為50ms的數(shù)據(jù)包,支持最高傳真速率為14400bps,這種情況下,每個(gè)數(shù)據(jù)包的數(shù)據(jù)量為90bytes。選擇n=1,m=2時(shí),上限閾值a%=(500-90)/500=82%,下限閾值b%=(500-90×2)/500=64%;DSP接收完一包數(shù)據(jù)后,如果緩沖區(qū)的占用率大于82%,關(guān)閉流控開關(guān),通知CPU不再下發(fā)數(shù)據(jù);DSP在一個(gè)處理周期向PSTN發(fā)送完數(shù)據(jù)后,如果緩沖區(qū)的占用率小于64%,且流控開關(guān)當(dāng)前為關(guān)閉態(tài),則打開流控開關(guān),并通知CPU可以下發(fā)數(shù)據(jù)了。
請(qǐng)參考圖6,為內(nèi)存空間占用情況與緩存發(fā)送的關(guān)系以及內(nèi)存空間占用情況與流控開關(guān)狀態(tài)的關(guān)系示意圖圖6中(1)表示緩沖區(qū)中,第一個(gè)EOL信號(hào)后緩存了M bytes的數(shù)據(jù),開始向PSTN側(cè)調(diào)制發(fā)送數(shù)據(jù);(2)表示在向PSTN側(cè)發(fā)送數(shù)據(jù)的過(guò)程中,如果緩沖區(qū)中空間占用量>a%,關(guān)閉流程開關(guān),DSP通知CPU不再下發(fā)數(shù)據(jù);(3)表示流控開關(guān)關(guān)閉狀態(tài)下,當(dāng)緩沖區(qū)中空間占用量<b%,打開流控開關(guān),DSP通知CPU下發(fā)數(shù)據(jù)。
當(dāng)傳真進(jìn)入非ECM模式的報(bào)文傳輸階段時(shí),CPU接收到IP側(cè)的報(bào)文數(shù)據(jù),首先對(duì)UDP(一種用戶數(shù)據(jù)包協(xié)議)或TCP包進(jìn)行拆包,將IFP包緩存在CPU的緩沖區(qū)內(nèi),在每個(gè)DSP處理周期,查詢接收?qǐng)?bào)文數(shù)據(jù)的DSP緩沖區(qū)的的流控開關(guān)狀態(tài),如果DSP接收緩沖區(qū)流控開關(guān)狀態(tài)是打開狀態(tài),CPU將數(shù)據(jù)下發(fā)給DSP,如果開關(guān)是關(guān)閉態(tài),本處理周期不下發(fā)數(shù)據(jù)給DSP,每DSP處理周期繼續(xù)查詢DSP接收緩沖區(qū)流控開關(guān)狀態(tài),直至流控開關(guān)是打開狀態(tài),才下發(fā)數(shù)據(jù)。
當(dāng)傳真進(jìn)入非ECM模式的報(bào)文傳輸階段時(shí),DSP的處理過(guò)程如圖7所示,主要包括以下幾個(gè)步驟在接收傳真機(jī)網(wǎng)關(guān)接收IP網(wǎng)絡(luò)側(cè)下發(fā)的報(bào)文數(shù)據(jù)前,在數(shù)字信號(hào)處理器中開辟一個(gè)接收?qǐng)?bào)文數(shù)據(jù)的緩沖區(qū),用來(lái)對(duì)報(bào)文數(shù)據(jù)進(jìn)行緩存發(fā)送,需要緩存的數(shù)據(jù)量由網(wǎng)絡(luò)抖動(dòng)的時(shí)間和傳真支持的最高速率來(lái)決定,假設(shè)網(wǎng)絡(luò)環(huán)境最惡劣情況下抖動(dòng)為100ms,按普通傳真支持的最高速率14400bps計(jì)算,100ms對(duì)應(yīng)180bytes數(shù)據(jù)量即為緩存的數(shù)據(jù)量,同樣的,用于緩存數(shù)據(jù)的緩沖區(qū)的大小設(shè)定為大于緩存的數(shù)據(jù)量180bytes即可。
1、在每頁(yè)數(shù)據(jù)起始數(shù)據(jù)緩存時(shí),數(shù)字信號(hào)處理器找到該頁(yè)數(shù)據(jù)中第一個(gè)線數(shù)據(jù)結(jié)束標(biāo)識(shí)在緩沖區(qū)中的位置,并將緩沖區(qū)中位于該線數(shù)據(jù)結(jié)束標(biāo)識(shí)前的數(shù)據(jù)清空;2、數(shù)字信號(hào)處理器對(duì)IP側(cè)接收的報(bào)文數(shù)據(jù)進(jìn)行緩存,當(dāng)緩存達(dá)到一定數(shù)量時(shí),網(wǎng)關(guān)開始向PSTN側(cè)調(diào)制發(fā)送數(shù)據(jù);3、DSP接收并向緩沖區(qū)寫入數(shù)據(jù)后,計(jì)算緩沖區(qū)的空間占用率,如果占用率超過(guò)了流控開關(guān)上限閾值a%,且開關(guān)當(dāng)前為打開態(tài),DSP關(guān)閉流控開關(guān),并通知CPU流控開關(guān)關(guān)閉了,同時(shí)禁止CPU下發(fā)數(shù)據(jù)給DSP;4、DSP從緩沖區(qū)讀出數(shù)據(jù)向PSTN側(cè)發(fā)送后,計(jì)算緩沖區(qū)的空間占用率,如果占用率低于了流控開關(guān)下限閾值b%,且開關(guān)當(dāng)前為關(guān)閉態(tài),DSP打開流控開關(guān),并同時(shí)通知CPU下發(fā)數(shù)據(jù);5、每隔一個(gè)數(shù)據(jù)處理周期DSP查詢是否發(fā)送到了頁(yè)面結(jié)束的標(biāo)識(shí),如果是,則表示本頁(yè)發(fā)送結(jié)束,結(jié)束頁(yè)面?zhèn)鬏旊A段處理,如果否,則重復(fù)步驟3。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種IP傳真網(wǎng)關(guān)傳輸報(bào)文數(shù)據(jù)的方法,所述網(wǎng)關(guān)包括數(shù)字信號(hào)處理器及中央處理器,其特征在于該方法包括A、接收網(wǎng)關(guān)接收到網(wǎng)絡(luò)側(cè)發(fā)送過(guò)來(lái)的報(bào)文數(shù)據(jù)時(shí),數(shù)字信號(hào)處理器對(duì)報(bào)文數(shù)據(jù)進(jìn)行一定數(shù)量的緩存,當(dāng)緩存達(dá)到所述數(shù)量時(shí),數(shù)字信號(hào)處理器向公共電話交換網(wǎng)側(cè)發(fā)送報(bào)文數(shù)據(jù);B、數(shù)字信號(hào)處理器在向公共電話交換網(wǎng)側(cè)發(fā)送報(bào)文數(shù)據(jù)時(shí),當(dāng)緩沖區(qū)空間占用率高于上限閾值時(shí),數(shù)字信號(hào)處理器關(guān)閉流控開關(guān),通知中央處理器不再下發(fā)數(shù)據(jù),當(dāng)緩沖區(qū)空間占用率低于下限閾值時(shí),數(shù)字信號(hào)處理器打開流控開關(guān),通知中央處理器下發(fā)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的IP傳真網(wǎng)關(guān)接收?qǐng)?bào)文數(shù)據(jù)的方法,其特征在于,步驟A中在對(duì)報(bào)文數(shù)據(jù)進(jìn)行緩存之前,所述數(shù)字信號(hào)處理器在接收到的報(bào)文數(shù)據(jù)中找到第一個(gè)線數(shù)據(jù)結(jié)束標(biāo)識(shí),并將所述線數(shù)據(jù)結(jié)束標(biāo)識(shí)前的數(shù)據(jù)清空。
3.根據(jù)權(quán)利要求1或2所述的IP傳真網(wǎng)關(guān)接收?qǐng)?bào)文數(shù)據(jù)的方法,其特征在于,所述步驟B進(jìn)一步包括所述數(shù)字信號(hào)處理器定期查詢是否發(fā)送了頁(yè)面結(jié)束的標(biāo)志,如果是,則結(jié)束當(dāng)前頁(yè)面?zhèn)鬏旊A段處理。
4.根據(jù)權(quán)利要求1所述的IP傳真網(wǎng)關(guān)接收?qǐng)?bào)文數(shù)據(jù)的方法,其特征在于,步驟A中緩存的數(shù)據(jù)量由網(wǎng)絡(luò)抖動(dòng)的時(shí)長(zhǎng)和傳真支持的最高速率所決定。
5.根據(jù)權(quán)利要求1或2所述的IP傳真網(wǎng)關(guān)接收?qǐng)?bào)文數(shù)據(jù)的方法,其特征在于,所述流控開關(guān)是為了描述緩沖區(qū)空間的占用率而設(shè)置的一個(gè)可變化的標(biāo)識(shí)變量。
6.根據(jù)權(quán)利要求1或2所述的IP傳真網(wǎng)關(guān)接收?qǐng)?bào)文數(shù)據(jù)的方法,其特征在于,所述流控開關(guān)的上限閾值和下限閾值由網(wǎng)關(guān)打包的時(shí)長(zhǎng)所決定,并同時(shí)滿足以下條件上限閾值=(緩沖區(qū)空間總量-n個(gè)IP包的數(shù)據(jù)量)/緩沖區(qū)空間總量;下限閾值=(緩沖區(qū)空間總量-m個(gè)IP包的數(shù)據(jù)量)/緩沖區(qū)空間總量;其中n、m為大于零的正整數(shù),且m>n。
全文摘要
本發(fā)明公開了一種IP網(wǎng)關(guān)傳輸報(bào)文數(shù)據(jù)的方法,該方法在報(bào)文發(fā)端和收端的公共電話交換網(wǎng)之間用因特網(wǎng)連接,在發(fā)、收端公用電話交換網(wǎng)之間設(shè)置網(wǎng)關(guān)完成公共電話交換網(wǎng)數(shù)據(jù)和IP數(shù)據(jù)包之間的調(diào)制解調(diào),所述網(wǎng)關(guān)包括DSP以及CPU,DSP對(duì)報(bào)文數(shù)據(jù)進(jìn)行一定數(shù)量的緩存,當(dāng)緩存達(dá)到所述數(shù)量時(shí),DSP向公共電話交換網(wǎng)側(cè)發(fā)送報(bào)文數(shù)據(jù);在DSP向公共電話交換網(wǎng)側(cè)發(fā)送報(bào)文數(shù)據(jù)的同時(shí),當(dāng)緩沖區(qū)空間占用率高于上限閾值時(shí),DSP關(guān)閉流控開關(guān),通知CPU不再下發(fā)數(shù)據(jù),數(shù)據(jù)暫時(shí)緩存在CPU,當(dāng)緩沖區(qū)空間占用率低于下限閾值時(shí),DSP打開流控開關(guān),通知CPU下發(fā)數(shù)據(jù)。
文檔編號(hào)H04L29/06GK1812368SQ20051003301
公開日2006年8月2日 申請(qǐng)日期2005年1月25日 優(yōu)先權(quán)日2005年1月25日
發(fā)明者李瑞華 申請(qǐng)人:華為技術(shù)有限公司