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