MGCP協定

原則上,MGCP協定與前兩者皆不同,H.323和SIP協定是專門針對網路電話及IP網路所提出的兩套各自獨立的標準,兩者間並不兼容及互通。反觀MGCP協定,則與IP電話網路無關,而只涉及網關分解上的問題,也因為如此,該協定可同時適用於支持H.323或SIP協定的網路電話系統。

MGCP協定制定的主要目的在於將網關功能分解成負責媒體流處理的媒體網關(MG),以及掌控呼叫建立與控制的媒體網關控制器(MGC)兩大部分。同時MG在MGC的控制下,實現跨網域的多媒體電信業務。

由於MGCP更加適應需要中央控管的通信服務模式,因此更符合電信營運商的需求。在大規模網路電話網中,集中控管是一件非常重要的事情,透過MGCP可利用MGC統一處理分發不同的服務給MG。

基本介紹

  • 中文名:MGCP協定
  • 全稱:媒體網關控制協定
  • 分類:VOIP 協定
  • 制定時間:1999年
簡介,採用MGCP協定實現IP語音接入的優點,MGCP呼叫模型,3.1MGCP呼叫控制結構,3.2MG分類,3.3終端標識,MGCP系統結構和呼叫流程,4.1MGCP協定棧,4.2MGCP訊息,4.3MGCP主要呼叫流程,

簡介

協定是1999年由IETF制定的媒體網關控制協定。MGCP協定定義的連線模型包括端點(endpoint)和連線(connection)兩個主要概念:端點是數據源或數據宿,可以是物理端點,也可以是虛擬端點;端點類型包括數字通道、模擬線、錄音伺服器接入點及互動式話音回響接入點;端點標識由端點所在網關域名和網關中的*地名兩部分組成。連線可以是點到點連線或多點連線,點到點連線是兩個互相傳送數據的端點之間的一種關聯,該關聯在兩個端點都建立起來後,就可開始傳送數據。
MGCP採用文本協定,協定訊息分為命令和回響,每個命令需要接收方回送回響,採用三次握手方式證實。命令訊息由命令行和若干參數行組成,回響訊息帶有3位數字的回響碼。MGCP採用媒體描述協定(SDP)向網關描述連線參數。為了減小信令傳送時延,MGCP採用UDP傳送。
MGCP協定的基本思想就是網關分離。將H.323協定的IP網關分為媒體網關(MG)、信令網關(SG)和媒體網關控制器(MGC,又稱CA)。其中MG僅負責媒體格式的變換;SG負責信令的轉換;MGC才是真正的智慧型部分,根據收到的信令控制MG的連線建立和釋放。這樣的分離結構不僅可以大幅度提高中繼MG的容量,而且可以提供7號信令的支持,並提高了系統的可用性和魯棒性。
從嚴格的意義上來說,H.323和MGCP不是同一層面上的協定,H.323協定國際電聯ITU制定的,MGCP協定是網際網路工程任務組(IETF)定義發布的,不能簡單地進行比較。
我們這裡僅從接入的角度來比較這兩個協定。MGCP協定正是為了在網際網路上高效而方便地傳送的VOIP語音而制定的協定,它歸納和簡化了H.323協定的基本通話擴展和簡化協定,
在實際的套用中,由於H.323的套用較早,大量的駐地網關(RGW)採用的是H.323協定,這是一個歷史的原因。而事實上,MGCP卻能更好地實現RGW的接入。

採用MGCP協定實現IP語音接入的優點

RGW的智慧型大為降低,易於開發;
2.MGCP採用文本方式編碼,且結構非常簡單,易於理解,便於開發和維護;
3.基於MGC的智慧型集中管理,運維和智慧型業務升級非常方便。MGC往往是放在機房的伺服器上,每個MGC可以控制成千上萬個RGW,這樣要進行系統升級或增加新的業務時,只需簡單地升級機房裡的MGC即可,而採用H.323協定時,需要挨家挨戶去升級每個RGW,這種方式非常不適合大規模部署;
4.MGCP不能繞過系統在兩個網關之間通話,而H.323網關、SIP網關均可以繞過系統實現兩者之間的通話;這與以通話計費作為運營利益保障的商業模式顯然是衝突的。
5.防止盜打危害。MGCP協定終端以DOMAINNAME註冊受控於MGC(或稱CA),無法獲得來自落地網關的IP位址信息,無法直接非法透傳。H.323協定終端以IP位址方式註冊受控於GK,能夠獲得來自基於H.323協定落地網關方面的信息,包括IP位址訊息,有非常棘手的安全隱患。
6.呼叫建立速度快。一個呼叫至多在3秒內回響振鈴,而H.323協定可能用7秒時間。
7.撥號方式與普通電話完全相同,而H.323協定網關普遍需要在撥號尾端添加#號。
8.MGCP協定設備可以方便的實現動態的NAT穿透,而H.323協定設備相對複雜和麻煩。
基於MGCP上述功能特性,使得MGCP協定得到了VOIP運營商的普遍認同,MGCP協定IAD設備已經在軟交換業務網路中得到了大規模的商用。MGCP的更高級版本H.248協定也已經確定和發布,隨著H.248協定不斷為用戶熟悉,會有支持該協定的IAD設備與用戶見面,屆時,MGCP協定的一些局限,如不能方便支持視頻會議功能,也將在H.248協定中得以解決。

MGCP呼叫模型

3.1MGCP呼叫控制結構

MGCP協定在RFC2705中進行了定義,主要用於控制來自外部呼叫控制單元的IP語音(VoIP)網關。
MGCP定義了一種呼叫控制結構,這種結構使得呼叫控制與業務承載相分離,如圖1所示。
圖1 呼叫控制模型結構
MGCP協定
從圖4.27中可以看出,MGCP協定是一個主/從協定。呼叫控制由獨立於媒體網關的媒體網關控制器來完成。即通常情況下,MGC是“主”,MG是“從”,而MG需要被動地執行MGC發出的命令。但也有兩種情況是MG發出命令,MGC來接收,詳細內容參見MGCP訊息小節。

3.2MG分類

在這裡,MG是一種網路單元,在NGN體系結構中,MG可以分為如下幾種。
(1)中繼媒體網關(TrunkMediaGateway,TMG)
是位於電路交換網和IP分組網之間的網關,用於終結大量的數字電路。
(2)接入媒體網關(AccessMediaGateway,AMG)
用於將一種網路中的媒體轉換成另一種網路所要求的媒體格式。例如,AMG可完成電路交換網的承載通道和分組網的媒體流之間的轉換。
(3)通用媒體網關(UniversalMediaGateway,UMG)
主要完成媒體流格式轉換與信令轉換功能,具有TMG、內置信令網關、AMG等多種用途,可用於連線PSTN交換機、PBX、接入網、路由器、無線基站等多種設備。

3.3終端標識

端點由端點標識符來標識。端點標識符不區分大小寫,由兩部分組成。第一部分是該端點所在的網關的域名,第二部分是該端點在網關內的本地名稱,它們之間用@來分隔,就像是一個E-mail地址。本地名稱的語法取決於端點的類型,可以具有層次結構,以形成一個從網關名到各端點的命名路徑,端點標識遵循下面的約定。
(1)每個命名路徑的標識項必須用單個斜槓(/)分隔。
(2)每個標識項都是一個由字母、數字或者其他可列印字元組成的字元串,該字元串中不包括定界符號(/、@)和空格。
(3)本地名中可以用通配符“*”和“$”,前者表示這一層上的所有端點,後者表示在這一層上的某一端點,即前者具有“所有的”,而後者具有“任何一個”的含義。
在MGCP中,網關通過其域名(如mg1.anycompany.com)標識。本地名可以用物理接口名(如roger)和終端標識(接入媒體網關中電話號碼所對應的連線埠號)構成。該終端標識和物理接口名用斜槓(/)分隔。如媒體網關的端點名:roger/[email protected],指域名為mg1.anycompany.com的媒體網關roger接口的第1個連線埠。

MGCP系統結構和呼叫流程

4.1MGCP協定棧

MGCP協定是一種信令協定,它定義在UDP/IP之上。即MGCP使用的網路層協定是IP,傳輸層協定是UDP。這就保證了MGCP協定獨立於底層承載協定之上,如圖2所示。

4.2MGCP訊息

(1)MGCP命令訊息
①MGCP命令格式。MGCP命令由命令行和參數行組成,其中,命令行的格式如下:
命令動詞事務ID端點IDMGCP1.0
參數行由若干組“參數名:參數值”對組成。
具體如圖3所示。
圖2 MGCP協定棧
MGCP協定
圖3 MGCP命令格式
MGCP協定
②MGCP命令嵌套。允許一層命令嵌套,一般用於創建和通知。
③MGCP命令。MGCP命令訊息包括連線處理和端點處理命令,總共九個命令,如表1所示。
表1MGCP命令訊息
代碼
方 向
命令名稱
命令描述
EPCF
MGC→MG
EndpointConfiguration
用來規定在端點上接收的信號的編碼(是A-law還是m-law)。呼叫代理使用該命令可以將這些信息傳給相應的網關
RQNT
MGC→MG
NotificationRequest
請求網關監視某端點發生的某些事件,如發生,則通知呼叫代理
NTFY
MG→MGC
Notify
網關通知呼叫代理,請求監視的某些事件已發生
CRCX
MGC→MG
CreateConnection
呼叫代理用此命令將某端點和指定的IP位址和UDP連線埠關聯。另外還需要向遠端端點傳送一個創建連線命令,這樣才能建立兩個端點間的連線
MDCX
MGC→MG
ModifyConnection
修改先前建立連線的參數,呼叫代理用該命令將第二個端點的“會話描述”(IP位址、UDP連線埠和打包參數等信息)提供給第一個端點。一旦該過程完成,雙方可以進行雙向通信
續表
代碼
方 向
命令名稱
命令描述
DLCX
MGC→MG
DeleteConnection
刪除先前建立的連線
AUEP
MGC→MG
AuditEndpoints
呼叫代理獲得單個端點或一組端點的詳細信息
AUCX
MGC→MG
AuditConnection
呼叫代理獲得端點上連線的詳細信息
RSIP
MG→MGC
RestartInProcess
網關通知端點退出服務或投入服務
④命令參數。
a.回響證實(K)
指明已收到回響命令的事務標識。
b.承載信息(B)
指示承載屬性。
c.呼叫ID(C)
是一個全局唯一的參數,它用來標識連線的呼叫(會話)。屬於同一個呼叫的連線共享相同的呼叫標識。用十六進制字元串表示,至多32個字元。
d.連線ID(I)
用於標識連線,用十六進制字元串表示,至多32個字元。
e.被通知實體(N)
被通知實體,用來指定通知送到什麼地方。當缺少該參數時,通知將發給通知請求的始發者。
f.請求ID(X)
請求標識,用於將請求和它所觸發的通知關聯起來。用十六進制字元串表示,至多32個字元。
g.本地連線選項(L)
本地連線選項是呼叫代理建議網關的可選參數。這些參數為:以ms為單位的打包時長(p),首選的壓縮算法(a),以kbit/s為單位的頻寬(b),回聲取消參數(e),增益控制參數(gc),靜音抑制參數(s),業務類型參數(t),資源保留參數(r),加密密鑰(k),網路類型(nt)。每個參數都是可選的,當有多個參數出現時,它們的值用逗號分隔。
h.連線模式(M)
連線模式描述連線的操作模式。
i.被請求的事件(R)
提供一系列已經被請求的事件。每個事件受一個請求的動作限制,或者受一系列動作的限制。
j.請求信號(S)
提供已經被請求的信號名。
k.檢測到的事件(O)
檢測到的事件參數提供一個已經觀察到的事件列表。
l.連線參數(P)
連線參數使用類型字元串和參數值進行編碼,其中類型可以為參數類型標識,也可以是擴展類型,參數值為一個十進制整數。類型和參數值之間用“=”分隔。參數之間用逗號分隔。
m.原因碼(E)
在由媒體網關或MGCP終端發起的刪除連線命令或者重啟進程命令中,必須包含原因碼(ReasonCodes),用來表明刪除連線或者重啟的原因。
n.指定端點ID(Z)
網關指定的連線埠ID,在創建連線回響中返回。是可選參數,用來標識回響端點。
o.請求的信息(F)
當指定了一個非通配的端點標識,請求的信息用於描述指定端點的請求信息。
p.隔離處理(Q)
隔離處理定義怎樣處理“隔離”事件,即在通知請求命令到達之前,網關已經檢查到的事件,但是還沒有將該事件通知呼叫代理。
q.檢測事件(T)
在隔離模式下當前被檢查的事件列表。檢測事件參數是用逗號分隔的一組事件編碼。
r.重啟方式(RM)
重啟方式參數指定重啟類型,該參數使用以下關鍵字。
graceful:表示指定的端點將在指定的延時之後退出服務。已經建立的連線不受影響,但是呼叫代理避免建立新連線,並且試圖文明拆除該存在的連線。
forced:表示指定端點突然退出服務。已經建立的連線會丟失。
restart:表示在確定的重啟延時之後恢復該端點上的服務。當前該端點上還沒有已經建立的連線。
disconnected:表示指定的端點已經被分離,並且試圖建立連線。“重啟時延”指定了該端點分離了多少秒。已經建立的連線不受影響。
cancel-graceful:此方式表示該網關正在取消先前發出的“文明重啟”命令。
s.重啟動時延(RD)
重啟延時,以s為單位。如果不提供該參數,則認為延時時間為無效。
t.事件狀態(ES)
該參數是用逗號分隔的一組事件編碼。
u.性能(A)
當端點被監察時,性能參數通知呼叫代理關於該端點的性能。
v.遠端連線描述語(RC)
用於描述被連線的終端信息,它和本地連線包含相同的域(IP位址、UDP連線埠和打包參數)。對於建立連線命令,當不知道遠端情況時,該參數為空值。
w.本地連線描述語(LC)
包括適合於本地連線的IP位址和連線埠號等會話描述。
(2)MGCP回響訊息
所有的MGCP命令都要接收者回送回響。
①MGCP回響格式。和MGCP命令的格式類似,回響格式由回響行後接一組可選參數行組成。
回響行由回響碼、事務標識和一個由空格隔開的可選注釋組成。
參數行與MGCP命令的格式一樣,這裡不再贅述。
MGCP具體回響格式如圖4所示。
圖4 MGCP回響格式
MGCP協定
②MGCP回響碼定義。回響碼為一整數,共四組,如表2所示。是否返回應答參數,依賴於特定的命令。
表2MGCP回響碼範圍含義
回響碼範圍
回響碼範圍含義
100~199
表示臨時應答
200~299
表明命令成功完成
400~499
表明命令執行時遇到一個臨時性的錯誤(transienterror)
500~599
表明命令執行時遇到一個永久性的錯誤(permanenterror)
詳細的回響碼含義如表3所示。
表3詳細的MGCP回響碼及其含義
響 應 碼
回響碼含義
200
請求的事務已經被正常執行
250
連線被刪除
400
由於突發錯誤,不能執行該事務
401
電話已經摘機
402
電話已經掛機
403
由於此時端點沒有充足的資源,不能執行該事務
404
該時頻寬不足
500
由於端點未知,該事務不能被執行
501
由於端點未就緒,該事務不能被執行
502
由於端點沒有充足的資源,該事務不能被執行
510
由於檢查到協定錯誤,該事務不能被執行
511
由於命令中包含不能識別的擴展名,該事務不能被執行
512
由於網關沒有配置檢查請求事件的能力,該事務不能被執行
513
由於網關沒有配置產生請求信號的能力,該事務不能被執行
514
由於網關不能傳送指定的通知音,該事務不能被執行
515
該事務涉及一個錯誤的連線標識(該連線可能已經被刪除)
516
該事務涉及一個錯誤的呼叫標識
517
不支持或者無效的模式
518
不支持或者未知的訊息包
519
端點不存在數字表收號方式
續表
響 應 碼
回響碼含義
520
由於端點“正在重啟”,該事務不能被執行
521
端點已經被重定向到其他呼叫代理
522
沒有該事件或者信號
523
未知的動作或者非法的動作組合
524
LocalConnectionOptions
526
頻寬不夠
527
缺少RemoteConnectionDescriptor
528
不兼容的協定版本
529
內部硬體故障
530
CAS
531
中繼群故障(例如設備故障)

4.3MGCP主要呼叫流程

(1)對整個接入設備註冊
接入設備註冊是對整個接入設備向控制器發起註冊,MG必須首先向MGC註冊,才能完成隨後正常的流程接續。當MG設備用戶數比較多時將需要較長的時間,通常這個過程是在MG設備加電冷啟動的時候進行。詳細過程如圖5所示。
圖5 網關註冊流程
MGCP協定
註冊流程分為以下幾個步驟完成。
①MG向MGC發出RSIP命令要求註冊。
②MGC收到RSIP後,計算是否為合法註冊,如果合法,就認證通過,傳送ACK。
③MGC下發檢測摘機RQNT命令,並建議摘機事件為永久事件。
④MG向MGC傳送回應ACK訊息。
⑤MGC定期向MG傳送RQNT命令進行鑒權。
⑥MG回送ACK回響訊息。
⑦MG用NTFY向MGC回送鑒權應答。
⑧MGC向MG傳送ACK回響。
(2)單個終端註冊
當MG已經啟動完畢,並且現有MG上的終端設備都已經註冊完畢時,如果在MG上增加了新的終端設備,那么終端設備將通過MG向MGC發起單個終端的註冊過程。詳細過程如圖6所示。
①MG向MGC傳送RSIP命令,重啟方式為restart。
②MGC迴響應ACK。
③MGC向MG傳送RQNT命令,建議監視摘機。
④MG迴響應ACK。
(3)註銷過程
MG在退出服務時向MGC傳送RSIP命令,通知MGC本MG上所有端點退出服務。這個註銷流程除了適應整個MG設備退出服務,也適用於單個端點退出服務,如圖7所示。
圖6 單個終端註冊流程
MGCP協定
圖7 註銷流程
MGCP協定
①MG向MGC傳送RSIP命令,重啟方式為forced。
②MGC向MG迴響應ACK。
(4)同一MGC控制下的兩個MG設備間的呼叫建立流程
具體流程如圖8所示。
圖8 同一MGC控制下的呼叫建立流程
MGCP協定
(5)同一MGC控制下的兩個MG設備間的呼叫釋放流程
具體流程如圖9所示。
圖9 同一MGC控制下的呼叫釋放流程
MGCP協定

相關詞條

熱門詞條

聯絡我們