التشغيل السريع: مكالمة صادرة إلى رقم هاتف
ابدأ بتشغيل خدمة Azure Communication Services من خلال استخدام Communication Services Calling SDK لإضافة خاصية إجراء المكالمات عبر PSTN إلى تطبيقك.
هام
تدعم Azure Communication Services مكالمات الطوارئ لأرقام الطوارئ في الولايات المتحدة وبورتوريكو وكندا والدنمارك والمملكة المتحدة وأستراليا فقط.
يمكن استخدام المكالمات الصوتية ل Azure Communication Services (PSTN) لطلب رقم الطوارئ 911 في الولايات المتحدة وبورتوريكو وكندا ولطلب رقم الطوارئ 112 في الدنمارك ولطلب 000 في أستراليا ولطلب أرقام الطوارئ 999 و112 في المملكة المتحدة. لا تدعم Azure Communication Services حاليا طلب أرقام الطوارئ هذه من خارج تلك البلدان أو المناطق، أو طلب خدمات الطوارئ في بلدان أو مناطق أخرى.
نموذج التعليمات البرمجية
ابحث عن التعليمات البرمجية النهائية لهذه البداية السريعة في GitHub.
إشعار
يمكن الوصول إلى المكالمات الصادرة إلى رقم هاتف باستخدام مكتبة واجهة مستخدم Azure Communication Services. تمكن مكتبة واجهة المستخدم المطورين من إضافة عميل مكالمة تم تمكين PSTN له في تطبيقهم باستخدام سطرين فقط من التعليمات البرمجية.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- تم نشر مورد Communication Services. إنشاء مورد Communication Services
- رقم هاتف تم الحصول عليه في مورد Communication Services، أو تم تكوين التوجيه المباشر ل Azure Communication Services. إذا كان لديك اشتراك مجاني، يمكنك الحصول على رقم هاتف تجريبي.
User Access Token
لتمكين عميل الاتصال. لمزيد من المعلومات حول كيفية الحصول علىUser Access Token
الإعداد
إنشاء تطبيق Node.js جديد
افتح المحطة الطرفية أو نافذة الأوامر لإنشاء دليل جديد لتطبيقك، ثم انتقل إليه.
mkdir calling-quickstart
cd calling-quickstart
قم بتشغيل npm init -y
لإنشاء ملف package.json بالإعدادات الافتراضية.
npm init -y
تثبيت الحزمة
استخدم الأمر npm install
لتثبيت Azure Communication Services Calling SDK لـ JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
يسرد الخيار --save
المكتبة كتبعية في ملف package.json.
إعداد إطار عمل التطبيق
يستخدم هذا التشغيل السريع طردا لتجميع أصول التطبيق. قم بتشغيل الأمر التالي لتثبيته وإدراجه كتبعية تطوير في package.json:
npm install parcel --save-dev
قم بإنشاء ملف index.html في الدليل الجذر لمشروعك. سنستخدم هذا الملف لتكوين تخطيط أساسي يسمح للمستخدم بإجراء مكالمة.
وهنا التعليمة البرمجية:
<!DOCTYPE html>
<html>
<head>
<title>Communication Client - Calling Sample</title>
</head>
<body>
<h4>Azure Communication Services</h4>
<h1>Calling Quickstart</h1>
<input
id="callee-phone-input"
type="text"
placeholder="Who would you like to call?"
style="margin-bottom:1em; width: 230px;"
/>
<div>
<button id="call-phone-button" type="button">
Start Call
</button>
<button id="hang-up-phone-button" type="button" disabled="true">
Hang Up
</button>
</div>
<script src="./app.js" type="module"></script>
</body>
</html>
قم بإنشاء ملف في الدليل الجذر لمشروعك يسمى app.js لاحتواء منطق التطبيق لهذا التشغيل السريع. أضف التعليمة البرمجية التالية لاستيراد عميل الاتصال، والحصول على مراجع لعناصر DOM، حتى نتمكن من إرفاق منطق عملنا.
import { CallClient, CallAgent } from "@azure/communication-calling";
import { AzureCommunicationTokenCredential } from '@azure/communication-common';
let call;
let callAgent;
const calleePhoneInput = document.getElementById("callee-phone-input");
const callPhoneButton = document.getElementById("call-phone-button");
const hangUpPhoneButton = document.getElementById("hang-up-phone-button");
async function init() {
const callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential('<USER ACCESS TOKEN with VoIP scope>');
callAgent = await callClient.createCallAgent(tokenCredential);
//callPhoneButton.disabled = false;
}
init();
ابدأ مكالمة هاتفية
حدد رقم الهاتف الذي حصلت عليه في مورد Communication Services المستخدم لبدء المكالمة:
تحذير
يجب توفير أرقام الهواتف بتنسيق E.164 القياسي الدولي. (على سبيل المثال: 12223334444+)
أضف معالج حدث لبدء الاتصال برقم الهاتف الذي قدمته عند النقر على callPhoneButton
:
callPhoneButton.addEventListener("click", () => {
// start a call to phone
const phoneToCall = calleePhoneInput.value;
call = callAgent.startCall(
[{phoneNumber: phoneToCall}], { alternateCallerId: {phoneNumber: 'YOUR AZURE REGISTERED PHONE NUMBER HERE: +12223334444'}
});
// toggle button states
hangUpPhoneButton.disabled = false;
callPhoneButton.disabled = true;
});
إنهاء مكالمة هاتفية
أضف موزع رسائل الأحداث لإنهاء الاتصال الحالي عند تحديد hangUpPhoneButton
:
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
تنهي خاصية forEveryone
الاتصال لجميع المشاركين في الاتصال.
تشغيل التعليمات البرمجية
استخدم الأمر npx parcel index.html
لإنشاء تطبيقك وتشغيله.
افتح المستعرض وانتقل إلى http://localhost:1234/
. يجب أن تشاهد تطبيق الويب التالي:
يمكنك إجراء مكالمة برقم هاتف حقيقي من خلال توفير رقم هاتف في حقل النص المضاف والنقر فوق الزر "Start Phone Call".
هام
تدعم Azure Communication Services مكالمات الطوارئ لأرقام الطوارئ في الولايات المتحدة وبورتوريكو وكندا والدنمارك والمملكة المتحدة وأستراليا فقط.
يمكن استخدام المكالمات الصوتية ل Azure Communication Services (PSTN) لطلب رقم الطوارئ 911 في الولايات المتحدة وبورتوريكو وكندا ولطلب رقم الطوارئ 112 في الدنمارك ولطلب 000 في أستراليا ولطلب أرقام الطوارئ 999 و112 في المملكة المتحدة. لا تدعم Azure Communication Services حاليا طلب أرقام الطوارئ هذه من خارج تلك البلدان أو المناطق، أو طلب خدمات الطوارئ في بلدان أو مناطق أخرى.
نموذج التعليمات البرمجية
ابحث عن التعليمات البرمجية النهائية لهذه البداية السريعة في GitHub.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- تم نشر مورد Communication Services. إنشاء مورد Communication Services
- رقم هاتف تم الحصول عليه في مورد Communication Services، أو تم تكوين التوجيه المباشر ل Azure Communication Services. إذا كان لديك اشتراك مجاني، يمكنك الحصول على رقم هاتف تجريبي.
User Access Token
لتمكين عميل الاتصال. لمزيد من المعلومات حول كيفية الحصول علىUser Access Token
- أكمل البداية السريعة للبدء في إضافة استدعاء إلى التطبيق
التحقق من المتطلبات الأساسية
- لعرض أرقام الهواتف المقترنة بمورد Communication Services، سجل الدخول إلى مدخل Azure، وحدد موقع مورد Communication Services وافتح علامة التبويب أرقام الهواتف من جزء التنقل الأيسر.
الإعداد
إضافة وظائف PSTN إلى التطبيق
أضف PhoneNumber
النوع إلى التطبيق عن طريق تعديل MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
ابدأ مكالمة هاتفية
حدد رقم الهاتف الذي حصلت عليه من داخل مورد Communication Services. يتم استخدام هذا الرقم كمعرف المتصل لبدء المكالمة:
تحذير
لاحظ أنه يجب توفير أرقام الهواتف في تنسيق معيار E.164 الدولي. (على سبيل المثال: 12223334444+)
تعديل startCall()
معالج الأحداث في MainActivity.java، بحيث يعالج المكالمات الهاتفية:
private void startCall() {
EditText calleePhoneView = findViewById(R.id.callee_id);
String calleePhone = calleePhoneView.getText().toString();
PhoneNumberIdentifier callerPhone = new PhoneNumberIdentifier("+12223334444");
StartCallOptions options = new StartCallOptions();
options.setAlternateCallerId(callerPhone);
options.setVideoOptions(new VideoOptions(null));
call = agent.startCall(
getApplicationContext(),
new PhoneNumberIdentifier[] {new PhoneNumberIdentifier(calleePhone)},
options);
}
تشغيل التطبيق واستدعاء echo bot
يمكن الآن تشغيل التطبيق باستخدام زر "Run App" الموجود على شريط الأدوات (Shift+F10). لإجراء مكالمة، قم بتوفير رقم هاتف في حقل النص المضاف وحدد الزر مكالمة .
تحذير
لاحظ أنه يجب توفير أرقام الهواتف في تنسيق معيار E.164 الدولي. (على سبيل المثال: 12223334444+)
هام
تدعم Azure Communication Services مكالمات الطوارئ لأرقام الطوارئ في الولايات المتحدة وبورتوريكو وكندا والدنمارك والمملكة المتحدة وأستراليا فقط.
يمكن استخدام المكالمات الصوتية ل Azure Communication Services (PSTN) لطلب رقم الطوارئ 911 في الولايات المتحدة وبورتوريكو وكندا ولطلب رقم الطوارئ 112 في الدنمارك ولطلب 000 في أستراليا ولطلب أرقام الطوارئ 999 و112 في المملكة المتحدة. لا تدعم Azure Communication Services حاليا طلب أرقام الطوارئ هذه من خارج تلك البلدان أو المناطق، أو طلب خدمات الطوارئ في بلدان أو مناطق أخرى.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- تم نشر مورد Communication Services. إنشاء مورد Communication Services
- رقم هاتف تم الحصول عليه في مورد Communication Services، أو تم تكوين التوجيه المباشر ل Azure Communication Services. إذا كان لديك اشتراك مجاني، يمكنك الحصول على رقم هاتف تجريبي.
User Access Token
لتمكين عميل الاتصال. لمزيد من المعلومات حول كيفية الحصول علىUser Access Token
- أكمل البداية السريعة للبدء في إضافة استدعاء إلى التطبيق
التحقق من المتطلبات الأساسية
- لعرض أرقام الهواتف المقترنة بمورد Communication Services، سجل الدخول إلى مدخل Azure، وحدد موقع مورد Communication Services وافتح علامة التبويب أرقام الهواتف من جزء التنقل الأيسر.
- يمكنك إنشاء تطبيقك وتشغيله باستخدام Azure Communication Services Calling SDK لنظام iOS:
الإعداد
ابدأ مكالمة هاتفية
حدد رقم الهاتف الذي حصلت عليه في مورد Communication Services المستخدم لبدء المكالمة:
تحذير
لاحظ أنه يجب توفير أرقام الهواتف في تنسيق معيار E.164 الدولي. (على سبيل المثال: 12223334444+)
تعديل startCall
معالج الأحداث الذي يتم تنفيذه عند الضغط على زر بدء المكالمة :
func startCall() {
// Ask permissions
AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
if granted {
let startCallOptions = StartCallOptions()
startCallOptions.alternateCallerId = PhoneNumberIdentifier(phoneNumber: "<YOUR AZURE REGISTERED PHONE NUMBER>")
self.callAgent!.startCall(participants: [PhoneNumberIdentifier(phoneNumber: self.callee)], options: startCallOptions) { (call, error) in
if (error == nil) {
self.call = call
} else {
print("Failed to get call object")
}
}
}
}
}
تشغيل التعليمات البرمجية
يمكنك إنشاء التطبيق وتشغيله على جهاز محاكاة iOS عن طريق تحديد تشغيل المنتج>أو باستخدام اختصار لوحة المفاتيح (⌘-R).
يمكنك إجراء مكالمة هاتفية من خلال توفير رقم هاتف في الحقل النصي المضاف والنقر فوق زر بدء المكالمة .
تحذير
لاحظ أنه يجب توفير أرقام الهواتف في تنسيق معيار E.164 الدولي. (على سبيل المثال: 12223334444+)
إشعار
في المرة الأولى التي تجري فيها مكالمة، سيطالبك النظام بالوصول إلى الميكروفون. في تطبيق الإنتاج، يجب استخدام AVAudioSession
API للتحقق من حالة الإذن وتحديث سلوك التطبيق بأمان عند عدم منح الإذن.
تنظيف الموارد
إذا كنت ترغب في تنظيف وإزالة اشتراك Communication Services، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا. تعرّف على المزيد حول تنظيف الموارد.
الخطوات التالية
لمزيد من المعلومات، راجع المقالات التالية:
- تعرّف على إمكانيات برنامج Calling SDK
- تعرّف على المزيد عن كيفية إجراء المكالمات
- التعرف على قدرات البحث عن الأرقام