سجلات المكالمات الصوتية ومخاطبة الفيديو في Azure Communication Services

توفر Azure Communication Services إمكانات التسجيل التي يمكنك استخدامها لمراقبة حل Communication Services وتصحيحه. قم بتكوين هذه الإمكانات من خلال مدخل Microsoft Azure.

يشير المحتوى في هذه المقالة إلى السجلات الممكنة من خلال Azure Monitor (راجع أيضا الأسئلة المتداولة). لتمكين هذه السجلات لخدمات الاتصالات، راجع تمكين تسجيل الدخول إلى إعدادات التشخيص.

مفاهيم البيانات

الأوصاف عالية المستوى التالية لمفاهيم البيانات خاصة بالمكالمات الصوتية والمكالمات الصوتية. هذه المفاهيم مهمة للمراجعة بحيث يمكنك فهم معنى البيانات التي تم التقاطها في السجلات.

الكيانات والمعرفات

تعرف على المصطلحات التالية:

  • استدعاء: كما هو موضح في البيانات، الاستدعاء هو تجريد يصوره correlationId. correlationId تعد قيم فريدة لكل مكالمة، وهي محددة زمنيا استنادا callStartTime إلى وcallDuration.

  • المشارك: يمثل الاتصال بين نقطة نهاية والخادم. يكون المشارك (participantId) موجودا فقط عندما تكون المكالمة عبارة عن مكالمة جماعية.

  • نقطة النهاية: الكيان الأكثر تميزا، ممثلا ب endpointId. كل استدعاء هو حدث يحتوي على بيانات من نقطتي نهاية أو أكثر. تمثل نقاط النهاية المشاركين في المكالمة.

    EndpointType يخبرك ما إذا كانت نقطة النهاية مستخدما بشريا (PSTN أو VoIP) أو روبوتا أو الخادم الذي يدير عدة مشاركين في مكالمة. endpointType عندما تكون القيمة ، "Server"لا يتم تعيين معرف فريد لنقطة النهاية. يمكنك تحليل endpointType وعدد endpointId القيم لتحديد عدد المستخدمين والمشاركين الآخرين غير البشر (الروبوتات والخوادم) الذين ينضمون إلى مكالمة.

    تعيد SDKs الأصلية لنظامي التشغيل Android وiOS استخدام نفس endpointId القيمة للمستخدم عبر مكالمات متعددة، حتى تتمكن من فهم التجارب عبر الجلسات. تختلف هذه العملية عن نقاط النهاية المستندة إلى الويب، والتي تنشئ دائما قيمة جديدة endpointId لكل استدعاء جديد.

  • Stream: الكيان الأكثر دقة. هناك دفق واحد لكل اتجاه (وارد أو صادر) وقيمة mediaType (على سبيل المثال، Audio أو Video).

تعريفات البيانات

مخطط سجل الاستخدام

الخاصية ‏‏الوصف
Timestamp الطابع الزمني (UTC) عند إنشاء السجل.
Operation Name العملية المقترنة بسجل السجل.
Operation Version api-version القيمة المقترنة بالعملية، إذا Operation Name تم تنفيذ العملية من خلال واجهة برمجة تطبيقات. إذا لم تتوافق أي واجهة برمجة تطبيقات مع هذه العملية، فإن الإصدار يمثل إصدار العملية، في حالة تغيير الخصائص المقترنة بالعملية في المستقبل.
Category فئة السجل للحدث. الفئة هي الدقة التي يمكنك من خلالها تمكين السجلات على مورد أو تعطيلها. الخصائص التي تظهر داخل كائن properties ثنائي كبير الحجم لحدث ما هي نفسها ضمن فئة السجل ونوع المورد.
Correlation ID معرف الأحداث المترابطة. يمكنك استخدامه لتحديد الأحداث المرتبطة بين جداول متعددة.
Properties البيانات الأخرى التي تنطبق على أوضاع مختلفة من Communication Services.
Record ID المعرف الفريد لسجل الاستخدام.
Usage Type وضع الاستخدام (على سبيل المثال، الدردشة أو PSTN أو NAT).
Unit Type نوع الوحدة التي يستند إليها الاستخدام لوضع الاستخدام (على سبيل المثال، الدقائق أو الميغابايت أو الرسائل).
Quantity عدد الوحدات المُستخدمة أو المستهلكة لهذا السجل.

مخطط سجل ملخص المكالمات

يحتوي سجل ملخص المكالمات على بيانات لمساعدتك في تحديد الخصائص الرئيسية لجميع المكالمات. يتم إنشاء سجل ملخص مكالمة مختلف لكل participantId قيمة (أو endpointId لاستدعاءات نظير إلى نظير [P2P] ) في المكالمة.

هام

تختلف معلومات المشاركين في سجل ملخص المكالمة استنادا إلى مستأجر المشارك. يتم تنقيح إصدار SDK وإصدار نظام التشغيل إذا لم يكن المشارك ضمن نفس المستأجر (يسمى أيضا عبر المستأجر) كمورد Communication Services. يتم تصنيف المشاركين عبر المستأجرين كمستخدمين خارجيين مدعوين من قبل مستأجر مورد للانضمام والتعاون أثناء المكالمة.

الخاصية ‏‏الوصف
time الطابع الزمني (UTC) عند إنشاء السجل.
operationName العملية المقترنة بسجل السجل.
operationVersion api-version القيمة المقترنة بالعملية، إذا operationName تم تنفيذ العملية من خلال واجهة برمجة تطبيقات. إذا لم تتوافق أي واجهة برمجة تطبيقات مع هذه العملية، فإن الإصدار يمثل إصدار العملية، في حالة تغيير الخصائص المقترنة بالعملية في المستقبل.
category فئة السجل للحدث. هذه الخاصية هي الدقة التي يمكنك من خلالها تمكين السجلات أو تعطيلها على مورد. الخصائص التي تظهر داخل كائن properties ثنائي كبير الحجم لحدث ما هي نفسها ضمن فئة السجل ونوع المورد.
correlationId المعرف الفريد لمكالمة. وهو يحدد الأحداث المرتبطة من جميع المشاركين ونقاط النهاية التي تتصل أثناء مكالمة واحدة، ويمكنك استخدامها لضم البيانات من سجلات مختلفة. إذا كنت بحاجة إلى فتح حالة دعم مع Microsoft، يمكنك استخدام correlationId القيمة لتحديد المكالمة التي تقوم باستكشاف الأخطاء وإصلاحها بسهولة.
identifier معرِّف فريد للمستخدم. يمكن أن تكون الهوية مستخدم Azure Communication Services أو معرف مستخدم Microsoft Entra أو معرف مستخدم Teams مجهول أو معرف روبوت Teams. يمكنك استخدام هذا المعرف لربط أحداث المستخدم عبر السجلات.
callStartTime طابع زمني لبدء المكالمة، استنادا إلى أول محاولة اتصال من أي نقطة نهاية.
callDuration مدة المكالمة، التي يتم التعبير عنها بالثوان، استنادا إلى أول محاولة اتصال ونهاية الاتصال الأخير بين نقطتي نهاية.
callType نوع المكالمة. يحتوي على إما "P2P" أو "Group". "P2P" المكالمة هي اتصال مباشر 1:1 بين نقطتي نهاية فقط غير خادم. "Group" المكالمة هي مكالمة تحتوي على أكثر من نقطتي نهاية أو تم إنشاؤها كمكالمة "Group" قبل الاتصال.
teamsThreadId معرف مؤشر ترابط Teams. لا يكون هذا المعرف ذا صلة إلا عندما يتم تنظيم المكالمة كاجتماع Teams. ثم يمثل حالة استخدام إمكانية التشغيل التفاعلي بين Microsoft Teams وAzure Communication Services.

يتم عرض هذا المعرف في السجلات التشغيلية. يمكنك أيضا الحصول على هذا المعرف من خلال واجهات برمجة تطبيقات الدردشة.
participantId المعرف الذي تم إنشاؤه لتمثيل الاتصال ثنائي الاتجاه بين "Participant" نقطة نهاية (endpointType = "Server") والخادم. عندما callType = "P2P"، يكون هناك اتصال مباشر بين نقطتي نهاية، ولا يتم إنشاء أي participantId قيمة.
participantStartTime الطابع الزمني لبداية محاولة الاتصال الأولى للمشارك.
participantDuration مدة اتصال كل مشارك بالثوان، من participantStartTime إلى الطابع الزمني عند انتهاء الاتصال.
participantEndReason سبب نهاية اتصال المشارك. يحتوي على استدعاء رموز خطأ SDK التي تصدرها SDK (عند الاقتضاء) لكل participantId قيمة.
endpointId المعرف الفريد الذي يمثل كل نقطة نهاية متصلة باستدعاء، حيث endpointType يعرف نوع نقطة النهاية. عندما تكون القيمة ، nullيكون الكيان المتصل هو خادم Communication Services ( = endpointType"Server").

endpointId يمكن أن تستمر القيمة في بعض الأحيان لنفس المستخدم عبر مكالمات متعددة (correlationId) للعملاء الأصليين. يحدد عدد endpointId القيم عدد سجلات ملخص المكالمات. يتم إنشاء سجل ملخص مميز لكل endpointId قيمة.
endpointType تصف هذه القيمة خصائص كل نقطة نهاية متصلة باستدعاء . يمكن أن يحتوي على "Server"أو "PSTN""VOIP"أو "BOT"أو أو "Unknown".
sdkVersion سلسلة الإصدار لإصدار Communication Services Calling SDK الذي تستخدمه كل نقطة نهاية ذات صلة (على سبيل المثال، "1.1.00.20212500").
osVersion سلسلة تمثل نظام التشغيل وإصدار كل جهاز نقطة نهاية.
participantTenantId معرف مستأجر Microsoft المقترن بهوية المشارك. يمكن أن يكون المستأجر إما مستأجر Azure الذي يمتلك مورد Azure Communication Services أو مستأجر Microsoft لهوية Microsoft 365. يتم استخدام هذا الحقل لتوجيه redaction عبر المستأجرين.
participantType وصف المشارك كمزيج من عميله (Azure Communication Services أو Teams)، وهويته (Azure Communication Services أو Microsoft 365). تتضمن القيم المحتملة: Azure Communication Services (هوية Azure Communication Services وAzure Communication Services SDK)، وTeams (Teams identity and Teams client)، وAzure Communication Services كمستخدم خارجي ل Teams (هوية Azure Communication Services وAzure Communication Services SDK في مكالمة أو اجتماع Teams)، وAzure Communication Services كمستخدم Microsoft 365 (هوية Microsoft 365 وعميل Azure Communication Services)، وTeams Voice Apps.
pstnPartcipantCallType يمثل نوع واتجاه المشاركين في PSTN بما في ذلك مكالمات الطوارئ والتوجيه المباشر والنقل وإعادة التوجيه وما إلى ذلك.
ParticipantEndSubCode يمثل الرمز الفرعي لخطأ استدعاء SDK الذي تصدره SDK (عند الاقتضاء) لكل participantId قيمة.
ResultCategory يمثل فئة المشارك الذي أنهى المكالمة. يمكن أن تكون إحدى هذه القيم الأربع: Success، ExpectedError، UnexpectedClientError، UnexpectedServerError.

استدعاء مخطط سجل التشخيص

توفر سجلات تشخيص المكالمات معلومات مهمة حول نقاط النهاية وعمليات نقل الوسائط لكل مشارك. كما أنها توفر قياسات تساعدك على فهم مشكلات الجودة.

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

إشعار

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

الخاصية ‏‏الوصف
operationName العملية المقترنة بسجل السجل.
operationVersion api-version القيمة المقترنة بالعملية، إذا operationName تم تنفيذ العملية من خلال واجهة برمجة تطبيقات. إذا لم تتوافق أي واجهة برمجة تطبيقات مع هذه العملية، فإن الإصدار يمثل إصدار العملية، في حالة تغيير الخصائص المقترنة بالعملية في المستقبل.
category فئة السجل للحدث. هذه الخاصية هي الدقة التي يمكنك من خلالها تمكين السجلات أو تعطيلها على مورد. الخصائص التي تظهر داخل كائن properties ثنائي كبير الحجم لحدث ما هي نفسها ضمن فئة السجل ونوع المورد.
correlationId المعرف الفريد لمكالمة. وهو يحدد الأحداث المرتبطة من جميع المشاركين ونقاط النهاية التي تتصل أثناء مكالمة واحدة. إذا كنت بحاجة إلى فتح حالة دعم مع Microsoft، يمكنك استخدام correlationId القيمة لتحديد المكالمة التي تقوم باستكشاف الأخطاء وإصلاحها بسهولة.
participantId تم إنشاء المعرف لتمثيل الاتصال ثنائي الاتجاه بين "Participant" نقطة نهاية (endpointType = "Server") والخادم. عندما callType = "P2P"، يكون هناك اتصال مباشر بين نقطتي نهاية، ولا يتم إنشاء أي participantId قيمة.
identifier معرِّف فريد للمستخدم. يمكن أن تكون الهوية مستخدم Azure Communication Services أو معرف مستخدم Microsoft Entra أو معرف عنصر Teams أو معرف روبوت Teams. يمكنك استخدام هذا المعرف لربط أحداث المستخدم عبر السجلات.
endpointId المعرف الفريد الذي يمثل كل نقطة نهاية متصلة باستدعاء، حيث endpointType يعرف نوع نقطة النهاية. عندما تكون القيمة ، nullيكون الكيان المتصل هو خادم Communication Services. EndpointId يمكن أن تستمر لنفس المستخدم عبر مكالمات متعددة (correlationId) للعملاء الأصليين ولكنها فريدة لكل مكالمة عندما يكون العميل مستعرض ويب.
endpointType القيمة التي تصف خصائص كل endpointId مثيل. يمكن أن يحتوي على "Server"أو "VOIP"أو "PSTN"أو "Voicemail""BOT""Anonymous""Unknown".
mediaType قيمة السلسلة التي تصف نوع الوسائط التي يتم إرسالها بين نقاط النهاية داخل كل دفق. تتضمن "Audio"القيم المحتملة و "Video"و "VBSS" (مشاركة الشاشة المستندة إلى الفيديو) و."AppSharing"
streamId عدد صحيح غير أحادي، جنبا إلى جنب مع mediaType، يمكنك استخدامه لتعريف التدفقات ذات القيمة نفسها participantId بشكل فريد.
transportType قيمة السلسلة التي تصف بروتوكول نقل الشبكة لكل participantId قيمة. يمكن أن يحتوي على "UDP"أو "TCP"أو "Unrecognized". "Unrecognized" يشير إلى أن النظام لم يتمكن من تحديد ما إذا كان نوع النقل TCP أو UDP.
roundTripTimeAvg متوسط الوقت المستغرق للحصول على حزمة IP من نقطة نهاية إلى أخرى خلال فترة participantDuration . يرتبط تأخير نشر الشبكة هذا بالمسافة المادية بين النقطتين وسرعة الضوء وأي حمل تأخذه أجهزة التوجيه المختلفة بينهما.

يتم قياس زمن الانتقال على أنه وقت أحادي الاتجاه أو وقت ذهابا وإيابا (RTT). يتم التعبير عن قيمته بالمللي ثانية. يؤثر RTT أكبر من 500 مللي ثانية سلبا على جودة المكالمة.
roundTripTimeMax الحد الأقصى ل RTT (بالمللي ثانية) الذي تم قياسه للوصول إلى دفق الوسائط خلال participantDuration فترة في مكالمة جماعية أو خلال callDuration فترة في مكالمة P2P.
jitterAvg متوسط التغير في التأخير بين الحزم المتتابعة. يمكن ل Azure Communication Services التكيف مع بعض مستويات التشويه من خلال التخزين المؤقت. عندما يتجاوز التشويه التخزين المؤقت، والذي يكون تقريبا في jitterAvg وقت أكبر من 30 مللي ثانية، فإنه يمكن أن يؤثر سلبا على الجودة. تؤدي الحزم التي تصل بسرعات مختلفة إلى صوت السماعة إلى صوت روبوتي.

يتم قياس هذا المقياس لكل دفق وسائط على مدار participantDuration الفترة في مكالمة جماعية callDuration أو خلال الفترة في مكالمة P2P.
jitterMax الحد الأقصى لقيمة التشويه التي يتم قياسها بين الحزم لكل دفق وسائط. يمكن أن تتسبب الاندفاعات في ظروف الشبكة في حدوث مشاكل في تدفق حركة مرور الصوت/الفيديو.
packetLossRateAvg متوسط النسبة المئوية للحزم التي يتم فقدانها. يؤثر فقدان الحزمة بشكل مباشر على جودة الصوت. الحزم الصغيرة والفردية المفقودة ليس لها أي تأثير تقريبا، في حين تتسبب خسائر الاندفاع من الخلف إلى الخلف في قطع الصوت تماما. تتسبب الحزم التي يتم إسقاطها وعدم الوصول إلى وجهتها المقصودة في حدوث فجوات في الوسائط. ينتج عن هذا الموقف مقاطع وكلمات فائتة، إلى جانب مقاطع فيديو متقطعة ومشاركة.

من المحتمل أن يكون لمعدل فقدان الحزمة أكبر من 10٪ (0.1) تأثير سلبي على الجودة. يتم قياس هذا المقياس لكل دفق وسائط على مدار participantDuration الفترة في مكالمة جماعية callDuration أو خلال الفترة في مكالمة P2P.
packetLossRateMax تمثل هذه القيمة الحد الأقصى لمعدل فقدان الحزمة (النسبة المئوية) لكل دفق وسائط خلال participantDuration الفترة في مكالمة جماعية أو خلال callDuration الفترة في مكالمة P2P. يمكن أن تتسبب الاندفاعات في ظروف الشبكة في حدوث مشاكل في تدفق حركة مرور الصوت/الفيديو.
JitterBufferSizeAvg متوسط حجم المخزن المؤقت للتشويه على مدى مدة كل دفق وسائط. المخزن المؤقت للتشويه هو منطقة بيانات مشتركة حيث يمكن جمع الحزم الصوتية وتخزينها وإرسالها إلى المعالج الصوتي في فواصل زمنية متباعدة بالتساوي. يستخدم المخزن المؤقت للتشويه لمواجهة تأثيرات التشويه.

يمكن أن تكون المخازن المؤقتة المشتتة إما ثابتة أو ديناميكية. يتم تعيين المخازن المؤقتة للهزات الثابتة إلى حجم ثابت، بينما يمكن لمخازن التشويش الديناميكية ضبط حجمها استنادا إلى ظروف الشبكة. الهدف من المخزن المؤقت للتشويه هو توفير دفق سلس وغير متقطع من بيانات الصوت والفيديو للمستخدم.

في SDK الويب، هذه JitterBufferSizeAvg هي متوسط قيمة jitterBufferDelay أثناء الاستدعاء. هي jitterBufferDelay مدة عينة صوت أو إطار فيديو يبقى في المخزن المؤقت للتشويه.

عادة عندما JitterBufferSizeAvg تكون القيمة أكبر من 200 مللي ثانية، فإنها تؤثر سلبا على الجودة.
JitterBufferSizeMax الحد الأقصى لحجم المخزن المؤقت للتشويه الذي تم قياسه خلال مدة كل دفق وسائط.

عادة عندما تكون هذه القيمة أكبر من 200 مللي ثانية، فإنها تؤثر سلبا على الجودة.
HealedDataRatioAvg متوسط النسبة المئوية لحزم البيانات المفقودة أو التالفة التي تم إعادة بنائها أو استردادها بنجاح من قبل المعالج على مدار مدة دفق الصوت. نسبة البيانات المعالجة هي مقياس لفعالية تقنيات تصحيح الأخطاء المستخدمة في أنظمة VoIP.

عندما تكون هذه القيمة أكبر من 0.1 (10٪)، فإننا نعتبر الدفق جودة سيئة.
HealedDataRatioMax الحد الأقصى لنسبة البيانات المعالجة التي تم قياسها خلال مدة كل دفق وسائط.

عندما تكون هذه القيمة أكبر من 0.1 (10٪)، فإننا نعتبر الدفق جودة سيئة.
VideoFrameRateAvg متوسط عدد إطارات الفيديو التي يتم إرسالها في الثانية أثناء مكالمة فيديو/مشاركة الشاشة. يمكن أن يؤثر معدل إطار الفيديو على جودة تدفق الفيديو ونعومته، مع ارتفاع معدلات الإطارات بشكل عام مما يؤدي إلى حركة أكثر سلاسة وسوائل. معدل الإطار القياسي لفيديو WebRTC عادة ما يكون 30 إطارا في الثانية (fps)، على الرغم من أن معدل الإطار يمكن أن يختلف اعتمادا على التنفيذ المحدد وظروف الشبكة.

تعتبر جودة الدفق ضعيفة عندما تكون هذه القيمة أقل من 7 لدفق الفيديو، أو أقل من 1 لدفق مشاركة الشاشة.
RecvResolutionHeight متوسط الحجم العمودي لدفق الفيديو الوارد الذي يتم إرساله أثناء مكالمة فيديو/مشاركة الشاشة. يتم قياسه بالبكسل وهو أحد العوامل التي تحدد الدقة الشاملة وجودة دفق الفيديو. قد تعتمد الدقة المحددة المستخدمة على قدرات الأجهزة وظروف الشبكة المتضمنة في المكالمة.

تعتبر جودة الدفق ضعيفة عندما تكون هذه القيمة أقل من 240 لدفق الفيديو، أو أقل من 768 لدفق مشاركة الشاشة.
RecvFreezeDurationPerMinuteInMs متوسط مدة التجميد بالمللي ثانية في الدقيقة لدفق مشاركة الفيديو/الشاشة الواردة. عادة ما يكون التجميد بسبب حالة شبكة غير صحيحة ويمكن أن يؤدي إلى تدهور جودة الدفق.

تعتبر جودة الدفق ضعيفة عندما تكون هذه القيمة أكبر من 6000 مللي ثانية لتدفق الفيديو، أو أكبر من 25000 مللي ثانية لدفق مشاركة الشاشة.
PacketUtilization الحزم المرسلة أو المستلمة لدفق وسائط معين.

عادة ما يكون الاستدعاء أطول، كلما كانت القيمة أعلى. إذا كانت هذه القيمة صفر، فقد تشير إلى أن الوسائط لا تتدفق.
VideoBitRateAvg متوسط معدل البت (بت في الثانية) لفيديو أو دفق مشاركة الشاشة.

قد تشير قيمة معدل البت المنخفض إلى مشكلة سيئة في الشبكة. يمكن العثور على الحد الأدنى من معدل البت (النطاق الترددي) المطلوب هنا: النطاق الترددي للشبكة.
VideoBitRateMax الحد الأقصى لمرات البت (بت في الثانية) لدفق مشاركة الشاشة أو الفيديو.

قد تشير قيمة معدل البت المنخفض إلى مشكلة سيئة في الشبكة. يمكن العثور على الحد الأدنى من معدل البت (النطاق الترددي) المطلوب هنا: النطاق الترددي للشبكة.
StreamDirection اتجاه دفق الوسائط. إما واردة أو صادرة.
CodecName اسم برنامج الترميز المستخدم لمعالجة تدفقات الوسائط. يمكن أن يكون OPUS وG722 وH264S وSATIN وما إلى ذلك.

استدعاء مخطط سجل عمليات العميل

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

يوفر هذا السجل معلومات مفصلة حول الإجراءات المتخذة أثناء المكالمة ويمكن استخدامه لتصور مشكلات المكالمة والتحقيق فيها باستخدام تشخيصات المكالمات لمورد Azure Communication Services. تعرف على المزيد حول تشخيص المكالمات

الخاصية ‏‏الوصف
CallClientTimeStamp الطابع الزمني لوقت تشغيل حدث على SDK في UTC.
OperationName اسم العملية التي تم تشغيلها على استدعاء SDK.
CallId المعرف الفريد لمكالمة. وهو يحدد الأحداث المرتبطة من جميع المشاركين ونقاط النهاية التي تتصل أثناء مكالمة واحدة، ويمكنك استخدامها لضم البيانات من سجلات مختلفة. إنه مشابه ل correlationId في سجل ملخص المكالمات وسجل تشخيص المكالمات.
ParticipantId المعرف الفريد لكل مكالمة (في مكالمات المجموعة) أو المشارك في المكالمة (في مكالمات نظير إلى نظير). هذا المعرف هو نقطة الارتباط الرئيسية بين سجلات CallSummary و CallDiagnostic و CallClientOperations و CallClientMediaStats.
OperationType استدعاء عملية العميل.
OperationId GGUID فريد يحدد عملية SDK.
DurationMs الوقت الذي استغرقته عملية استدعاء SDK للفشل أو النجاح.
ResultType حقل يصف نجاح العملية أو فشلها.
ResultSignature رمز الفشل أو النجاح مثل HTTP (200، 500).
SdkVersion إصدار استدعاء SDK قيد الاستخدام.
UserAgent يتم استخدام سلسلة عامل المستخدم القياسية استنادا إلى المتصفح أو النظام الأساسي Calling SDK.
ClientInstanceId GGUID فريد يحدد كائن CallClient.
EndpointId المعرف الفريد الذي يمثل كل نقطة نهاية متصلة باستدعاء، حيث يحدد endpointType نوع نقطة النهاية. عندما تكون القيمة فارغة، يكون الكيان المتصل هو خادم Communication Services (endpointType = "Server").

يمكن أن تستمر قيمة endpointId في بعض الأحيان لنفس المستخدم عبر استدعاءات متعددة (correlationId) للعملاء الأصليين. يحدد عدد قيم endpointId عدد سجلات ملخص المكالمة. يتم إنشاء سجل ملخص مميز لكل قيمة endpointId.
OperationPayload حمولة ديناميكية تختلف بناء على العملية التي توفر المزيد من التفاصيل الخاصة بالعملية.

استدعاء مخطط سجل السلسلة الزمنية لإعلام العميل

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

يوفر هذا السجل معلومات أكثر تفصيلا من سجل تشخيص المكالمات لفهم جودة تبخير الوسائط بين المشاركين. يمكن استخدامه لتصور مشكلات الجودة والتحقيق فيها لمكالماتك من خلال تشخيص المكالمات لمورد Azure Communication Services. تعرف على المزيد حول تشخيص المكالمات

الخاصية ‏‏الوصف
OperationName العملية المقترنة بسجل السجل.
CallId المعرف الفريد لمكالمة. وهو يحدد الأحداث المرتبطة من جميع المشاركين ونقاط النهاية التي تتصل أثناء مكالمة واحدة، ويمكنك استخدامها لضم البيانات من سجلات مختلفة. إنه مشابه ل correlationId في سجل ملخص المكالمات وسجل تشخيص المكالمات.
CallClientTimeStamp الطابع الزمني عند تسجيل إحصائيات الوسائط.
MetricName اسم إحصائيات الوسائط، مثل Bitrateو JitterInMsPacketsPerSecondو وهكذا.
Count عدد نقاط البيانات التي تم أخذ عينات منها في طابع زمني معين.
Sum مجموع قيم القياس لجميع نقاط البيانات التي تم أخذ عينات منها.
Average متوسط قيمة القياس لنقاط البيانات التي تم أخذ عينات منها. المتوسط = المجموع / العدد.
Minimum الحد الأدنى من القيم القياسية لجميع نقاط البيانات التي تم أخذ عينات منها.
Maximum الحد الأقصى للقيم القياسية لجميع نقاط البيانات التي تم أخذ عينات منها.
MediaStreamDirection اتجاه دفق الوسائط. يمكن أن يكون send أو receive.
MediaStreamType نوع دفق الوسائط. يمكن أن يكون video، أو audio، أو screen.
MediaStreamCodec برنامج الترميز المستخدم لترميز/فك ترميز دفق الوسائط، مثل H264و OPUSVP8و وهكذا.
ParticipantId المعرف الفريد الذي تم إنشاؤه لتمثيل كل نقطة نهاية في المكالمة.
ClientInstanceId المعرف الفريد الذي يمثل كائن Call Client الذي تم إنشاؤه في استدعاء SDK.
EndpointId المعرف الفريد الذي يمثل كل نقطة نهاية متصلة بالمكالمة. يمكن أن يستمر EndpointId لنفس المستخدم عبر مكالمات متعددة (callIds) للعملاء الأصليين ولكنه فريد لكل مكالمة عندما يكون العميل مستعرض ويب. EndpointId لم يتم وضع علامة حاليا في هذا السجل. عند التنفيذ، فإنه يطابق القيم في سجلات CallSummary/Diagnostics
RemoteParticipantId المعرف الفريد الذي يمثل نقطة النهاية البعيدة في دفق الوسائط. على سبيل المثال، يمكن للمستخدم عرض تدفقات فيديو متعددة للمستخدمين الآخرين في نفس المكالمة. يحتوي كل دفق فيديو على .RemoteParticipantId
RemoteEndpointId مثل EndpointId، ولكنه يمثل المستخدم على الجانب البعيد من الدفق.
MediaStreamId معرف فريد يمثل كل دفق وسائط في المكالمة. MediaStreamId غير مسجل حاليا في العملاء. عند تنفيذه، فإنه يطابق streamId العمود في سجلات CallDiagnostics.
AggregationIntervalSeconds الفاصل الزمني لتجميع إحصائيات الوسائط. حاليا في Calling SDK، يتم أخذ عينات من مقاييس الوسائط كل ثانية، وعندما نبلغ في السجل نقوم بتجميع جميع العينات كل 10 ثوان. لذلك يحتوي كل صف في هذا الجدول على 10 نقاط أخذ عينات على الأكثر.

P2P مقابل مكالمات المجموعة

هناك نوعان من الاستدعاءات، كما هو ممثل في callType:

  • استدعاء نظير إلى نظير (P2P): اتصال بين نقطتي نهاية فقط، بدون نقطة نهاية خادم. يتم بدء استدعاءات P2P كمكالمة بين نقاط النهاية هذه ولا يتم إنشاؤها كحدث مكالمة جماعية قبل الاتصال.

    رسم تخطيطي يوضح مكالمة P2P عبر نقطتي نهاية.

  • مكالمة جماعية: أي مكالمة تحتوي على أكثر من نقطتي نهاية متصلتين. تتضمن استدعاءات المجموعة نقطة نهاية الخادم والاتصال بين كل نقطة نهاية والخادم. تتوقف مكالمات P2P التي تضيف نقطة نهاية أخرى أثناء المكالمة عن أن تكون P2P، وتصبح مكالمة جماعية. يمكنك تحديد المخطط الزمني للوقت الذي انضمت فيه كل نقطة نهاية إلى المكالمة باستخدام المقاييس participantStartTime و participantDuration .

    رسم تخطيطي يوضح مكالمة جماعية عبر نقاط نهاية متعددة.

بنية السجل

تنشئ Azure Communication Services أربعة أنواع من السجلات:

  • سجلات ملخص المكالمات: تحتوي على معلومات أساسية حول المكالمة، بما في ذلك جميع المعرفات ذات الصلة والطوابع الزمنية ونقاط النهاية ومعلومات SDK. لكل مشارك في مكالمة، تقوم Communication Services بإنشاء سجل ملخص مكالمة مميز.

    إذا أعاد شخص ما الانضمام إلى مكالمة، فإن هذا المشارك له نفس EndpointId القيمة ولكنه قيمة مختلفة ParticipantId . يمكن أن تحتوي نقطة النهاية هذه بعد ذلك على سجلين لملخص المكالمات.

  • استدعاء سجلات التشخيص: تحتوي على معلومات حول الدفق، جنبا إلى جنب مع مجموعة من المقاييس التي تشير إلى جودة قياسات التجربة. EndpointId لكل مكالمة داخل (بما في ذلك الخادم)، تقوم Azure Communication Services بإنشاء سجل تشخيص مكالمة مميز لكل دفق وسائط (صوت أو فيديو، على سبيل المثال) بين نقاط النهاية.

  • استدعاء سجلات عمليات العميل: تحتوي على أحداث مفصلة لعميل المكالمات. يتم إنشاء أحداث السجل هذه لكل EndpointId منها في مكالمة ويعتمد عدد سجلات الأحداث التي تم إنشاؤها على العمليات التي نفذها المشارك أثناء المكالمة.

  • استدعاء سجلات إحصائيات وسائط العميل: تحتوي على قيم دفق وسائط مفصلة. يتم إنشاء هذه السجلات لكل دفق وسائط في مكالمة. EndpointId لكل مكالمة داخل (بما في ذلك الخادم)، تنشئ Azure Communication Services سجلا مميزا لكل دفق وسائط (صوت أو فيديو، على سبيل المثال) بين نقاط النهاية. يعتمد حجم البيانات التي تم إنشاؤها في كل سجل على مدة المكالمة وعدد بخار الوسائط في المكالمة.

في استدعاء P2P، يحتوي كل سجل على بيانات تتعلق بكل من التدفقات الصادرة المقترنة بكل نقطة نهاية. في مكالمة جماعية، ينشئ كل دفق مقترن endpointType = "Server" بسجل يحتوي على بيانات للتدفقات الواردة. تنشئ جميع التدفقات الأخرى سجلات تحتوي على بيانات للتدفقات الصادرة لجميع نقاط النهاية غير الخادمة. في مكالمات المجموعة، استخدم participantId القيمة كمفتاح للانضمام إلى السجلات الواردة والصادرة ذات الصلة في اتصال مشارك مميز.

مثال: مكالمة P2P

يمثل الرسم التخطيطي التالي نقطتي نهاية متصلتين مباشرة في مكالمة P2P. في هذا المثال، تنشئ Communication Services سجلين لملخص المكالمات (سجل واحد لكل participantID قيمة) وأربعة سجلات تشخيص المكالمات (سجل واحد لكل دفق وسائط).

بالنسبة للمشاركين في اتصالات Azure Communication Services، هناك أيضا سلسلة من سجلات عمليات عميل المكالمات وسجلات التسلسل الزمني لإحصائيات وسائط العميل. يعتمد العدد الدقيق لهذه السجلات على نوع عمليات SDK التي يتم استدعاؤها ومدة الاستدعاء.

رسم تخطيطي يوضح استدعاء P2P داخل نفس المستأجر.

مثال: مكالمة جماعية

يمثل الرسم التخطيطي التالي مثال استدعاء مجموعة بثلاث participantId قيم (مما يعني ثلاثة مشاركين) ونقطة نهاية خادم. من المحتمل أن تظهر قيم متعددة ل endpointId في عدة مشاركين- على سبيل المثال، عند إعادة الانضمام إلى مكالمة من نفس الجهاز. تقوم Communication Services بإنشاء سجل ملخص مكالمة واحد لكل participantId قيمة. يقوم بإنشاء أربعة سجلات تشخيص المكالمات: واحد لكل دفق وسائط لكل participantId.

بالنسبة للمشاركين في اتصال Azure Communication Services، تكون سجلات عمليات عميل المكالمات هي نفسها مكالمات P2P. لكل مشارك يستخدم استدعاء SDK، هناك سلسلة من سجلات عمليات عميل المكالمات.

بالنسبة للمشاركين في اتصال Azure Communication Services، تكون سجلات عمليات عميل المكالمات وسجلات السلاسل الزمنية لإحصائيات وسائط العميل هي نفسها مكالمات P2P. لكل مشارك يستخدم استدعاء SDK، هناك سلسلة من سجلات عمليات عميل المكالمات وسجلات التسلسل الزمني لإحصائيات وسائط العميل.

رسم تخطيطي يوضح مكالمة جماعية داخل نفس المستأجر.

مثال: مكالمة P2P عبر المستأجرين

يمثل الرسم التخطيطي التالي اثنين من المشاركين عبر عدة مستأجرين متصلين مباشرة في مكالمة P2P. في هذا المثال، تقوم Communication Services بإنشاء سجل ملخص مكالمة واحد (واحد لكل مشارك) مع إصدارات نظام التشغيل وSDK منقحة. تنشئ Communication Services أيضا أربعة سجلات تشخيص المكالمات (سجل واحد لكل دفق وسائط). يحتوي كل سجل على بيانات تتعلق بالتدفق الصادر ل participantID.

رسم تخطيطي يوضح مكالمة P2P عبر المستأجرين.

مثال: مكالمة مجموعة عبر المستأجرين

يمثل الرسم التخطيطي التالي مثال استدعاء مجموعة بثلاث participantId قيم عبر مستأجرين متعددين. تنشئ Communication Services سجل ملخص مكالمة واحدا لكل مشارك باستخدام إصدارات نظام التشغيل وSDK التي تم تنقيحها. تنشئ Communication Services أيضا أربعة سجلات تشخيص المكالمات التي تتعلق بكل participantId قيمة (واحدة لكل دفق وسائط).

رسم تخطيطي يوضح مكالمة مجموعة عبر المستأجرين.

إشعار

يدعم هذا الإصدار سجلات التشخيص الصادرة فقط. يمكن تنقيح إصدارات نظام التشغيل وSDK المرتبطة بالروبوت والمشارك لأن Communication Services تتعامل مع هويات المشاركين والروبوتات بنفس الطريقة.

عينة بيانات

مكالمة P2P

فيما يلي حقول مشتركة لكافة السجلات في مكالمة P2P:

"time":                     "2021-07-19T18:46:50.188Z",
"resourceId":               "SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/ACS-TEST-RG/PROVIDERS/MICROSOFT.COMMUNICATION/COMMUNICATIONSERVICES/ACS-PROD-CCTS-TESTS",
"correlationId":            "8d1a8374-344d-4502-b54b-ba2d6daaf0ae",

سجلات ملخص المكالمات

تقوم سجلات ملخص المكالمات بمشاركة معلومات العملية والفئة:

"operationName":            "CallSummary",
"operationVersion":         "1.0",
"category":                 "CallSummary",

فيما يلي ملخص مكالمة لمستخدم VoIP 1:

"properties": {
    "identifier":               "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "callStartTime":            "2021-07-19T17:54:05.113Z",
    "callDuration":             6,
    "callType":                 "P2P",
    "teamsThreadId":            "null",
    "participantId":            "null",    
    "participantStartTime":     "2021-07-19T17:54:06.758Z",
    "participantDuration":      "5",
    "participantEndReason":     "0",
    "endpointId":               "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.0.1.0",
    "osVersion":                "Windows 10.0.17763 Arch: x64"
}

فيما يلي ملخص مكالمة لمستخدم VoIP 2:

"properties": {
    "identifier":               "acs:7af14122-9ac7-4b81-80a8-4bf3582b42d0_06f9276d-8efe-4bdd-8c22-ebc5434903f0",
    "callStartTime":            "2021-07-19T17:54:05.335Z",
    "callDuration":             6,
    "callType":                 "P2P",
    "teamsThreadId":            "null",
    "participantId":            "null",
    "participantStartTime":     "2021-07-19T17:54:06.335Z",
    "participantDuration":      "5",
    "participantEndReason":     "0",
    "endpointId":               "a5bd82f9-ac38-4f4a-a0fa-bb3467cdcc64",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.1.0.0",
    "osVersion":                "null"
}

فيما يلي سجل ملخص المكالمات عبر المستأجرين لمستخدم VoIP 1:

"properties": {
    "identifier":               "1e4c59e1-r1rr-49bc-893d-990dsds8f9f5",
    "callStartTime":            "2022-08-14T06:18:27.010Z",
    "callDuration":             520,
    "callType":                 "P2P",
    "teamsThreadId":            "null",
    "participantId":            "null",
    "participantTenantId":      "02cbdb3c-155a-4b95-b829-6d56a45787ca",
    "participantStartTime":     "2022-08-14T06:18:27.010Z",
    "participantDuration":      "520",
    "participantEndReason":     "0",
    "endpointId":               "02cbdb3c-155a-4d98-b829-aaaaa61d44ea",
    "endpointType":             "VoIP",
    "sdkVersion":               "Redacted",
    "osVersion":                "Redacted"
}

فيما يلي ملخص مكالمة لمكالمة PSTN:

إشعار

تحتوي سجلات مكالمات P2P أو المجموعة على إصدارات نظام التشغيل وSDK منقحة بغض النظر عما إذا كان مستأجر المشارك أو مستأجر الروبوت.

"properties": {
    "identifier": "b1999c3e-bbbb-4650-9b23-9999bdabab47",
    "callStartTime": "2022-08-07T13:53:12Z",
    "callDuration": 1470,
    "callType": "Group",
    "teamsThreadId": "19:36ec5177126fff000aaa521670c804a3@thread.v2",
    "participantId": " b25cf111-73df-4e0a-a888-640000abe34d",
    "participantStartTime": "2022-08-07T13:56:45Z",
    "participantDuration": 960,
    "participantEndReason": "0",
    "endpointId": "8731d003-6c1e-4808-8159-effff000aaa2",
    "endpointType": "PSTN",
    "sdkVersion": "Redacted",
    "osVersion": "Redacted"
}

استدعاء سجلات التشخيص

سجلات تشخيص المكالمات تشارك معلومات العملية:

"operationName":            "CallDiagnostics",
"operationVersion":         "1.0",
"category":                 "CallDiagnostics",

فيما يلي سجل تشخيص لدفق صوت من نقطة نهاية VoIP 1 إلى نقطة نهاية VoIP 2:

"properties": {
    "identifier":           "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "participantId":        "null",
    "endpointId":           "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "1000",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "82",
    "roundTripTimeMax":     "88",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

فيما يلي سجل تشخيصي لدفق صوت من نقطة نهاية VoIP 2 إلى نقطة نهاية VoIP 1:

"properties": {
    "identifier":           "acs:7af14122-9ac7-4b81-80a8-4bf3582b42d0_06f9276d-8efe-4bdd-8c22-ebc5434903f0",
    "participantId":        "null",
    "endpointId":           "a5bd82f9-ac38-4f4a-a0fa-bb3467cdcc64",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "1363841599",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "78",
    "roundTripTimeMax":     "84",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

فيما يلي سجل تشخيصي لدفق فيديو من نقطة نهاية VoIP 1 إلى نقطة نهاية VoIP 2:

"properties": {
    "identifier":           "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "participantId":        "null",
    "endpointId":           "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":         "VoIP",
    "mediaType":            "Video",
    "streamId":             "2804",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "103",
    "roundTripTimeMax":     "143",
    "jitterAvg":            "0",
    "jitterMax":            "4",
    "packetLossRateAvg":    "3.146336E-05",
    "packetLossRateMax":    "0.001769911"
}

مكالمة جماعية

يتم إنشاء بيانات مكالمة جماعية في ثلاثة سجلات ملخص مكالمة وستة سجلات تشخيص المكالمات. فيما يلي حقول مشتركة لكافة السجلات في المكالمة:

"time":                     "2021-07-05T06:30:06.402Z",
"resourceId":               "SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/ACS-TEST-RG/PROVIDERS/MICROSOFT.COMMUNICATION/COMMUNICATIONSERVICES/ACS-PROD-CCTS-TESTS",
"correlationId":            "341acde7-8aa5-445b-a3da-2ddadca47d22",

سجلات ملخص المكالمات

تقوم سجلات ملخص المكالمات بمشاركة معلومات العملية والفئة:

"operationName":            "CallSummary",
"operationVersion":         "1.0",
"category":                 "CallSummary",

فيما يلي ملخص مكالمة لنقطة نهاية VoIP 1:

"properties": {
    "identifier":               "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-729f-ac00-343a0d00d975",
    "callStartTime":            "2021-07-05T06:16:40.240Z",
    "callDuration":             87,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
    "participantId":            "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "participantStartTime":     "2021-07-05T06:16:44.235Z",
    "participantDuration":      "82",
    "participantEndReason":     "0",
    "endpointId":               "5ebd55df-ffff-ffff-89e6-4f3f0453b1a6",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.0.0.3",
    "osVersion":                "Darwin Kernel Version 18.7.0: Mon Nov 9 15:07:15 PST 2020; root:xnu-4903.272.3~3/RELEASE_ARM64_S5L8960X"
}

فيما يلي ملخص مكالمة لنقطة نهاية VoIP 3:

"properties": {
    "identifier":               "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-57c6-ac00-343a0d00d972",
    "callStartTime":            "2021-07-05T06:16:40.240Z",
    "callDuration":             87,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLTk2ZDUtYTZlM2I2ZjgxOTkw@thread.v2",
    "participantId":            "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "participantStartTime":     "2021-07-05T06:16:40.240Z",
    "participantDuration":      "87",
    "participantEndReason":     "0",
    "endpointId":               "5ebd55df-ffff-ffff-ab89-19ff584890b7",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.0.0.3",
    "osVersion":                "Android 11.0; Manufacturer: Google; Product: redfin; Model: Pixel 5; Hardware: redfin"
}

فيما يلي ملخص مكالمة لنقطة نهاية PSTN 2:

"properties": {
    "identifier":               "null",
    "callStartTime":            "2021-07-05T06:16:40.240Z",
    "callDuration":             87,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
    "participantId":            "515650f7-8204-4079-ac9d-d8f4bf07b04c",
    "participantStartTime":     "2021-07-05T06:17:10.447Z",
    "participantDuration":      "52",
    "participantEndReason":     "0",
    "endpointId":               "46387150-692a-47be-8c9d-1237efe6c48b",
    "endpointType":             "PSTN",
    "sdkVersion":               "null",
    "osVersion":                "null"
}

فيما يلي سجل ملخص المكالمات عبر المستأجرين:

"properties": {
    "identifier":               "1e4c59e1-r1rr-49bc-893d-990dsds8f9f5",
    "callStartTime":            "2022-08-14T06:18:27.010Z",
    "callDuration":             912,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
    "participantId":            "aa1dd7da-5922-4bb1-a4fa-e350a111fd9c",
    "participantTenantId":      "02cbdb3c-155a-4b95-b829-6d56a45787ca",
    "participantStartTime":     "2022-08-14T06:18:27.010Z",
    "participantDuration":      "902",
    "participantEndReason":     "0",
    "endpointId":               "02cbdb3c-155a-4d98-b829-aaaaa61d44ea",
    "endpointType":             "VoIP",
    "sdkVersion":               "Redacted",
    "osVersion":                "Redacted"
}

فيما يلي سجل ملخص المكالمات عبر المستأجرين مع روبوت كمشارك:


"properties": {
    "identifier":             "b1902c3e-b9f7-4650-9b23-9999bdabab47",
    "callStartTime":          "2022-08-09T16:00:32Z",
    "callDuration":            1470,
    "callType":               "Group",
    "teamsThreadId":         "19:meeting_MmQwZDcwYTQtZ000HWE6NzI4LTg1YTAtNXXXXX99999ZZZZZ@thread.v2",
    "participantId":           "66e9d9a7-a434-4663-d91d-fb1ea73ff31e",
    "participantStartTime":    "2022-08-09T16:14:18Z",
    "participantDuration":      644,
    "participantEndReason":    "0",
    "endpointId":             "69680ec2-5ac0-4a3c-9574-eaaa77720b82",
    "endpointType":           "Bot",
    "sdkVersion":             "Redacted",
    "osVersion":              "Redacted"
}

استدعاء سجلات التشخيص

سجلات تشخيص المكالمات تشارك معلومات العملية:

"operationName":            "CallDiagnostics",
"operationVersion":         "1.0",
"category":                 "CallDiagnostics",

فيما يلي سجل تشخيص لدفق صوت من نقطة نهاية VoIP 1 إلى نقطة نهاية الخادم:

"properties": {
    "identifier":           "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-729f-ac00-343a0d00d975",
    "participantId":        "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "endpointId":           "5ebd55df-ffff-ffff-89e6-4f3f0453b1a6",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "14884",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "46",
    "roundTripTimeMax":     "48",
    "jitterAvg":            "0",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

فيما يلي سجل تشخيص لدفق صوت من نقطة نهاية خادم إلى نقطة نهاية VoIP 1:

"properties": {
    "identifier":           null,
    "participantId":        "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "endpointId":           null,
    "endpointType":         "Server",
    "mediaType":            "Audio",
    "streamId":             "2001",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "42",
    "roundTripTimeMax":     "44",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

فيما يلي سجل تشخيص لدفق صوت من نقطة نهاية VoIP 3 إلى نقطة نهاية الخادم:

"properties": {
    "identifier":           "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-57c6-ac00-343a0d00d972",
    "participantId":        "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "endpointId":           "5ebd55df-ffff-ffff-ab89-19ff584890b7",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "13783",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "45",
    "roundTripTimeMax":     "46",
    "jitterAvg":            "1",
    "jitterMax":            "2",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

فيما يلي سجل تشخيص لدفق صوت من نقطة نهاية خادم إلى نقطة نهاية VoIP 3:

"properties": {
    "identifier":           "null",
    "participantId":        "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "endpointId":           null,
    "endpointType":         "Server"    
    "mediaType":            "Audio",
    "streamId":             "1000",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "45",
    "roundTripTimeMax":     "46",
    "jitterAvg":            "1",
    "jitterMax":            "4",
    "packetLossRateAvg":    "0",

استدعاء سجل عمليات العميل واستدعاء سجلات إحصائيات وسائط العميل لمكالمات P2P والمجموعة

بالنسبة لسجل عمليات عميل المكالمات وسجل السلسلة الزمنية لإحصائيات وسائط العميل للاتصال، لا يوجد فرق بين سيناريوهات مكالمات P2P والمجموعة ويعتمد عدد السجلات على عمليات SDK ومدة المكالمة. التعليمات البرمجية التالية هي عينة عامة تعرض مخطط هذه السجلات.

استدعاء سجل عمليات العميل

فيما يلي سجل عمليات عميل الاستدعاء لعملية "CreateView":

"properties": {
    "TenantId":               "4e7403f8-515a-4df5-8e13-59f0e2b76e3a",
    "TimeGenerated":          "2024-01-09T17:06:50.3Z",
    "CallClientTimeStamp":    "2024-01-09T15:07:56.066Z",
    "OperationName":          "CreateView" ,   
    "CallId":                 "92d800c4-abde-40be-91e9-3814ee786b19",
    "ParticipantId":          "2656fd6c-6d4a-451d-a1a5-ce1baefc4d5c",
    "OperationType":          "client-api-request",
    "OperationId":            "0d987336-37e0-4acc-aba3-e48741d88103",
    "DurationMs":             "577",
    "ResultType":             "Succeeded",
    "ResultSignature":        "200",
    "SdkVersion":             "1.19.2.2_beta",
    "UserAgent":              "azure-communication-services/1.3.1-beta.1 azsdk-js-communication-calling/1.19.2-beta.2 (javascript_calling_sdk;#clientTag:904f667c-5f25-4729-9ee8-6968b0eaa40b). Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "ClientInstanceId":       "d08a3d05-db90-415f-88a7-87ae74edc1dd",
    "OperationPayload":       "{"StreamType":"Video","StreamId":"2.0","Source":"remote","RemoteParticipantId":"remote"}",
    "Type":                   "ACSCallClientOperations"
}

يمكن أن يكون لكل مشارك العديد من المقاييس المختلفة للمكالمة. يمكنك تشغيل الاستعلام التالي في Log Analytics في مدخل Microsoft Azure لسرد جميع العمليات المحتملة في سجل عمليات عميل الاستدعاء:

ACSCallClientOperations | distinct OperationName

استدعاء سجل السلاسل الزمنية لإحصاءات وسائط العميل

فيما يلي مثال على سجل السلاسل الزمنية لإحصاءات الوسائط. يظهر مقياس Jitter الخاص بالمشارك لتلقي دفق صوتي في طابع زمني محدد.

"properties": {
    "TenantId":                     "4e7403f8-515a-4df5-8e13-59f0e2b76e3a",
    "TimeGenerated":                "2024-01-10T07:36:51.771Z",
    "OperationName":                "CallClientMediaStatsTimeSeries" ,  
    "CallId":                       "92d800c4-abde-40be-91e9-3814ee786b19", 
    "CallClientTimeStamp":          "2024-01-09T15:07:56.066Z",
    "MetricName":                   "JitterInMs",
    "Count":                        "2",
    "Sum":                          "34",
    "Average":                      "17",
    "Minimum":                      "10",
    "Maximum":                      "25",
    "MediaStreamDirection":         "recv",
    "MediaStreamType":              "audio",
    "MediaStreamCodec":             "OPUS",
    "ParticipantId":                "2656fd6c-6d4a-451d-a1a5-ce1baefc4d5c",
     "ClientInstanceId":            "d08a3d05-db90-415f-88a7-87ae74edc1dd",
    "AggregationIntervalSeconds":   "10",
    "Type":                         "ACSCallClientMediaStatsTimeSeries"
}

يمكن لكل مشارك الحصول على العديد من مقاييس إحصائيات الوسائط المختلفة لمكالمة. يمكن تشغيل الاستعلام التالي في Log Analytics في مدخل Microsoft Azure لإظهار جميع المقاييس الممكنة في هذا السجل:

ACSCallClientMediaStatsTimeSeries | distinct MetricName

رموز الخطأ

participantEndReason تحتوي الخاصية على قيمة من مجموعة رموز خطأ استدعاء SDK. يمكنك الرجوع إلى هذه الرموز لاستكشاف المشكلات وإصلاحها أثناء المكالمة، لكل نقطة نهاية. راجع استكشاف أخطاء رموز استجابة نهاية المكالمة وإصلاحها لاستدعاء SDK وأتمتة المكالمات SDK وPSTN وSDK للدردشة وSMS SDK.

الخطوات التالية