المقدمة
يصف هذا المستند كيفية تكوين بروتوكول التحكم في عبارة الوسائط (MGCP) واستكشاف أخطائه وإصلاحها. MGCP هو بروتوكول وكيل الاتصال/نقطة النهاية.
المتطلبات الأساسية
المتطلبات
لا توجد متطلبات خاصة لهذا المستند.
المكونات المستخدمة
- Cisco Unified Communications Manager 11.5
- VG320
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
ملاحظة: يستخدم هذا المستند أمثلة التكوين بالإضافة إلى تصحيح الأخطاء وإظهار مخرجات الأوامر كنقاط مرجعية. يتم تمييز الميزات الكثيرة في هذا المستند بشكل واضح باستخدام الإصدار الذي تم تقديم الميزة إليه لكل من Cisco IOS® و Cisco IOS® XE.
تعريفات شائعة
سمة |
التعريف |
وكيل الاتصال |
عناصر التحكم في المكالمات التي تلعب الدور الرئيسي وتوفر ذكاء مركزيا في الاتصال. |
نقاط النهاية |
نقاط النهاية هي الأجهزة التي تتحكم فيها عوامل الاتصال. مثل: FXO أو FXS أو قناة DS0. |
PSTN |
شبكة هاتف محولة عامة. |
أساسيات MGCP
يتم تحديد بروتوكول التحكم في عبارة الوسائط (MGCP) بواسطة RFC 2705. MGCP هو بروتوكول "وكيل الاتصال/نقطة النهاية"، حيث يتم التحكم في نقطة النهاية بواسطة "وكيل الاتصال" من نوع ما. يتم التحكم في ذكاء التحكم بالكامل بواسطة "عميل الاتصال" الذي يرشد نقطة النهاية بشأن الإجراء الذي يجب إتخاذه بمجرد اكتشاف حدث ما. يستخدم MGCP منفذ TCP 2428 ومنفذ UDP 2427.
يتم إستخدام منفذ TCP 2428 في MGCP لفتح مقبس جديد باستخدام "وكيل الاتصال" لتحديد ما إذا كان يمكن إنشاء الاتصال. بدون مأخذ التوصيل الجديد هذا، لا يمكن تبادل رسائل MGCP التالية. كما يتم إستخدامها لإرسال/إستقبال رسائل نقل البيانات بين نقاط نهاية PRI ووكيل الاتصال الذي تم تسجيله له. أخيرا، يتم إستخدام منفذ TCP 2428 لتجاوز الفشل لإجراء نسخ إحتياطي لعملاء المكالمات في حالة عدم إستجابة "وكيل الاتصال الأساسي".
يتم إستخدام منفذ UDP 2427 في MGCP لرسائل MGCP المتبادلة بين نقاط النهاية وعوامل الاستدعاء.
تدفق أساسي
هذا مثال على تدفق MGCP أساسي. يمكنك أن ترى في المثال أن البوابة تتلقى مكالمة جديدة من PSTN على عبارة الصوت هذه (نقطة النهاية). بعد ذلك تقوم البوابة بإعلام وكيل الاتصال (CUCM) بهذا الاتصال الجديد الذي يتم تلقيه، ومن ثم يقوم "عامل الاتصال" بتوجيه البوابة لإنشاء اتصال لهذه المكالمة الجديدة. وأخيرا، ترسل البوابة رسالة OK مرة أخرى إلى "وكيل الاتصال" لإنشاء المكالمة.
معرفات نقاط النهاية
يلزم وجود معرف لكل نقطة نهاية لعامل الاتصال حتى يتمكن من تحديد من يحتاج إلى إرسال حدث أو من أين يأتي الحدث. تحتوي معرفات نقاط النهاية على مكونين رئيسيين:
- الاسم المحلي ضمن هذه البوابة (غير حساس لحالة الأحرف).
- اسم المجال لتلك البوابة التي تدير نقطة النهاية (حساسة لحالة الأحرف).
الأمثلة:
- AALN/S1/SU0/0@AV-VG200-2.cisco.com
- S0/SU0/DS1-0@AV-VG200-1
تشكيل أساسي من MGCP
قام هذا المستند بتقسيم كل مكون من مكونات التكوين إلى خطوات فردية.
تكوين CLI للعبارة
على البوابة التناظرية التي تخطط لتسجيلها إلى 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
تكوين CUCM
in order to شكلت ال MGCP مدخل في CUCM، أنت تحتاج أن يدون إلى cisco unified CM إدارة. بمجرد تسجيل الدخول، انتقل إلى جهاز > بوابة:
يبدأ التحديد السابق في صفحة البحث عن عبارة القائمة. في هذه الحالة، تريد تحديد الزر إضافة جديد بعلامة زائد:
بعد تحديد إضافة جديد، تتم مطالبتك باختيار نوع البوابة. أستخدم هذه القائمة المنسدلة لاختيار الأجهزة التي تخطط لتسجيلها، وحدد التالي لاختيار البروتوكول الذي تريده لهذا الجهاز (يجب تحديد MGCP):
الآن بعد تحديد الأجهزة والبروتوكول المستخدمين، يلزمك تكوين اسم المجال ومجموعة Cisco Unified Communications Manager ومعلومات الوحدة النمطية. هذه هي الحقول الرئيسية المطلوبة لتسجيل نقطة نهاية عبر MGCP.
يتكون اسم المجال من جزء واحد إلى جزئين. في حقل اسم المجال على الأقل، يلزمك إدخال اسم المضيف للموجه. في السيناريو الخاص بي، يكون اسم المضيف:
VG320
ومع ذلك، إذا كان لديك اسم مجال تم تكوينه على البوابة، فأنت بحاجة إلى تكوين اسم المجال المؤهل بالكامل لهذا الجهاز:
الآن، أختر حفظ. يؤدي هذا إلى تحديث الصفحة ويسمح لك بتحديد وحدة فرعية. بمجرد تحديد وحدة فرعية، أختر حفظ مرة أخرى. يمكنك الآن رؤية المنافذ القابلة للتكوين:
طقطقت in order to شكلت نقطة نهاية الآن، الميناء حيث أنت تتلقى جهازك التناظري يربط داخل (في حالتنا، هو 0/0/0). ما إن ينتقي أنت ميناء، أنت حضضت أن يشكل الميناء نوع:
في هذه الحالة، أنت تحدد POTS. بمجرد تحديد هذا الخيار، يمكنك إدخال كافة القيم الضرورية لمعلومات الجهاز كما تفعل لأي نقطة نهاية أخرى لإدارة المكالمات. الحقل الوحيد المطلوب هو تجمع الأجهزة، ومع ذلك، يمكنك إدخال قيم إضافية مثل مساحة بحث الاستدعاء. بمجرد القيام بذلك، يمكنك النقر فوق حفظ. عند هذه النقطة، ترى الآن أن الجزء الأيسر قام بتعبئة حقل إضافة DN جديد لك. أنت يستطيع الآن صحبت DN مع هذا ميناء، احفظ، وطبق التشكيل. ما إن يتم هذا، back at الميناء تشكيل صفحة أنت يستطيع الآن رأيت الميناء كيسجل:
تسجيل نقطة النهاية وإعداد المكالمات
في هذا القسم، تغطي أساسيات تسجيل نقطة نهاية MGCP وإعداد المكالمات. وهذا يتضمن رسائل الأوامر التي يتم رؤيتها كبوابة تتفاعل مع وكيل الاتصال. في هذا السيناريو، فإن CUCM هو وكيل الاتصال الخاص بنا.
تسجيل نقطة نهاية MGCP
للتسجيل في نقطة نهاية MGCP إلى CUCM، تفتح البوابة مقبس TCP 2428 إلى CUCM. من هنا، يستعمل هو udp ميناء 2427 أن يرسل أمر رسالة. بمجرد فتح المقبس، ترسل البوابة أمر RSIP إلى CUCM لإعلامه بأنه يجب إخراج نقطة النهاية من الخدمة أثناء حدوث إعادة التشغيل، ويرسل CUCM إقرارا بسيطا حول هذا الأمر. بعد اكتمال إعادة التشغيل، يرسل CUCM RQNT باستخدام المعلمة R: L/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
<---
إعداد مكالمة MGCP
الصورة السابقة هي مثال على مكالمة صادرة.
يمكنك أن ترى أن وكيل الاتصال، في هذه الحالة CUCM، يبدأ ب CRCX الذي تم إعادة توجيهه إلى البوابة لإنشاء اتصال للمكالمة. تستجيب البوابة مرة أخرى ب 200 OK يحتوي على بروتوكول SDP لما تدعمه. ما إن يتم هذا تبادل، ال CUCM يرسل رسالة RQNT إلى البوابة مع المعلمة s: g/rt. هذا يقول للبوابة أن تقوم بتشغيل حلقة العودة إلى الجهاز. بعد أن يستقبل الطرف البعيد المكالمة، وينتقل، يرسل CUCM بعد ذلك بطاقة MDCX مع SDP إلى البوابة لإعلامه بمعلومات الوسائط الخاصة بالجهاز الطرفي البعيد. ترسل البوابة 200 بسيطة موافق على الاعتراف بذلك، وعند هذه النقطة لديك وسائط ثنائية الإتجاه.
الآن بعد الرد على المكالمة، يرسل CUCM RQNT آخر مع المعلمة R: D/[0-9ABCD*#]. هذا يخبر البوابة أن يعرف CUCM عن أي DTMF يتم ضغطه بينما المكالمة نشطة، بحيث يمكن إرسالها إلى الجهاز التالي.
بمجرد انتهاء المكالمة، يرسل CUCM MDCX إلى البوابة التي تتضمن M: revonly لإنهاء الوسائط، يتبعه 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 وإصلاحها
عندما تقوم باستكشاف أخطاء MGCP وإصلاحها، هناك بعض أوامر العرض والتصحيح المساعدة التي يمكنك عرضها لتحديد سبب فشل التسجيل أو المكالمة. مكان رائع للبدء، هو التحقق من تسجيل بوابة MGCP الخاصة بك إلى "وكيل الاتصال". أنت يستطيع فحصت هذا عن طريق العرض أمر show ccm-manager أو أبديت 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 mgcp
إظهار نقطة نهاية mgcp
عرض اتصال mgcp
show ccm-manager
show voice port summary
show isdn وضع
إظهار وحدة التحكم [t1/e1] x/x/x
إظهار ملخص الصوت النشط
إظهار ملخص المكالمة الصوتية
إظهار حالة المكالمة الصوتية
إذا تم سحب أوامر العرض السابقة، فيمكنك تشغيل عمليات تصحيح الأخطاء هذه على الجهاز لتحديد سبب فشل مكالمتك بشكل إضافي:
debug mgcp [نقطة نهاية | الخطأ | الأحداث | الحزم]
debug mgcp all (للتصحيح المتقدم)
debug ccm-manager [backhaul | config-download | الخطأ | الأحداث]
debug voIP ccapi inout
إشارة debug vpm
debug voip vtsp جلسة
debug isdn q931
يعد تصحيح الأخطاء السابق مكانا رائعا لبدء تشغيل ما تحتاج إليه لاستكشاف أخطاء التسجيل والاستدعاء الخاصة بالإعداد وإصلاحها.
معلومات ذات صلة
المعيار RFC 2705:
متعقب البيانات - طلب الإعلام