本文說明如何設定媒體閘道控制通訊協定(MGCP)並疑難排解;MGCP是呼叫代理/終端協定。
本文件沒有特定需求。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
| 屬性 |
定義 |
| 通話代理 |
扮演主要角色並提供集中呼叫智慧的呼叫控制元素。 |
| 端點 |
端點是呼叫代理控制的裝置,例如:FXO、FXS或DS0通道。 |
| PSTN |
公共交換電話網路。 |
媒體閘道控制通訊協定(MGCP)由RFC 2705定義。MGCP是一種呼叫代理/終端協定,其中終端由某種型別的呼叫代理控制。整個控制智慧由呼叫代理管理,呼叫代理會指示終端在檢測到事件後執行什麼操作。MGCP使用TCP埠2428和UDP埠2427。
MGCP中的TCP埠2428用於開啟帶有呼叫代理的新套接字,以確定是否可以建立連線。如果沒有此新套接字,後續的MGCP消息將無法交換。它還用於在PRI終端與其註冊到的呼叫代理之間傳送/接收回傳消息。最後,TCP埠2428用於在主呼叫代理無響應時故障切換至備份呼叫代理。
MGCP中的UDP埠2427用於終端和呼叫代理之間交換的MGCP消息。
以下是基本MGCP流量的範例。在此範例中,閘道會收到來自此語音閘道(端點)上的PSTN的新呼叫。 網關將收到的新呼叫通知呼叫代理(CUCM),呼叫代理指示網關為此新呼叫建立連線。最後,網關向呼叫代理傳送一個OK以建立呼叫。

每個端點都需要一個識別符號,以便呼叫代理確定它需要傳送事件的人或事件的來源。端點識別符號有兩個主要元件:
範例:
本檔案將每個組態元件分割為多個單獨步驟。
在計畫註冊到CUCM的模擬網關上,這是所需的最低配置。您只需新增此配置即可開始註冊過程,因為剩餘配置將從CUCM下載:
VG320(config)# mgcp call-agent 10.50.217.100 2427 service-type mgcp version 0.1 VG320(config)# ccm-manager config server 10.50.217.100 VG320(config)# ccm-manager config VG320(config)# ccm-manager mgcp VG320(config)# mgcp **Note on the ISR4000s if you fail to down load your configuration file, you must add the command: VG320(config)# ip tftp source-interface GigabitEthernet x/x/x
步驟1.要在CUCM中配置MGCP網關,必須登入到Cisco Unified CM管理。登入後,導航到Device > Gateway:

步驟2.上一個選擇會將您放在「查詢並列出網關」頁面。在此頁面上,選擇Add New按鈕,該按鈕帶有「+」(加號):

步驟3.選擇Add New後,系統會提示您選擇閘道型別。使用下拉選單選擇要註冊的硬體,然後選擇下一步為此裝置選擇所需的協定(必須選擇MGCP):

步驟4.選擇使用的硬體和協定後,必須配置域名、Cisco Unified Communications Manager組和模組資訊。以下是通過MGCP註冊終端所需的主要欄位。
步驟5.域名由1至2部分組成。在「Domain Name」欄位中至少必須輸入路由器的Host Name。在此案例中,主機名是:
VG320。但是,如果在網關上配置了域名,則必須配置此裝置的完全限定域名:

步驟6.選擇Save。這將更新頁面並允許您選擇子單位。選擇子單位後,請再次選擇儲存。現在,您可以看到您的可設定連線埠:

步驟7.要配置終端,請按一下模擬裝置插入的埠(在本場景中為0/0/0)。 選擇連線埠後,系統會提示您設定連線埠型別:

步驟8.在這種情況下,請選擇POTS。選擇後,您可以像為任何其他Call Manager端點那樣為裝置資訊輸入所有必要的值。唯一的必需欄位是Device Pool,但您可以輸入其他值,如呼叫搜尋空間。完成後,按一下「Save」。
步驟9.此時,左側窗格已填寫Add a New DN欄位。您現在可以將DN與此埠關聯、儲存並應用配置。完成後,返回連線埠組態頁面,您可以看到連線埠已註冊:

本節介紹MGCP端點註冊和呼叫設定的基礎知識。其中包括網關與呼叫代理互動時看到的命令消息。在此場景中,CUCM是我們的呼叫代理。

為了使MGCP端點註冊到CUCM,網關開啟TCP套接字2428到CUCM。在此處,它使用UDP埠2427傳送命令消息。一旦套接字開啟後,網關會向CUCM傳送RSIP命令,通知終端必須在重新啟動時停止服務。CUCM傳送有關此問題的簡單確認。重新啟動完成後,CUCM會傳送包含引數R:的RQNTL/hd.這表示網關必須通知CUCM摘機事件。
此時,CUCM將稽核終端(AUEP)傳送到網關以確定給定終端的狀態。來自網關的響應是帶有終端功能的ACK。完成此操作後,終端即向CUCM註冊。以下是偵錯輸出範例:
000138: *Apr 23 19:41:49.010: MGCP Packet sent to <CUCM IP>:2427---> RSIP 39380951 aaln/S0/SU0/0@VG320.dillbrowLab.local MGCP 0.1 RM: restart <--- 000139: *Apr 23 19:41:49.030: MGCP Packet received from <CUCM IP>:2427---> 200 39380951 <--- 000140: *Apr 23 19:41:49.030: MGCP Packet received from <CUCM IP>:2427---> RQNT 3 AALN/S0/SU0/0@VG320.dillbrowLab.local MGCP 0.1 X: 2 R: L/hd Q: process,loop <--- 000141: *Apr 23 19:41:49.030: MGCP Packet sent to <CUCM IP>:2427---> 200 3 OK <--- 000142: *Apr 23 19:41:49.050: MGCP Packet received from <CUCM IP>:2427---> AUEP 4 AALN/S0/SU0/0@VG320.dillbrowLab.local MGCP 0.1 F: X, A, I <--- 000143: *Apr 23 19:41:49.050: MGCP Packet sent to <CUCM IP>:2427---> 200 4 I: X: 2 L: p:10-20, a:PCMU;PCMA;G.nX64, b:64, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-220, a:G.729;G.729a;G.729b, b:8, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-110, a:G.726-16;G.728, b:16, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-70, a:G.726-24, b:24, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-50, a:G.726-32, b:32, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:30-270, a:G.723.1-H;G.723;G.723.1a-H, b:6, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:30-330, a:G.723.1-L;G.723.1a-L, b:5, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE M: sendonly, recvonly, sendrecv, inactive, loopback, conttest, data, netwloop, netwtest <---

上一個影象是出站呼叫的示例。
您可以看到您的呼叫代理(本例中為CUCM)從已恢復至網關的CRCX開始,以便為呼叫建立連線。網關以200 OK作出響應,其中包含所支援內容的SDP。完成此交換後,CUCM會向網關傳送帶有引數S:的RQNT消息G/rt。這指示網關向裝置播放回鈴音。在遠端收到呼叫並接聽後,CUCM隨後將帶SDP的MDCX傳送到網關,使其知道遠端裝置的媒體資訊。網關發回一個簡單的200 OK來確認這一點,此時,您已建立了雙向媒體。
現在呼叫已經得到應答,CUCM會傳送另一個帶有引數R的RQNT:D/[0-9 ABCD*#]。這指示網關讓CUCM知道呼叫處於活動狀態時按下的任何DTMF,以便將其中繼到下一裝置。
呼叫完成後,CUCM會使用M:將MDCX傳送到網關:recvonly可終止介質,然後是DLCX以斷開呼叫。以下是偵錯輸出範例:
001005: *May 13 14:28:15.633: MGCP Packet received from <CUCM IP>:2427---> CRCX 174 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 C: A000000001b79063000000F5 X: 21 L: p:20, a:PCMU, s:off, t:b8 M: recvonly R: L/hu Q: process,loop <--- 001006: *May 13 14:28:15.637: MGCP Packet sent to <CUCM IP>:2427---> 200 174 OK I: 6 v=0 c=IN IP4 <Gateway IP> m=audio 16410 RTP/AVP 0 101 100 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=rtpmap:100 X-NSE/8000 a=fmtp:100 192-194 <--- 001007: *May 13 14:28:15.789: MGCP Packet received from <CUCM IP>:2427---> RQNT 175 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 X: 22 R: L/hu S: G/rt Q: process,loop <--- 001008: *May 13 14:28:15.789: MGCP Packet sent to <CUCM IP>:2427---> 200 175 OK <--- 001009: *May 13 14:28:17.793: MGCP Packet received from <CUCM IP>:2427---> MDCX 176 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 C: A000000001b79063000000F5 I: 6 X: 23 L: p:20, a:PCMU, s:off, t:b8 M: sendrecv R: L/hu, L/hf, D/[0-9ABCD*#] S: Q: process,loop v=0 o=- 6 0 IN EPN AALN/S0/SU1/0@VG320.dillbrowLab.local s=Cisco SDP 0 t=0 0 m=audio 18946 RTP/AVP 0 101 c=IN IP4 <Phone IP> a=rtpmap:101 telephone-event a=fmtp:101 0-15 <--- 001010: *May 13 14:28:17.797: MGCP Packet sent to <CUCM IP>:2427---> 200 176 OK <--- 001011: *May 13 14:28:17.797: MGCP Packet received from <CUCM IP>:2427---> RQNT 177 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 X: 24 R: L/hu, D/[0-9ABCD*#], L/hf S: Q: process,loop <--- 001012: *May 13 14:28:17.797: MGCP Packet sent to <CUCM IP>:2427---> 200 177 OK <--- 001015: *May 13 14:28:20.813: MGCP Packet received from <CUCM IP>:2427---> DLCX 178 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 C: A000000001b79063000000F5 I: 6 X: 25 R: L/hd S: Q: process,loop <--- 001016: *May 13 14:28:20.845: MGCP Packet sent to <CUCM IP>:2427---> 250 178 OK P: PS=151, OS=24160, PR=146, OR=23360, PL=0, JI=0, LA=0 <---
當您對MGCP進行故障排除時,您可以檢視一些有幫助的show命令和調試,以確定註冊或呼叫失敗的原因。一個很好的起點是檢查您的MGCP網關是否已註冊到呼叫代理。可以通過運行show命令show ccm-manager或show mgcp進行檢查:
VG320# show ccm-manager MGCP Domain Name: VG320.dillbrowLab.local Priority Status Host ============================================================ Primary Registered <CUCM IP> First Backup None Second Backup None Current active Call Manager: <CUCM IP> Backhaul/Redundant link port: 2428 Failover Interval: 30 seconds Keepalive Interval: 15 seconds Last keepalive sent: 17:42:40 UTC Jul 12 2019 (elapsed time: 00:00:15) Last MGCP traffic time: 17:42:55 UTC Jul 12 2019 (elapsed time: 00:00:00) VG320# show mgcp MGCP Admin State ACTIVE, Oper State ACTIVE - Cause Code NONE MGCP call-agent: <CUCM IP> 2427 Initial protocol service is MGCP 0.1 MGCP validate call-agent source-ipaddr DISABLED MGCP validate domain name DISABLED MGCP block-newcalls DISABLED
這些命令已縮短,僅包含相關輸出。有關其他資訊,請參閱以下顯示輸出:
如果前面的show命令簽出,您可以在裝置上運行這些調試,以進一步確定呼叫失敗的原因:
之前的調試是排除註冊和呼叫設定問題的絕佳起點。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
5.0 |
02-Jul-2026
|
已更新拼寫、間距和1個替代文字。 |
4.0 |
29-Aug-2023
|
更新了PII、SEO、品牌要求和格式。 |
3.0 |
15-Jul-2022
|
重新認證 |
1.0 |
14-Aug-2019
|
初始版本 |