المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

التكوين

الرسم التخطيطي للشبكة

التكوينات

التحقق من الصحة

استكشاف الأخطاء وإصلاحها

المقدمة

يصف هذا المستند خطوات تكوين تكامل Cisco Meeting Server (CMS) واستكشاف أخطائه وإصلاحها باستخدام الجيل التالي Streamer وأداة التحميل. تم إدخال الجيل التالي Streamer من CMS الإصدار 3.0 وهو يستند إلى بروتوكول بدء جلسة العمل (SIP).

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- CMS CallBridge(s) الإصدار 3.0 أو إصدار أحدث مع ترخيص (تراخيص) التسجيل/الدفق. (يسمح ترخيص تسجيل واحد بإجراء مكالمة دفق واحدة)

- محرك الوسائط الموزع Vbrick (DME) (يستخدم لنشر دفق Live من خدمة تدفق CMS)

- Vbrick Rev (إختياري: مطلوب فقط إذا كان الدفق المباشر يحتاج إلى أن يكون مشتركا خارج الشبكة الداخلية أو البث المتعدد

- يلزم وجود دليل نظام ملفات الشبكة (NFS)، ويمكن إعداده على Windows Server أو Linux.

- بالنسبة لخادم Windows، اتبع الخطوات لنشر نظام ملفات الشبكة (NFS) على Windows

- بالنسبة لنظام التشغيل Linux، اتبع خطوات نشر نظام ملفات الشبكة Linux

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- CMS 3.2 وما بعده مع ترخيص (تراخيص) 'Recorder' و/أو 'Streamer'. (سيسمح لك ترخيص المسجل أيضا بالتدفق)

- محرك الوسائط الموزع VBrick (DME) 3.15.0 RHEL7

- vbrick rev (يتم إستخدام أداة التحميل مع خادم vBrick rev. لا يلزم إستيراد السجلات يدويا)

- Windows Server 2012 R2 مع NFS

معلومات أساسية

قام CMS الإصدار 2.1 والإصدارات الأحدث بتقديم الدعم للبث المباشر باستخدام CMS Streamer باستخدام بروتوكول المراسلة في الوقت الفعلي القياسي (RTMP). في CMS 3.0، تم إدخال الجيل التالي من Streamer وهو مكون يستند إلى SIP. الإصدار السابق من 3. 0 المستخدم لبروتوكول المراسلة الممتدة والحضور (XMPP) . يدعم CMS الإصدار 3.1 والإصدارات الأحدث بروتوكول RTMPS وبالتالي يمكن تشفير الاتصال بين مكون CMS Streamer والخادم الخارجي. وهذا يسمح ل CMS Streamer بالتكامل مع أي منصة دفق تدعم RTMP (YouTube، Facebook، Wowza، وما إلى ذلك). حاليا CMS Streamer تم إختباره مع Vbrick DME كخادم تدفق خارجي وهو النظام الأساسي الموصى به للتكامل.

يسمح التكامل بين البث المباشر (WebCast) مع VBrick DME للمستخدمين بمشاهدة أي مؤتمر CMS بث مباشر في أي مكان داخل الشبكة من أجهزة مختلفة. بالإضافة إلى ذلك، عند إستخدام VBrick Rev على طول VBrick DME، فإن هذا يعمل على توسيع هذه الإمكانية للعرض من خارج الشبكة الداخلية لكل مستخدم مفوض من VBrick Rev.كذلك، يعمل مكون أداة تحميل CMS على تبسيط تدفق العمل لتحميل تسجيلات Meeting Server إلى مدير محتوى الفيديو، Vbrick، من NFS تم تكوينه والمتصل بخادم الاجتماعات. لا يلزم إستيراد التسجيلات يدويا. بمجرد تكوين مكون أداة التحميل وتمكينه، يتم دفع التسجيلات من NFS إلى Vbrick.

شعاع

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المستخدمة هنا بتكوينات ممسوحة (افتراضية). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

أداة التحميل

يمكن تثبيت مكون أداة التحميل على الخادم نفسه الخاص بمكون مسجل، أو على خادم منفصل. إذا تم تثبيته على نفس الخادم الخاص ب Recorder، فقم بإضافة وحدتي vCPUs له لاستخدامه. في حالة التشغيل على خادم مختلف، أستخدم نفس مواصفات الخادم الخاصة بالمسجل: جهاز افتراضي مخصص يحتوي على 4 مراكز فعلية كحد أدنى وذاكرة وصول عشوائي سعة 4 جيجابايت.

يتطلب خادم الاجتماعات الذي يقوم بتشغيل أداة التحميل أذونات القراءة والكتابة لمشاركة ملفات الشبكة (NFS). يجب تشغيل أداة التحميل على خادم إجتماعات مختلف وليس على جسر الاستدعاء الذي يستضيف المؤتمرات.

التكوين

الرسم التخطيطي للشبكة

هناك العديد من السيناريوهات المدعومة لنشر Streamer وأداة التحميل باستخدام نظام CMS مثل: تطبيق CallBridge واحد مع العديد من خوادم الدفق ومجموعة CallBridge مع خادم دفق واحد ومجموعة CallBridge مع العديد من خوادم الدفق. يستند هذا المستند إلى عملية نشر أساسية مع مجموعة من CallBridge متصلة بخادم واحد متدرج أداة تحميل نظرا لأن جميع خطوات التكوين مع هذا السيناريو تنطبق على سيناريوهات أخرى أيضا.

كما هو موضح في الصورة أعلاه

مجموعة CMS CallBridge

CMS Streamer/Recorder

أداة تحميل CMS

VBrick DME للتدفق

VBrick Rev للتدفق

التكوينات

شعاع

يفترض أن CallBridge تم إعداده بالفعل وقبول المكالمات.

الخطوة 1. الشهادات

لا تتطلب مكونات Streamer الجديدة الاستماع إلى إتصالات HTTPS، ومع ذلك، فهي تستمع إلى إتصالات SIP ، يجب أن يحتوي خادم Streamer على شهادة صالحة لاتصال TLS.

streamer> pki csr tac CN:.*.tptac9.com subjectAltName:streamer.tptac9.com

..............

......

Created key file tac.key and CSR tac.csr

CSR file tac.csr ready for download via SFTP

الحصول على الشهادة الموقعة من المرجع المصدق المحلي (CA). قم بتحميل شهادة الإنشاء باستخدام بروتوكول نقل الملفات الآمن (SFTP) إلى خادم Streamer. تم الفحص لتأكيد الشهادات التي تم تحميلها بنجاح.

في هذا المستند، يتم إستخدام شهادات أحرف البدل للشريط. الرجاء إستخدام دليل الشهادة كمرجع.

https://www.cisco.com/c/dam/en/us/td/docs/conferencing/ciscoMeetingServer/Deployment_Guide/Version-3-1/Certificate-Guidelines-for-all-Deployments-3-1.pdf

streamer> pki list

User supplied certificates and keys:

tac.key

tac.cer

ROOTCA.cer

example.key

example.csr

tac.csr

الخطوة 2. تكوين MMP/SSH

- قم بتكوين واجهة الاستماع الخاصة بالمشعب ومنافذ TCP و TLS لبروتوكول SIP للاستماع باستخدام الأمر MMP

برنامج SIP المتسلسل <interface> <tcp-port|none> <tls-port|none>

جهاز توجيه Streamer> جهاز إرسال واستمع إلى الخادم طراز 7000 7001

لاستخدام اتصال TLS فقط. تكوين اتصال TCP SIP ك "none" الأمر أدناه

جهاز توجيه Streamer> جهاز إرسال واستمع إلى جهاز إرسال None 7001

- تطبيق الشهادات لخادم Streamer

جهاز تقسيم الجهاز التسلسلي Streamer> TAC.key tac.cer

- تحديد جودة التدفق

Streamer> Streamer دقة الخادم 720 بكسل

- تمكين التراكب

تمكين Streamer> Streamer

- إختياريا، إذا تم تكوين TLS، يمكنك تنفيذ التحقق من TLS ل SIP على streamer

جهاز ROOTCA.cer لشجرة محرك أقراص TLS الموثوقة

ملاحظة: لكي يكون اتصال TLS آمنا، نوصي بتمكين التحقق من TLS.

streamer> TLS تحقق من التمكين

- بالفعل معلومات التكوين التي تم إدخالها أعلاه صحيحة

streamer> streamer

Enabled                 : false

SIP interfaces          : tcp a:7000, tls a:7001

SIP key file            : tac.key

SIP certificate file    : tac.cer

SIP CA Bundle file      : none

SIP Resolution          : 720p

SIP traffic trace       : Disabled

Call Limit              : none

- قم بتمكين Streamer باستخدام الأمر streamer enable". يجب أن تظهر جميع الرسائل "نجاح" كما هو موضح أدناه

streamer> streamer enable

SUCCESS: Key and certificate pair match

SUCCESS: Streamer enabled

الخطوة 3. تكوين API

يتم تنفيذ هذا التكوين في CMS المضيفة CallBridge. أدناه، واجهة API على واجهة WebAdmin ل CMS. يمكن أيضا إستخدام أي عميل REST مثل Postman، والملصق لتنفيذ هذا الإجراء.

بمجرد تمكين SIP Streamer الجديد، يمكن تكوينه واستخدامه في Call Bridge ضمن /callProfile ل sipStreamerUri.

لاستخدام API على خادم CMS. انتقل إلى WebAdmin > التكوين > API

- إنشاء ملف تعريف المكالمة

- تكوين sipStreamURI=demo@streamer.com & StreamingMode= تلقائي/يدوي

The user part of the configured "sipStreamuri" (i.e. the part before '@' symbol) has no significant meaning, and for the new SIP streamer component, although required, it can usually be anything, e.g. "streamer@streamer.com".The important part of the URI is the "domain" part.

تكوين sipStreamURI=demo@streamer.com & StreamingMode= تلقائي/يدوي

- إضافة Streamer callProfile الذي تم إنشاؤه أعلاه إلى /system/ملفات التعريف. هذا تكوين عمومي وسيتم إستخدام "sipStreamerUri" الذي تم تكوينه لعملية Streamer.

إضافة CallProfile إلى النظام/ملفات التعريف

- إضافة VBrick 'streamURL' إلى المساحة (المساحات) المستخدمة للتدفق. بالنسبة للمرجع، تم إنشاء مساحة تسمى 'Stream' باستخدام واجهة ويب CMS

المساحة المستخدمة للتدفق

- قم بتعديل المساحة لإضافة "StreamURL". تنسيق 'streamURL' التالي: rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP أو FQDN>/Live/NameoftheStream. على سبيل المثال، قمت بتكوينه على النحو التالي: rtmp://broadcast:broadcast@10.106.81.40/live/SpaceStream77"

الخطوة 4. إنشاء "قواعد صادرة"

التكوين، URI مخصص يقوم بالتعيين إلى قاعدة OutboundDialPlan (يمكن أن يكون المجال أي شيء على سبيل المثال "streamer.com"). الرجاء تكوين قاعدة OutboundDialPlan لمطابقة المجال المستخدم في StreamerUri للتوجيه.

إنشاء قواعد صادرة

كما هو موضح في الصورة الواردة أعلاه، بالنسبة ل SIP Streamer، إذا لم يتم إستخدام المنافذ الافتراضية ل SIP (50605061)، فمن الضروري تحديد المنافذ في تكوين Streamer وتضمين رقم المنفذ التالي للاتصال بالحقل وكيل SIP للاستخدام عند تكوين OutboundDialPlanRule للخدمة.

streamer> streamer

Enabled                 : true

SIP interfaces          : tcp a:7000, tls a:7001

SIP key file            : tac.key

SIP certificate file    : tac.cer

SIP CA Bundle file      : none

SIP Resolution          : 720p

SIP traffic trace       : Disabled

Call Limit              : none

أداة التحميل

- تحديد NFS والدليل حيث سيتم تخزين التسجيلات التي سيقوم أداة التحميل بمراقبتها

streamer> أداة تحميل NFS 192.168.15.38:التسجيل

- حدد خادم الاجتماعات الذي سيستعلم أداة التحميل عن معلومات التسجيل الخاصة به

streamer> أداة تحميل CMS انضم إلى المضيف.mextp.local

- تحديد منفذ مسؤول ويب على خادم الاجتماعات الذي يقوم بتشغيل "جسر الاتصال"

Streamer> أداة تحميل المنفذ CMS 445

- تحديد المستخدم الذي لديه وصول API على خادم الاجتماعات الذي يقوم بتشغيل Call Bridge

Streamer> أداة تحميل CMS user apiadmin

كلمة مرور جهاز تحميل CMS

الرجاء إدخال كلمة المرور:

- إضافة حزمة الشهادة من CMS إلى مخزن ثقة خادم الاجتماعات

قم بإنشاء حزمة شهادة (CRT-Bundle) تحتوي على نسخة من شهادة CA الجذر وجميع الشهادات الوسيطة في السلسلة لمسؤول الويب على خادم الاجتماعات الذي يقوم بتشغيل Call Bridge.

streamer> أداة تحميل CMS الموثوق بها ROOTCA.cer

- تكوين مضيف Vbrick والمنفذ الذي سيتم توصيل أداة التحميل به

جهاز تحميل جهاز مضيف عام ciscotac.rev-na.demo.vbrick.com

streamer> أداة تحميل المنفذ المرجعي 443

ملاحظة: إعدادات المنفذ الافتراضية إلى 443 ما لم يحدد خلاف ذلك

- إضافة مستخدم Vbrick Rev لديه إذن API لتحميل تسجيلات الفيديو

مستخدم tacuser لمستخدم أداة تحميل الإصدار rev من Streamer

كلمة مرور جهاز تحميل نسخة إحتياطية من streamer

الرجاء إدخال كلمة المرور:

- إضافة حزمة الشهادة إلى مخزن ثقة Vbrick Rev

قم بإنشاء حزمة شهادة (CRT-Bundle) تحتوي على نسخة من شهادة CA الجذر وجميع الشهادات الوسيطة في السلسلة لخدمة Vbrick Rev

جهاز تحميل Rev Upload Trust vbrickbundle.cer

- التحقق من تكوين أداة التحميل وتمكين أداة التحميل

streamer> uploader

Enabled                          : false

NFS hostname                     : 192.168.15.38

NFS directory                    : Recording

CMS host                         : join.mextp.local

CMS port                         : 445

CMS user                         : apiadmin

CMS trust bundle                 : ROOTCA.cer

Vbrick Rev hostname              : ciscotac.rev-na.demo.vbrick.com

Vbrick Rev port                  : 443

Vbrick Rev username              : tacuser

Vbrick Rev trust bundle          : brick.cer

View access                      : Public

cospace_member_access            : edit

recording_owned_by_cospace_owner : false

fallback_owner                   : admin

comments_enabled                 : true

ratings_enabled                  : true

downloads_enabled                : true

active_upon_upload               : true

delete_after_upload              : false

إذا كان التكوين صحيحا، فاستخدم الأمر أداة تحميل enable" لتمكين مكون أداة التحميل. يجب أن تظهر جميع الرسائل "نجاح" كما هو موضح أدناه.

streamer> uploader enable

SUCCESS: uploader enabled

التحقق من الصحة

شعاع

العمل المتدفق واتصال دفق SIP متصل

أداة التحميل

يمكنك رؤية سجل لحدث ناجح في syslog متابعة أداة التحميل.

Jun 17 22:24:41.867 user.info cms-02 Uploader[1]: scanning directory: /mnt/recordings/forwardedCalls

Jun 17 22:24:41.867 user.info cms-02 Uploader[1]: scanning directory: /mnt/recordings/spaces

Jun 17 22:24:41.869 user.info cms-02 Uploader[1]: checking the status of /mnt/recordings/spaces/8a7076e2-6db6-47e9-98ee-3bd063e32559/20210618032309+0000_vid-id=c4605aaf-dc49-4cd7-9174-c46185ba1983@vbrick.mp4

Jun 17 22:24:41.870 user.info cms-02 Uploader[1]: Getting from: https://ciscotac.rev-na.demo.vbrick.com:443/api/v1/videos/c4605aaf-dc49-4cd7-9174-c46185ba1983/status

Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: Received vbrick response status code: 200

Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: vbrick response: main.vbrickStatusResp{Status:"Ready"}

Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: file 20210618032309+0000_vid-id=c4605aaf-dc49-4cd7-9174-c46185ba1983@vbrick.mp4 vid c4605aaf-dc49-4cd7-9174-c46185ba1983 status Ready

Jun 17 22:24:42.035 user.info cms-02 Uploader[1]: Getting from: https://ciscotac.rev-na.demo.vbrick.com:443/api/v1/videos/c4605aaf-dc49-4cd7-9174-c46185ba1983/playback-url

Jun 17 22:24:42.200 user.info cms-02 Uploader[1]: Received vbrick response 200

استكشاف الأخطاء وإصلاحها

شعاع

1 - لا يوجد ترخيص

يتطلب Streamer ترخيص "reorder" على الخادم مع مكون callbridge. وإذا لم يكن هذا الترخيص موجودا، أو إذا كان الترخيص غير كاف، فسيتم ملاحظة وجود أخطاء كما هو موضح أدناه في سجلات الأحداث.

تأكد من إضافة الترخيص المطلوب. يمكن التحقق من حالة الترخيص باستخدام الأمر "ترخيص"

cms1> license

Feature: callbridge status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: turn status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: webbridge status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: customizations status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: local_license_mode status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: recording status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: personal status: Activated expiry: 2023-Apr-28 (690 days remain)

Feature: shared status: Activated expiry: 2023-Apr-28 (690 days remain)

منفذ 2.TLS

· إذا تم تكوين منفذ TLS ولم يتم تطبيق أية شهادات. تكوين الشهادات للشريط لاستخدام TLS

· إذا كانت الشهادة غير متوفرة. تكوين منفذ TCP فقط

streamer> streamer sip listen a 7000 7001

streamer> streamer enable

FAILURE: TLS port set but no certificates configured

FAILURE: Streamer configuration not complete

الآن لديك خياران، إما لإزالة منفذ TLS أو لإضافة ثقة SIP TLS وشهادة Streamer

cisco يوصي أن يتلقى TLS ميناء يمكن.

3. لم يتم تكوين خادم RTMP بشكل صحيح

سترى خطأ في السجلات

daemon.info streamer streamer-sip[2280]:  144500.368 : INFO    : call 3: retrieved stream URL from RTCP: "rtmp://broadcast:broadcast@10.106.81.40/test"

daemon.info streamer streamer-sip[2280]:  144500.368 : INFO    : call 3: parsing rtmp://broadcast:broadcast@10.106.81.40/test

daemon.info streamer streamer-sip[2280]:  144500.368 : INFO    : call 3: RTMP stream="test"

daemon.info streamer streamer-sip[2280]:  144500.368 : INFO    : call 3: RTMP server="rtmp://10.106.81.40:1935/test"

daemon.info streamer streamer-sip[2280]:  144500.370 : INFO    : call 3: Connected to RTMP server

daemon.info streamer streamer-sip[2280]:  144500.370 : INFO    : call 3: C2 pending - len 1536

daemon.info streamer streamer-sip[2280]:  144500.370 :         : call 3: snd: create new chunk stream 2

daemon.info streamer streamer-sip[2280]:  144500.370 :         : call 3: snd: create new chunk stream 3

daemon.info streamer streamer-sip[2280]:  144500.370 : INFO    : call 3: RTMP sent chunk size of 4096 and connect message

daemon.info streamer streamer-sip[2280]:  144500.410 : ERROR   : call 3: connection : far end closed connection 5

يرجى التحقق من الإجراء في تكوين Streamer وتكوين عنوان RTMP URL بشكل صحيح في التنسيق rtmp://<VBrickBroadcastUsername>:<VBrickBroadcastPassword>@<VBrick IP أو FQDN>/Live/NameoftheStream

4.المشاكل ذات الصلة بتوجيه المكالمات

نظرا لأن CMS Streamer هو عميل قائم على بروتوكول SIP وكما تمت مناقشته مسبقا، فإنه يتطلب وجود التوجيه. قد يتسبب ذلك في حدوث سيناريوهات قد تفشل فيها المكالمات. تأمل في هذا المثال، حيث قامت CMS CallBridge بإرسال مكالمة صادرة، ولكنها فشلت مع مهلة المعاملات التالية - لا توجد استجابات مؤقتة تقوم بإرسال خطأ الدعوة

2021-06-28  17:37:02.412  Info     user 'guest300535034' starting streaming (space 'test')

2021-06-28  17:37:02.413  Info     API call leg bc0917df-589c-4628-887d-79481d322fed in call 63f0b174-831e-4a12-b4ee-27186d4162af (API call 00286960-9af9-4d5d-9ca7-20dd40425292)

2021-06-28  17:37:02.413  Info     call 44: outgoing SIP call to "demo@streamer.com" from space "test"

2021-06-28  17:37:02.413  Info     call 44: configured - API call leg bc0917df-589c-4628-887d-79481d322fed with SIP call ID "7d37a80e-7996-4e8d-aa87-77c9d4729cec"

2021-06-28  17:37:04.482  Info     call 42: receiver report 1 interval for rx video 0 = 6113ms (period 6108ms) 00000000

2021-06-28  17:37:22.074  Info     call 44: falling back to unencrypted control connection...

2021-06-28  17:37:54.075  Info     call 44: ending; local SIP teardown with reason 7 (transaction timeout - no provisional responses sending INVITE) - not connected after 0:52

2021-06-28  17:37:54.075  Info     call 44: destroying API call leg bc0917df-589c-4628-887d-79481d322fed

2021-06-28  17:37:54.076  Info     streaming call leg for space 'test' disconnected with reason 7 (transaction timeout - no provisional responses sending INVITE)

راجع إعدادات المكالمات الصادرة على خوادم CMS CallBridge للتحقق من الموقع الذي يتم إرساله إليه وإذا تم تعيينه بشكل صحيح. تحقق أيضا مما إذا تم تكوين ملف تعريف الاتصال ب URI Streamer صحيح وما إذا كان نفس الأمر مقترنا ب Cospace.

أداة التحميل

1. نسخ Vbrick غير صحيحة.

يمكنك ملاحظة وجود خطأ في سجل أداة التحميل

Jun 27 11:29:27.864 user.info streamer Uploader[1]: Received vbrick response 500

Jun 27 11:29:27.864 user.info streamer Uploader[1]: posting to: https://sales.vbrick.com:443/api/v1/user/login

Jun 27 11:29:47.870 user.info streamer Uploader[1]: Received vbrick response 500

Jun 27 11:29:47.870 user.err streamer Uploader[1]: Failed to initialise Vbrick Client

Jun 27 11:29:47.870 user.err streamer Uploader[1]: vbrick returned status code: 500

تأكد من تكوين بيانات الاعتماد الصحيحة والمنفذ لخادم vbrick.  تأكد أيضا من أنه يجب أن تكون أداة التحميل قادرة على الوصول إلى منفذ مسؤول الويب الخاص ب CMS CallBridge.