Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начните работу со службами связи Azure, используя пакет SDK для вызовов, чтобы добавить вызовы ТСОП в ваше приложение.
Это важно
Службы коммуникации Azure поддерживает экстренные вызовы к номерам экстренного реагирования только в США, Пуэрто-Рико, Канаде, Дании, Соединенном Королевстве и Австралии.
Службы коммуникации Azure голосовых звонков (ТСОП) можно использовать для набора номера экстренной службы 911 в США, Пуэрто-Рико и Канаде, для набора номера 112 в Дании, для набора 000 в Австралии и для набора номеров экстренных служб 999 и 112 в Соединенном Королевстве. Службы коммуникации Azure в настоящее время не поддерживают вызов на те номера экстренного реагирования за пределами соответствующих стран или регионов, а также на номера экстренных служб в других странах или регионах.
Пример кода
Вы можете найти окончательный код для этого краткого руководства на GitHub.
Замечание
Исходящий звонок на телефонный номер можно получить с помощью библиотеки пользовательского интерфейса Служб коммуникации Azure. Библиотека пользовательского интерфейса дает разработчикам возможность добавить в своё приложение клиента для звонков с поддержкой PSTN с использованием всего нескольких строк кода.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Ресурс служб связи, находящийся в эксплуатации. Создайте ресурс служб коммуникации.
- Номер телефона, приобретенный в ресурсе Служб коммуникации, или настроенная прямая маршрутизация служб коммуникации Azure. Если у вас есть бесплатная подписка, вы можете получить пробный номер телефона.
-
User Access Token
для активации клиента связи. Дополнительные сведения о том, как получитьUser Access Token
.
Настройка
Создание нового приложения Node.js
Откройте терминал или командное окно, создайте каталог для своего приложения и перейдите к нему.
mkdir calling-quickstart
cd calling-quickstart
Воспользуйтесь командой npm init -y
, чтобы создать файл package.json с параметрами по умолчанию.
npm init -y
Установите пакет
Используйте команду npm install
, чтобы установить пакет SDK Служб коммуникации Azure для реализации вызовов на JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Параметр --save
указывает библиотеку как зависимость в файле пакета package.json.
Настройте структуру приложения
В этой статье используется Parcel для сборки компонентов приложения. Выполните следующую команду, чтобы установить ее и перечислить ее в качестве зависимости разработки в 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();
Запуск звонка по телефону
Укажите номер телефона, полученный в ресурсе Служб коммуникации, который используется для запуска звонка:
Предупреждение
Номера телефонов должны быть предоставлены в международном формате стандарта 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/
. Должно появиться следующее веб-приложение:
Вы можете разместить звонок на реальный номер телефона, указав номер телефона в добавленном текстовом поле и нажав кнопку "Пуск телефонного звонка ".
Это важно
Службы коммуникации Azure поддерживает экстренные вызовы к номерам экстренного реагирования только в США, Пуэрто-Рико, Канаде, Дании, Соединенном Королевстве и Австралии.
Службы коммуникации Azure голосовых звонков (ТСОП) можно использовать для набора номера экстренной службы 911 в США, Пуэрто-Рико и Канаде, для набора номера 112 в Дании, для набора 000 в Австралии и для набора номеров экстренных служб 999 и 112 в Соединенном Королевстве. Службы коммуникации Azure в настоящее время не поддерживают вызов на те номера экстренного реагирования за пределами соответствующих стран или регионов, а также на номера экстренных служб в других странах или регионах.
Пример кода
Вы можете найти окончательный код для этого краткого руководства на GitHub.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Ресурс служб связи, находящийся в эксплуатации. Создайте ресурс служб коммуникации.
- Номер телефона, приобретенный в ресурсе службы связи или в службах связи Azure с настроенной прямой маршрутизацией. Если у вас есть бесплатная подписка, вы можете получить пробный номер телефона.
-
User Access Token
для активации клиента связи. Дополнительные сведения о том, как получитьUser Access Token
. - Выполните краткое руководство по началу работы по добавлению функций вызова в ваше приложение
Проверка предварительных условий
- Чтобы просмотреть номера телефонов, связанные с ресурсом Служб коммуникации, войдите на портал Azure, найдите ресурс Служб коммуникации и откройте вкладку "Номера телефонов " в области навигации слева.
Настройка
Добавьте функции телефонной сети общего пользования (ТСОП) в ваше приложение
PhoneNumber
Добавьте тип в приложение, изменив MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Запуск звонка по телефону
Укажите номер телефона, полученный в ресурсе Служб коммуникации. Этот номер используется в качестве идентификатора вызывающего объекта для запуска вызова:
Предупреждение
Обратите внимание, что номера телефонов должны быть предоставлены в международном формате стандарта 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);
}
Запуск приложения и вызов эхо-бота
Теперь вы можете запустить приложение с помощью кнопки Run App (Запустить приложение) на панели инструментов или нажав клавиши SHIFT+F10. Чтобы сделать звонок, укажите номер телефона в добавленном текстовом поле и нажмите кнопку CALL .
Предупреждение
Обратите внимание, что номера телефонов должны быть предоставлены в международном формате стандарта E.164. (например, +12223334444)
Это важно
Службы коммуникации Azure поддерживает экстренные вызовы к номерам экстренного реагирования только в США, Пуэрто-Рико, Канаде, Дании, Соединенном Королевстве и Австралии.
Службы коммуникации Azure голосовых звонков (ТСОП) можно использовать для набора номера экстренной службы 911 в США, Пуэрто-Рико и Канаде, для набора номера 112 в Дании, для набора 000 в Австралии и для набора номеров экстренных служб 999 и 112 в Соединенном Королевстве. Службы коммуникации Azure в настоящее время не поддерживают вызов на те номера экстренного реагирования за пределами соответствующих стран или регионов, а также на номера экстренных служб в других странах или регионах.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Ресурс служб связи, находящийся в эксплуатации. Создайте ресурс служб коммуникации.
- Номер телефона, приобретенный в ресурсе Служб коммуникации, или настроенная прямая маршрутизация служб коммуникации Azure. Если у вас есть бесплатная подписка, вы можете получить пробный номер телефона.
-
User Access Token
для активации клиента связи. Дополнительные сведения о том, как получитьUser Access Token
. - Выполните краткое руководство по началу работы по добавлению функций вызова в ваше приложение
Проверка предварительных условий
- Чтобы просмотреть номера телефонов, связанные с ресурсом Служб коммуникации, войдите на портал Azure, найдите ресурс Служб коммуникации и откройте вкладку "Номера телефонов " в области навигации слева.
- Вы можете создать и запустить приложение с помощью пакета SDK для вызовов Служб коммуникации Azure для iOS:
Настройка
Запуск звонка по телефону
Укажите номер телефона, полученный в ресурсе Служб коммуникации, который используется для запуска звонка:
Предупреждение
Обратите внимание, что номера телефонов должны быть предоставлены в международном формате стандарта 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, вы можете удалить ресурс или группу ресурсов. Удаление группы ресурсов также удаляет все другие ресурсы, связанные с ней. Узнайте больше об очистке ресурсов.
Дальнейшие шаги
Дополнительные сведения см. в следующих статьях:
- Узнайте больше о возможностях пакета SDK для вызовов
- Узнайте больше о принципе работы функции вызовов.
- Узнайте о возможностях поиска чисел