專利名稱:在媒體網(wǎng)關(guān)控制協(xié)議中實(shí)現(xiàn)事務(wù)傳輸控制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及媒體網(wǎng)關(guān)控制協(xié)議的事務(wù)傳輸控制處理的實(shí)現(xiàn)。
背景技術(shù):
媒體網(wǎng)關(guān)控制協(xié)議(Media Gateway Control Protocol,簡稱MGCP)是因特網(wǎng)工程業(yè)務(wù)組(The Internet Engineering Task Force,簡稱IETF)的RFC2705協(xié)議。
MGCP(RFC2705)是由兩個(gè)基本協(xié)議簡單網(wǎng)關(guān)控制協(xié)議(Simple GatewayControl Protocol,簡稱SGCP)和IP設(shè)備控制協(xié)議(Internet Protocol DeviceControl,簡稱IPDC)融合而成的媒體網(wǎng)關(guān)控制協(xié)議。
如圖1所示為實(shí)現(xiàn)MGCP協(xié)議的系統(tǒng)組網(wǎng)圖。MGCP協(xié)議采用了分離網(wǎng)關(guān)思想,將以前信令和媒體集中處理的網(wǎng)關(guān)分解為兩部分媒體網(wǎng)關(guān)(MediaGateway,簡稱MG)和呼叫代理服務(wù)器(Call agent,簡稱CA)。CA處理信令,MG處理媒體,CA控制MG的動作。從本質(zhì)上將MGCP是一種主/從(master/slave)關(guān)系,由CA向MG發(fā)出要執(zhí)行的命令,MG將所搜集的消息上報(bào)給CA。CA相當(dāng)于主(master),MG相當(dāng)于從(slave)。CA分配給MG具體任務(wù),并處理MG上交的請求。CA和MG都是網(wǎng)絡(luò)中的網(wǎng)元,它們互相之間通過MGCP協(xié)議進(jìn)行通訊。
作為應(yīng)用層的協(xié)議,MGCP不僅定義了CA和MG之間的信令接口,還定義了CA和MG之間的信令傳輸方法。MGCP采用一種基于事務(wù)處理(Transaction)在MGCP協(xié)議承載網(wǎng)絡(luò)的傳輸機(jī)制。所述承載網(wǎng)絡(luò)包括因特網(wǎng)(INTERNET)或異步傳輸網(wǎng)(ATM),具體由MGCP協(xié)議定義。
MGCP接口消息由命令消息和響應(yīng)消息組成,本發(fā)明中,命令消息和響應(yīng)消息統(tǒng)稱為事務(wù)。命令消息必須包含命令頭,響應(yīng)消息必須包含響應(yīng)頭。每個(gè)命令需要得到響應(yīng),而響應(yīng)需要接收方回送響應(yīng)證實(shí),即采用三次握手方式傳遞消息。當(dāng)命令得不到響應(yīng)時(shí),命令發(fā)送方將定時(shí)重傳命令到接收方,而命令接收方必須發(fā)送臨時(shí)響應(yīng),重傳和臨時(shí)響應(yīng)的過程直到命令接收方向命令發(fā)送方發(fā)送命令響應(yīng)為止。
命令頭由一個(gè)命令行和一套參數(shù)行組成。命令行由請求動詞、事務(wù)標(biāo)識(TransactionID)、執(zhí)行命令的端點(diǎn)名、協(xié)議版本號4部分組成。TransactionID的值從1到999999999,TransactionID是標(biāo)識事務(wù)的關(guān)鍵字。參數(shù)行由參數(shù)名(大部分情況下是一個(gè)大寫字母),一個(gè)分號,一個(gè)空格和參數(shù)值組成。響應(yīng)頭由一個(gè)響應(yīng)行和多個(gè)(也可以沒有)響應(yīng)行組成。響應(yīng)行由響應(yīng)碼、TransactionID、可選的注釋3部分組成,相互間用空格符分隔。
為了加快消息傳送速度,MGCP消息采用UDP(User Datagram Protocol,即用戶數(shù)據(jù)報(bào)協(xié)議)傳送。由于UDP本身只能提供不可靠的服務(wù),因此MGCP協(xié)議必須采取措施保證消息的可靠傳輸和正確處理。正由于是在UDP上傳送,MGCP消息會丟失,如果發(fā)送命令的實(shí)體沒有及時(shí)收到響應(yīng),發(fā)送命令的實(shí)體會重發(fā)該命令。對于大多數(shù)命令來說,重復(fù)執(zhí)行此命令會引起混亂,因此傳輸過程必須能夠確保同一命令只被執(zhí)行一次。
MGCP協(xié)議中事務(wù)標(biāo)識(TransactionID)是標(biāo)識事務(wù)的關(guān)鍵字,但對事務(wù)標(biāo)識TransactionID沒有進(jìn)一步的描述,這樣可能會造成不同的媒體網(wǎng)關(guān)發(fā)出的信令中包含有同樣的TransactionID,此時(shí)造成接收方不能明確區(qū)分究竟信令消息來自哪個(gè)媒體網(wǎng)關(guān)、也不能區(qū)分后到的另一個(gè)網(wǎng)關(guān)的信令是否一條新的命令,從而造成不能保證同一命令只被執(zhí)行一次的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種在媒體網(wǎng)關(guān)控制協(xié)議中實(shí)現(xiàn)事務(wù)傳輸控制的方法,以解決現(xiàn)有MGCP協(xié)議執(zhí)行過程中,接收方不能明確區(qū)分信令消息來自哪個(gè)媒體網(wǎng)關(guān)、以及不能保證同一命令只被執(zhí)行一次的技術(shù)問題。
實(shí)現(xiàn)本發(fā)明所要解決的技術(shù)問題而采取的技術(shù)方案概括如下,提供一種在媒體網(wǎng)關(guān)控制協(xié)議中實(shí)現(xiàn)事務(wù)傳輸控制的方法,包括以下步驟(1)呼叫代理服務(wù)器或者媒體網(wǎng)關(guān)發(fā)送命令請求時(shí),將該命令對應(yīng)的事務(wù)傳輸識別信息保存在發(fā)送隊(duì)列中,所述事務(wù)傳輸識別信息包括該命令對應(yīng)的源IP地址、媒體網(wǎng)關(guān)端口號、事務(wù)標(biāo)識;(2)媒體網(wǎng)關(guān)控制協(xié)議信令處理實(shí)體接收命令時(shí),根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息先在響應(yīng)隊(duì)列中查找,若匹配,重發(fā)原響應(yīng)消息,若不匹配,則在接收隊(duì)列中查找,若在接收隊(duì)列中匹配,回送臨時(shí)響應(yīng)消息,若在接收隊(duì)列中也不匹配,則在接收隊(duì)列中保存該命令相關(guān)的傳輸識別信息,執(zhí)行命令后回送響應(yīng),所述回送響應(yīng)中包含該命令的事務(wù)傳輸識別信息,同時(shí)將該響應(yīng)對應(yīng)的事務(wù)傳輸識別信息保存在響應(yīng)隊(duì)列中;
(3)呼叫代理服務(wù)器或者媒體網(wǎng)關(guān)接收到響應(yīng)時(shí),根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息在響應(yīng)隊(duì)列中查找,若匹配,則丟棄該響應(yīng),若不匹配,在發(fā)送隊(duì)列中查找,若在發(fā)送隊(duì)列中匹配,繼續(xù)判斷該響應(yīng)是否為臨時(shí)響應(yīng),若是臨時(shí)響應(yīng),則調(diào)整發(fā)送隊(duì)列中相應(yīng)命令的重發(fā)定時(shí)器,若不是臨時(shí)響應(yīng),則作相應(yīng)處理。
采用本發(fā)明的技術(shù)方案,實(shí)現(xiàn)了事務(wù)的可靠傳輸和正確處理,確保了同一命令只被執(zhí)行一次,從而使MGCP信令能夠正確執(zhí)行,同時(shí)大大降低了網(wǎng)關(guān)的配置要求,簡化了媒體網(wǎng)關(guān)的協(xié)議處理,方便媒體網(wǎng)關(guān)實(shí)現(xiàn)接入。
圖1示出了MGCP協(xié)議系統(tǒng)的組網(wǎng)圖;圖2示出了本發(fā)明實(shí)現(xiàn)MGCP協(xié)議層的系統(tǒng)示意圖;圖3示出了本發(fā)明實(shí)現(xiàn)MGCP協(xié)議事務(wù)傳輸控制的發(fā)送命令的處理流程示意圖;圖4示出了本發(fā)明實(shí)現(xiàn)MGCP協(xié)議事務(wù)傳輸控制的發(fā)送響應(yīng)的處理流程示意圖;圖5示出了本發(fā)明實(shí)現(xiàn)MGCP協(xié)議事務(wù)傳輸控制的接收命令的處理流程示意圖;圖6示出了本發(fā)明實(shí)現(xiàn)MGCP協(xié)議事務(wù)傳輸控制的接收響應(yīng)的處理流程示意圖。
具體實(shí)施例方式
下面將結(jié)合附圖,舉例說明本發(fā)明的具體實(shí)施的方式。
考慮到在實(shí)現(xiàn)過程中,單獨(dú)依靠MGCP協(xié)議所要求的事務(wù)標(biāo)識TransactionID并不能完全區(qū)別不同的事務(wù),因此在本發(fā)明中,為了對不同事務(wù)的區(qū)別而增加了源IP地址和媒體網(wǎng)關(guān)MG的端口號信息進(jìn)行識別,依靠三者來區(qū)別不同的事務(wù)。
MGCP信令處理實(shí)體要在存儲器中保存其對最近事務(wù)回送的響應(yīng)以及目前正在執(zhí)行的事務(wù)的信息,在本發(fā)明中,該事務(wù)對應(yīng)的事務(wù)傳輸識別信息保存在所構(gòu)造的發(fā)送隊(duì)列中,所述發(fā)送隊(duì)列保存在存儲器中,所述事務(wù)傳輸識別信息包括該命令對應(yīng)的源IP地址、媒體網(wǎng)關(guān)端口號、事務(wù)標(biāo)識。當(dāng)MGCP信令處理實(shí)體接收到命令后,應(yīng)根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息同最近回送的響應(yīng)相比較,如果發(fā)現(xiàn)已經(jīng)處理過,則不執(zhí)行該事務(wù),并重新回送該響應(yīng);否則與當(dāng)前正在執(zhí)行的事務(wù)相比較,如果發(fā)現(xiàn)與當(dāng)前正在執(zhí)行的事務(wù)匹配,則回送一個(gè)臨時(shí)響應(yīng)(Pending)消息,表示該事務(wù)正在執(zhí)行,如果不匹配,則該接收到的事務(wù)是新的事務(wù)并對該命令進(jìn)行相應(yīng)的處理。相應(yīng)地,在本發(fā)明中,MGCP協(xié)議棧中構(gòu)造3個(gè)消息隊(duì)列,即發(fā)送隊(duì)列、接收隊(duì)列和響應(yīng)隊(duì)列,每個(gè)隊(duì)列中的元素都包含每個(gè)事務(wù)對應(yīng)的事務(wù)傳輸識別信息,即3個(gè)特征事務(wù)標(biāo)識TransactionID、源IP地址、媒體網(wǎng)關(guān)端口號。
圖2示出了本發(fā)明實(shí)現(xiàn)MGCP協(xié)議層的系統(tǒng)示意圖,如圖所示,協(xié)議傳輸處理層,負(fù)責(zé)事務(wù)的傳輸控制處理,下文涉及的3個(gè)消息隊(duì)列都位于此層中,業(yè)務(wù)層負(fù)責(zé)業(yè)務(wù)處理。
如圖5所示,媒體網(wǎng)關(guān)控制協(xié)議信令處理實(shí)體接收命令時(shí),根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息先在響應(yīng)隊(duì)列中查找,若事務(wù)標(biāo)識、源IP地址和媒體網(wǎng)關(guān)端口號均能在響應(yīng)隊(duì)列中找到一致的信息,亦即獲得匹配,則重發(fā)響應(yīng)隊(duì)列中的原響應(yīng)消息,若不匹配,則在接收隊(duì)列中查找已經(jīng)收到的命令請求,若在接收隊(duì)列中事務(wù)傳輸識別信息獲得匹配,則回送臨時(shí)響應(yīng)消息,若在接收隊(duì)列中也不匹配,表明該命令消息是個(gè)新請求,則在接收隊(duì)列中,申請空閑數(shù)據(jù)區(qū),保存該命令相應(yīng)的事務(wù)傳輸識別信息在數(shù)據(jù)區(qū)中,同時(shí)將該命令消息上報(bào)給業(yè)務(wù)處理層,由業(yè)務(wù)處理層對該命令消息進(jìn)行相應(yīng)處理,并將處理結(jié)果返回給協(xié)議傳輸處理層,協(xié)議傳輸處理層再向網(wǎng)關(guān)回送響應(yīng),回送的響應(yīng)中包含該命令的事務(wù)傳輸識別信息,同時(shí)將該響應(yīng)對應(yīng)的事務(wù)傳輸識別信息保存在響應(yīng)隊(duì)列中,如圖4所示。
如圖6所示,呼叫代理服務(wù)器或者媒體網(wǎng)關(guān)接收到響應(yīng)時(shí),根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息在響應(yīng)隊(duì)列中查找,若事務(wù)標(biāo)識、源IP地址和媒體網(wǎng)關(guān)端口號均能在響應(yīng)隊(duì)列中找到一致的信息,亦即獲得匹配,則丟棄該響應(yīng),若不匹配,則在發(fā)送隊(duì)列中查找,若在發(fā)送隊(duì)列中不匹配,則丟棄該響應(yīng),若在發(fā)送隊(duì)列中匹配,繼續(xù)判斷該響應(yīng)是否臨時(shí)響應(yīng),若該響應(yīng)為臨時(shí)響應(yīng)(響應(yīng)原因代碼等于在大于等于100和小于200范圍之內(nèi)),調(diào)整發(fā)送隊(duì)列中相應(yīng)命令的重發(fā)定時(shí)器(即控制定時(shí)重傳命令),若該響應(yīng)不為臨時(shí)響應(yīng),則作相應(yīng)處理。由于響應(yīng)事務(wù)是對發(fā)出的命令的響應(yīng),因此可以根據(jù)發(fā)出的命令的特點(diǎn),簡化比較,例如,如果發(fā)出的命令的事務(wù)標(biāo)識TransactionID在目前的發(fā)送隊(duì)列中是唯一的,那么可以只匹配事務(wù)標(biāo)識,其他兩項(xiàng)(源IP地址和媒體網(wǎng)關(guān)端口號)可以不進(jìn)行匹配比較。
如圖3所示,當(dāng)呼叫代理服務(wù)器或者媒體網(wǎng)關(guān)發(fā)送命令請求時(shí),將該命令對應(yīng)的事務(wù)傳輸識別信息保存在發(fā)送隊(duì)列中,以便于在接收到響應(yīng)時(shí)進(jìn)行查找匹配,同時(shí)在發(fā)送命令請求時(shí)構(gòu)造重發(fā)機(jī)制,即設(shè)置重發(fā)定時(shí)器和重發(fā)次數(shù)。
盡管參照實(shí)施例對所公開的涉及在媒體網(wǎng)關(guān)控制協(xié)議中實(shí)現(xiàn)事務(wù)傳輸控制的方法進(jìn)行了特別描述,本領(lǐng)域技術(shù)人員將能理解,在不偏離本發(fā)明的范圍和精神的情況下,可以對它進(jìn)行形式和細(xì)節(jié)的種種顯而易見的修改。因此,以上描述的實(shí)施例是說明性的而不是限制性的,在不脫離本發(fā)明的精神和范圍的情況下,所有的變化和修改都在本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種在媒體網(wǎng)關(guān)控制協(xié)議中實(shí)現(xiàn)事務(wù)傳輸控制的方法,其特征在于包括以下步驟(1)呼叫代理服務(wù)器或者媒體網(wǎng)關(guān)發(fā)送命令請求時(shí),將該命令對應(yīng)的事務(wù)傳輸識別信息保存在發(fā)送隊(duì)列中,所述事務(wù)傳輸識別信息包括該命令對應(yīng)的源IP地址、媒體網(wǎng)關(guān)端口號、事務(wù)標(biāo)識;(2)媒體網(wǎng)關(guān)控制協(xié)議信令處理實(shí)體接收命令時(shí),根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息先在響應(yīng)隊(duì)列中查找,若匹配,重發(fā)原響應(yīng)消息,若不匹配,則在接收隊(duì)列中查找,若在接收隊(duì)列中匹配,回送臨時(shí)響應(yīng)消息,若在接收隊(duì)列中也不匹配,則在接收隊(duì)列中保存該命令相關(guān)的傳輸識別信息,執(zhí)行命令后回送響應(yīng),所述回送響應(yīng)中包含該命令的事務(wù)傳輸識別信息,同時(shí)將該響應(yīng)對應(yīng)的事務(wù)傳輸識別信息保存在響應(yīng)隊(duì)列中;(3)呼叫代理服務(wù)器或者媒體網(wǎng)關(guān)接收到響應(yīng)時(shí),根據(jù)該命令對應(yīng)的事務(wù)傳輸識別信息在響應(yīng)隊(duì)列中查找,若匹配,則丟棄該響應(yīng),若不匹配,在發(fā)送隊(duì)列中查找,若在發(fā)送隊(duì)列中匹配,繼續(xù)判斷該響應(yīng)是否為臨時(shí)響應(yīng),若是臨時(shí)響應(yīng),則調(diào)整發(fā)送隊(duì)列中相應(yīng)命令的重發(fā)定時(shí)器,若不是臨時(shí)響應(yīng),則作相應(yīng)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟(1)中還包括以下步驟設(shè)置重發(fā)定時(shí)器和重發(fā)次數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟(3)中還包括以下步驟在發(fā)送隊(duì)列中查找時(shí),若所述響應(yīng)的事務(wù)傳輸識別信息中事務(wù)標(biāo)識在發(fā)送隊(duì)列中是唯一的,則可以只匹配事務(wù)標(biāo)識,而源IP地址、媒體網(wǎng)關(guān)端口號不需進(jìn)行匹配比較。
全文摘要
本發(fā)明公開了一種在媒體網(wǎng)關(guān)控制協(xié)議中實(shí)現(xiàn)事務(wù)傳輸控制的方法,包括以下步驟發(fā)送命令請求時(shí),將事務(wù)傳輸識別信息保存在發(fā)送隊(duì)列中,事務(wù)傳輸識別信息包括該命令對應(yīng)的源IP地址、媒體網(wǎng)關(guān)端口號、事務(wù)標(biāo)識;接收命令時(shí),先在響應(yīng)隊(duì)列中查找,若匹配,重發(fā)原響應(yīng)消息,若不匹配,則在接收隊(duì)列中查找;接收到響應(yīng)時(shí),在響應(yīng)隊(duì)列中查找,若匹配,則丟棄該響應(yīng),若不匹配,在發(fā)送隊(duì)列中查找,若匹配,繼續(xù)判斷該響應(yīng)是否為臨時(shí)響應(yīng),若是臨時(shí)響應(yīng),則調(diào)整發(fā)送隊(duì)列中相應(yīng)命令的重發(fā)定時(shí)器,若不是臨時(shí)響應(yīng),則作相應(yīng)處理。采用本發(fā)明的技術(shù)方案,實(shí)現(xiàn)了事務(wù)的可靠傳輸和正確處理,確保了同一命令只被執(zhí)行一次,從而使MGCP信令能夠正確執(zhí)行。
文檔編號H04L12/24GK1494289SQ02137799
公開日2004年5月5日 申請日期2002年10月31日 優(yōu)先權(quán)日2002年10月31日
發(fā)明者徐長洪, 李明棟 申請人:深圳市中興通訊股份有限公司