ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
هذه الميزة من Azure Communication Services قيد المعاينة حاليا. الميزات في المعاينة متاحة للجمهور ويمكن استخدامها من قبل جميع عملاء Microsoft الجدد والموجودين.
يجري توفير إصدار المعاينة هذا دون اتفاقية على مستوى الخدمة، ولا نوصي باستخدامه لأحمال عمل الإنتاج. قد لا تكون بعض الميزات مدعومة أو قد تكون القدرات مقيدة.
لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
توضح هذه المقالة كيفية منح الموافقة على خادم لتلقي المكالمات الموجهة إلى حساب موارد Teams. تصف الأقسام التالية أيضا كيفية استخدام عميل للرد على المكالمات ووضعها نيابة عن حسابات موارد Teams.
المتطلبات الأساسية
حساب Azure مع اشتراك نشط. إنشاء حساب مجاني.
مورد Communication Services، راجع إنشاء مورد Communication Services.
مستأجر معرف Microsoft Entra مع مستخدمين لديهم ترخيص Teams. لمزيد من المعلومات، راجع متطلبات ترخيص Teams.
يجب تمكين المستخدمين ل Teams. لتمكين مستخدم ل Teams، افتح مركز > إدارة Microsoft 365 المستخدمين>النشطين. ثم ابحث عن حساب المستخدم المتأثر. انقر فوق تحرير لتغيير تفاصيلها. انتقل إلى الترخيص والتطبيقات، ثم حدد سهم القائمة المنسدلة من التطبيقات وحدد تمكين Microsoft Teams.
تقديم موافقة الخادم
يحتاج مالك مورد خدمات اتصالات Azure إلى تشغيل عمليات واجهة برمجة التطبيقات التالية. يحتاج مالك المورد إلى تقديم الموافقة على تخويل المكالمات إلى مورد خدمات اتصالات Azure من حساب موارد Teams. يمكنك استدعاء واجهة برمجة التطبيقات باستخدام أي أداة REST أو برمجيا. تدعم واجهة برمجة التطبيقات عمليات GET وPUT و PATCH وDELETE.
- في
{YOUR-ACS-RESOURCE-ENDPOINT}
مسار طلب URI (RURI) هو اسم المجال المؤهل بالكامل لمورد Azure Communication Services (FQDN) من Azure. -
{YOUR-RESOURCE-ACCOUNT-GUID}
المعلمة في RURI هي قيمة الكويكب التي تم إرجاعها بواسطة واجهة برمجة تطبيقات Graph من الخطوة السابقة. بدلا من ذلك لتوفير يدوي واحد، يقوم Get-CsOnlineApplicationInstance (MicrosoftTeamsPowerShell) بإرجاعObjectId
و هذا المعرف هوYOUR-RESOURCE-ACCOUNT-GUID
. - في
{TENANT-GUID}
مسار RURI هو المعرف الفريد العمومي لمستأجر Teams. - في
{principalType}
النص الأساسي لأنناteamsResourceAccount
نوافق على حساب موارد Teams للتوسعة في هاتف Teams.
تدعم واجهة برمجة التطبيقات هذه رمز مصادقة الرسائل المستندة إلى تجزئة Azure Communication Services (HMAC) مع سلسلة اتصال أو هوية مدارة لمعرف Microsoft Entra.
تعريف الاستعلام:
https://{YOUR-ACS-RESOURCE-ENDPOINT}/access/teamsExtension/tenants/{TENANT-GUID}/assignments/{YOUR-RESOURCE-ACCOUNT-GUID}?api-version=2025-03-02-preview
مثال لتعيين الموافقة:
PUT https://myacsresource.unitedstates.communication.azure.com/access/teamsExtension/tenants/zz123456-1234-1234-1234-zzz123456789/assignments/cc123456-5678-5678-1234-ccc123456789?api-version=2025-03-02-preview
{
"principalType": "teamsResourceAccount"
}
استجابة مثال:
HTTP/1.1 201 Created
Content-type: application/json
الاستجابة غير المسموح بها:
إذا تلقيت خطأ 403 مع الاستجابة التالية، أرسل المعرف الفريد العمومي لاشتراك Azure إلى Azure Communication Services Product Manager (PM) لإضافتك إلى قائمة المعاينة.
{
"error": {
"code": "SubscriptionNotAllowed",
"message": "API is not allowed to be accessed with your subscription."
}
}
تقديم موافقة العميل
استخدم Azure Communication Services calling SDK لتوسيع نظام Teams Phone الخاص بك، مما يتيح إجراء المكالمات وتلقيها بشكل مستقل عن تطبيق Teams.
إعداد التطبيق الخاص بك
الخطوة 1: إنشاء تسجيل تطبيق معرف Microsoft Entra أو تحديده
يجب مصادقة المستخدمين من خلال تطبيق معرف Microsoft Entra باستخدام إذن Azure Communication Service TeamsExtension.ManageCalls
. إذا لم يكن لديك تطبيق موجود لهذا التشغيل السريع، يمكنك إنشاء تسجيل تطبيق جديد.
تكوين إعداد التطبيق التالي:
تحدد خاصية أنواع الحسابات المدعومة ما إذا كان التطبيق مستأجرا فرديا (الحسابات في هذا الدليل التنظيمي فقط) أو متعدد المستأجرين (الحسابات في أي دليل تنظيمي). حدد الخيار الذي يناسب السيناريو الخاص بك.
يعمل Redirect URI على تحديد URI حيث يُعاد توجيه طلب المصادقة بعد المصادقة. بالنسبة لسيناريو تطبيق الويب الخاص بنا، اختر تطبيق صفحة واحدة وأدخل
http://localhost
ك URI.
لمزيدٍ من المعلومات التفصيلية، راجع تسجيل التطبيق باستخدام النظام الأساسي للهويات في Microsoft.
عند تسجيل التطبيق، ابحث عن المعرف في النظرة العامة. استخدم معرف تطبيق المعرف (العميل) في الخطوات التالية.
الخطوة 2: إضافة TeamsExtension.ManageCalls
الإذن إلى التطبيق الخاص بك
يجب عليك تسجيل طلبك للحصول على TeamsExtension.ManageCalls
إذن من Azure Communication Services
التطبيق. تحتاج إلى هذا الإذن لمستخدم Teams للوصول إلى تدفقات قابلية توسعة هاتف Teams من خلال Azure Communication Services.
انتقل إلى تطبيق معرف Microsoft Entra في مدخل Microsoft Azure وحدد أذونات واجهة برمجة التطبيقات.
حدد إضافة أذونات.
من قائمة Add Permissions ، حدد Azure Communication Services.
حدد الإذن
TeamsExtension.ManageCalls
، ثم حدد إضافة أذونات.منح موافقة المسؤول للحصول على
TeamsExtension.ManageCalls
إذن.
منح مستخدم Teams حق الوصول إلى مورد Azure Communication Services
أرسل طلبا إلى واجهة برمجة تطبيقات تعيينات الوصول إلى Microsoft Teams Phone لمنح مستخدم Teams حق الوصول من خلال مورد Communication Services. لمزيد من المعلومات حول كيفية مصادقة طلب الويب، راجع المصادقة.
يوضح المثال التالي طلبا لمستخدم بمعرف e5b7f628-ea94-4fdc-b3d9-1af1fe231111
.
PUT {endpoint}/access/teamsExtension/tenants/87d349ed-44d7-43e1-9a83-5f2406dee5bd/assignments/e5b7f628-ea94-4fdc-b3d9-1af1fe231111?api-version=2025-03-02-preview
{
"principalType" : "user",
"clientIds" : ["1bfa671a-dc6b-47f3-8940-45c0f1af0fa6"]
}
استجابه
يوضح المثال التالي الاستجابة.
HTTP/1.1 201 Created
Content-type: application/json
{
"objectId": "e5b7f628-ea94-4fdc-b3d9-1af1fe231111",
"tenantId": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
"principalType" : "user",
"clientIds" : ["1bfa671a-dc6b-47f3-8940-45c0f1af0fa6"]
}
تدفق تسجيل الدخول
أكمل هذا القسم لإعداد تدفق تسجيل الدخول للتطبيق الخاص بك.
إنشاء بيانات اعتماد قادرة على الحصول على رمز مميز لمستخدم Microsoft Entra
لإنشاء بيانات اعتماد، استخدم @azure/communication-common SDK مع الإصدار 2.3.2-beta.1. أولا، تحتاج إلى تهيئة أي تنفيذ لواجهة TokenCredential وتوفيرها إلى EntraCommunicationTokenCredentialOptions
.
بالإضافة إلى الرمز المميز، يجب توفير URI لمورد Azure Communication Services والنطاقات المطلوبة للرمز المميز لمستخدم Microsoft Entra. تحدد هذه النطاقات الأذونات الممنوحة للرمز المميز:
const entraTokenCredential = new InteractiveBrowserCredential({
tenantId: "<your-tenant-id>",
clientId: "<your-client-id>",
redirectUri: "<your-redirect-uri>",
});
const entraTokenCredentialOptions = {
resourceEndpoint: "https://<your-resource>.communication.azure.com",
tokenCredential: entraTokenCredential,
scopes: [
"https://auth.msft.communication.azure.com/TeamsExtension.ManageCalls",
],
};
const credential = new AzureCommunicationTokenCredential(
entraTokenCredentialOptions
);
تمرير AzureCommunicationUserCredential إلى CallClient.CreateCallAgent
بمجرد أن تصبح بيانات الاعتماد جاهزة، يمكنك تمريرها إلى CallingClient.
const client = new CallingClient();
const callAgent = await client.createCallAgent(credential);
إزالة وصول مستخدم Teams
أرسل طلبا إلى واجهة برمجة تطبيقات تعيينات الوصول إلى Microsoft Teams Phone لحذف وصول مستخدم Teams إلى مورد Azure Communication Services.
DELETE {endpoint}/access/teamsExtension/tenants/87d349ed-44d7-43e1-9a83-5f2406dee5bd/assignments/e5b7f628-ea94-4fdc-b3d9-1af1fe231111?api-version=2025-03-02-preview
استجابه
HTTP/1.1 204 NoContent
Content-type: application/json
{}
للتحقق من أن مستخدم Teams لم يعد مرتبطا بمورد Communication Services، أرسل طلب GET إلى واجهة برمجة تطبيقات تعيينات الوصول إلى Microsoft Teams Phone. تحقق من أن رمز حالة الاستجابة الخاص به هو 404.
GET {endpoint}/access/teamsExtension/tenants/87d349ed-44d7-43e1-9a83-5f2406dee5bd/assignments/e5b7f628-ea94-4fdc-b3d9-1af1fe231111?api-version=2025-03-02-preview