Поделиться через


Создайте ресурс комнаты

В этой статье описывается, как создать комнату в ресурсе Служб коммуникации Azure. Комната — это пространство, управляемое сервером, для известного, фиксированного, набора участников для совместной работы в течение предопределенной длительности. Дополнительные сведения и варианты использования см. в API комнат для структурированных собраний.

Объектная модель

В следующей таблице перечислены основные свойства объектов комнаты:

Имя Описание
roomId Уникальный идентификатор комнаты.
validFrom Самое раннее время, когда можно воспользоваться комнатой.
validUntil Последнее время, до которого можно использовать комнату.
pstnDialOutEnabled Включение или отключение возможности звонков на номер телефонной сети общего пользования (PSTN) из помещения.
participants Список участников в комнате. Указан как CommunicationUserIdentifier.
roleType Роль участника комнаты. Может иметь значение Presenter, Attendee, Consumer или Collaborator.

Предварительные требования

Установка

Добавление расширения

Добавьте расширение Службы коммуникации Azure для Azure CLI с помощью az extension команды.

az extension add --name communication

Вход в Azure CLI

Вам нужно войти в Azure CLI. Вы можете войти, выполнив az login команду из терминала и предоставив учетные данные.

Сохранение строки подключения в переменной среды

Вы можете настроить AZURE_COMMUNICATION_CONNECTION_STRING переменную среды для использования операциями ключей Azure CLI без необходимости --connection_string передачи строки подключения. Чтобы настроить переменную среды, откройте окно консоли и выберите операционную систему на следующих вкладках. Замените <connectionString> фактической строкой подключения.

setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"

После добавления переменной среды может потребоваться перезапустить все запущенные программы, которые должны считывать переменную среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Операции

Создание комнаты

Используйте команду rooms create, чтобы создать комнату.

az communication rooms create --presenter-participants "<participantId>" --consumer-participants "<participantId>" --attendee-participant "<participantId>" --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --connection-string "<connection-string>"
  • При необходимости можно <participantId> указать тип участника, такие как участник-докладчик, участник-потребитель или участник-слушатель. Если значение не указано, значение по умолчанию пусто.
  • Замените <connection-string> на строку подключения для Служб коммуникации Azure.
  • Можно <valid-from> указать метку времени по желанию, когда комната будет открыта для присоединения, в формате ISO8601, например 2022-07-14T10:21.
  • Необязательно используйте <valid-until> для указания временной метки, когда к комнате больше нельзя присоединиться, в формате ISO8601, например: 2022-07-14T10:21.
  • Используйте <pstn-dial-out-enabled> при необходимости, установив этот флаг ("True" или "False"), чтобы включить или отключить ПСТН для вызова из комнаты. По умолчанию этот флаг имеет значение False при создании комнаты.

Если строка подключения хранится в переменных среды, вам не нужно передавать их в команду.

az communication rooms create 

Включение возможности вызова через ОТС из комнаты

Можно включить исходящий вызов через ТСОП во время rooms create, определив параметр --pstn-dial-out-enabled как True. Эту возможность можно изменить во время q rooms update, путем указания параметра --pstn-dial-out-enabled.

az communication rooms create --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --connection-string "<connection-string>"
az communication rooms update --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Чтобы включить или отключить возможность звонков через ТСОП для комнаты, установите <pstn-dial-out-enabled> флаг (True или False).

Получить номера

Команда rooms get возвращает атрибуты существующей комнаты.

az communication rooms get --room "<roomId>" 
  • Замените <roomId> идентификатором комнаты.

Обновите временные рамки комнаты

Вы можете обновить метку времени комнаты. Перед вызовом room update команды убедитесь, что вы приобрели новую комнату на допустимый период времени.

az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Замените <valid-from> метку времени в формате ISO8601, например 2022-07-14T10:21, чтобы указать, когда комната открыта для присоединения. Следует использовать вместе с --valid-until.
  • Замените <valid-until> на метку времени в формате ISO8601, например 2022-07-14T10:21, чтобы указать, когда к комнате больше нельзя присоединиться. Следует использовать вместе с --valid-from.
  • Замените <pstn-dial-out-enabled> этот флаг ("True" или "False") для включения или отключения ТСОП (PSTN) для комнаты. Следует использовать вместе с --pstn-dial-out-enabled.
  • Замените <roomId> идентификатором комнаты.

Перечислите все активные комнаты

Команда rooms list возвращает все активные комнаты, принадлежащие ресурсу Службы коммуникации Azure.

az communication rooms list

Добавление новых участников или обновление существующих участников

При создании комнаты можно обновить комнату, добавив нового участника или обновив существующего участника. Перед вызовом room participant add-or-update команды убедитесь, что вы приобрели нового пользователя.

Используйте команду identity user create, чтобы создать нового участника, определяемого как participantId.

az communication identity user create

Добавьте пользователя в комнату в качестве участника.

az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
  • Замените <participantId> идентификатором участника. Если <participantId> не существует в комнате, участник добавляется в комнату в роли обычного участника. В противном случае роль участника обновляется до роли слушателя.
  • Замените <roomId> идентификатором комнаты.

Получите список участников в комнате

az communication rooms participant get --room "<roomId>"
  • Замените <roomId> идентификатором комнаты.

Удаление участника из комнаты

Вы можете удалить участника из комнаты с помощью rooms participant -remove.

az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
  • Замените <roomId> идентификатором комнаты.
  • Замените <participant1>, <participant2>, <participant3> на ваши идентификаторы пользователей, полученные ранее с помощью команды identity user create.

Удаление комнаты

Аналогично созданию комнаты, можно также удалить комнату.

Используйте room delete команду для удаления существующей комнаты.

az communication rooms delete --room "<roomId>"
  • Замените <roomId> идентификатором комнаты.

Комната — это пространство, управляемое сервером, для заранее определённой и фиксированной группы участников для совместной работы в течение заранее определённого времени. Дополнительные сведения см. в разделе API комнат для структурированных собраний.

Предварительные требования

Пример кода

Просмотрите и скачайте пример кода с GitHub по адресу быстрое начало по комнатам — .NET.

Настройка

Создание нового приложения C#

В окне консоли (cmd, PowerShell или Bash) выполните команду dotnet new, чтобы создать консольное приложение с именем RoomsQuickstart. Эта команда создает простой проект "Hello World" на языке C# с одним файлом исходного кода Program.cs.

dotnet new console -o RoomsQuickstart

Измените каталог на только что созданную папку приложения и выполните команду dotnet build, чтобы скомпилировать приложение.

cd RoomsQuickstart
dotnet build

Установка пакета

Установите клиентную библиотеку комнат коммуникации Azure для .NET с [NuGet][https://www.nuget.org/]:

dotnet add package Azure.Communication.Rooms

Используйте клиентскую библиотеку Azure Communication Rooms для .NET версии 1.1.0 и выше.

Настройка платформы приложения

Program.cs В файле добавьте следующий код, чтобы импортировать необходимые пространства имен и создать базовую структуру программы.


using System;
using Azure;
using Azure.Core;
using Azure.Communication.Rooms;

namespace RoomsQuickstart
{
    class Program
    {
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            Console.WriteLine("Azure Communication Services - Rooms Quickstart");

            // Quickstart code goes here
        }
    }
}

Инициализировать клиента комнаты

Создайте новый RoomsClient объект для создания новых rooms и управления их свойствами и жизненным циклом. Используйте строку подключения службы коммуникаций для проверки подлинности запроса. Дополнительные сведения о строках подключения см. на этой странице.


// Find your Communication Services resource in the Azure portal
var connectionString = "<connection_string>";
RoomsClient roomsClient = new RoomsClient(connectionString);

Создание комнаты

Настройка участников комнаты

Чтобы настроить, кто может присоединиться к комнате, необходимо иметь список удостоверений этих пользователей. Следуйте инструкциям по маркерам доступа, чтобы создать пользователей и выдать маркеры доступа. Кроме того, чтобы создать пользователей по запросу, их можно создать с помощью CommunicationIdentityClient. Комнаты служб связи Azure на данный момент поддерживают только участников типа CommunicationUserIdentifier, использование других типов CommunicationIdentity приводит к возникновению ошибки выполнения.

Чтобы использовать этот CommunicationIdentityClientпакет, установите следующий пакет:

dotnet add package Azure.Communication.Identity

Кроме того, импортируйте пространство имен пакета в верхней части Program.cs файла:

using Azure.Communication.Identity;

Теперь вы можете инициализировать CommunicationIdentityClient и использовать его для создания пользователей:

// Create identities for users who will join the room
CommunicationIdentityClient identityClient = new CommunicationIdentityClient(connectionString);
CommunicationUserIdentifier user1 = identityClient.CreateUser();
CommunicationUserIdentifier user2 = identityClient.CreateUser();

Затем создайте список участников комнаты, ссылаясь на этих пользователей:

List<RoomParticipant> participants = new List<RoomParticipant>()
{
    new RoomParticipant(user1) { Role = ParticipantRole.Presenter },
    new RoomParticipant(user2) // The default participant role is ParticipantRole.Attendee
};

Инициализируйте комнату

Создайте новую комнату с помощью определенного participants в предыдущем фрагменте кода:

// Create a room
DateTimeOffset validFrom = DateTimeOffset.UtcNow;
DateTimeOffset validUntil = validFrom.AddDays(1);
CancellationToken cancellationToken = new CancellationTokenSource().Token;

CommunicationRoom createdRoom = await roomsClient.CreateRoomAsync(validFrom, validUntil, participants, cancellationToken);

// CreateRoom or CreateRoomAsync methods can take CreateRoomOptions type as an input parameter.
bool pstnDialOutEnabled = false;
CreateRoomOptions createRoomOptions = new CreateRoomOptions()
{
    ValidFrom = validFrom,
    ValidUntil = validUntil,
    PstnDialOutEnabled = pstnDialOutEnabled,
    Participants = participants
};

createdRoom = await roomsClient.CreateRoomAsync(createRoomOptions, cancellationToken);
string roomId = createdRoom.Id;
Console.WriteLine("\nCreated room with id: " + roomId);

Так как комнаты являются серверными сущностями, следует отслеживать roomId и сохранять в выбранном вами хранилище. Вы можете использовать roomId чтобы просмотреть или обновить свойства объекта комнаты.

Включение возможности вызова через ОТС из комнаты

В каждой комнате по умолчанию отключена возможность исходящих звонков через ТСОП. Вы можете включить вызовы ТСОП для комнаты во время создания, задав pstnDialOutEnabled параметр в значение true. Эту возможность можно изменить для комнаты, отправив запрос на обновление для pstnDialOutEnabled параметра.

// Create a room
CancellationToken cancellationToken = new CancellationTokenSource().Token;

// CreateRoom or CreateRoomAsync methods to create a room with PSTN dial out capability
bool pstnDialOutEnabled = true;
CreateRoomOptions createRoomOptions = new CreateRoomOptions()
{
    PstnDialOutEnabled = pstnDialOutEnabled,
};

CommunicationRoom createdRoom = await roomsClient.CreateRoomAsync(createRoomOptions, cancellationToken);
Console.WriteLine("\nCreated a room with PSTN dial out enabled: " + createdRoom.PstnDialOutEnabled);

// UpdateRoom or UpdateRoomAsync methods can take UpdateRoomOptions to enable or disable PSTN dial out capability
pstnDialOutEnabled = false;
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
{
    PstnDialOutEnabled = pstnDialOutEnabled,
};

CommunicationRoom updatedRoom = await roomsClient.UpdateRoomAsync(roomId, updateRoomOptions, cancellationToken);
Console.WriteLine("\nUpdated a room with PSTN dial out enabled: " + updatedRoom.PstnDialOutEnabled);

Получение свойств существующей комнаты

Чтобы получить сведения о существующей комнате, обратитесь к roomId:


// Retrieve the room with corresponding ID
CommunicationRoom room = await roomsClient.GetRoomAsync(roomId);
Console.WriteLine("\nRetrieved room with id: " + room.Id);

Обновление времени существования комнаты

Вы можете изменить время существования комнаты, отправив запрос на обновление параметров ValidFrom и ValidUntil. Номер может быть действительным в течение не более шести месяцев.


// Update room lifetime
DateTimeOffset updatedValidFrom = DateTimeOffset.UtcNow;
DateTimeOffset updatedValidUntil = DateTimeOffset.UtcNow.AddDays(10);
CommunicationRoom updatedRoom = await roomsClient.UpdateRoomAsync(roomId, updatedValidFrom, updatedValidUntil, cancellationToken);

// UpdateRoom or UpdateRoomAsync methods can take UpdateRoomOptions type as an input parameter.
bool pstnDialOutEnabled = true;
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
{
    ValidFrom = validFrom,
    ValidUntil = validUntil,
    PstnDialOutEnabled = pstnDialOutEnabled,
};

updatedRoom = await roomsClient.UpdateRoomAsync(roomId, updateRoomOptions, cancellationToken);
Console.WriteLine("\nUpdated room with validFrom: " + updatedRoom.ValidFrom + ", validUntil: " + updatedRoom.ValidUntil + " and pstnDialOutEnabled: " + updatedRoom.PstnDialOutEnabled);

Перечислите все активные комнаты

Чтобы получить все активные комнаты, используйте метод GetRoomsAsync, предоставляемый клиентом.


// List all active rooms
AsyncPageable<CommunicationRoom> allRooms = roomsClient.GetRoomsAsync();
await foreach (CommunicationRoom currentRoom in allRooms)
{
    Console.WriteLine("\nFirst room id in all active rooms: " + currentRoom.Id);
    break;
}

Добавление новых участников или обновление существующих участников

Чтобы добавить новых участников в комнату, используйте метод AddParticipantsAsync, предоставляемый клиентом.


List<RoomParticipant> addOrUpdateParticipants = new List<RoomParticipant>();
// Update participant2 from Attendee to Consumer
RoomParticipant participant2 = new RoomParticipant(user2) { Role = ParticipantRole.Consumer };
// Add participant3
CommunicationUserIdentifier user3 = identityClient.CreateUser();
RoomParticipant participant3 = new RoomParticipant(user3) { Role = ParticipantRole.Collaborator };
addOrUpdateParticipants.Add(participant2);
addOrUpdateParticipants.Add(participant3);

Response addOrUpdateParticipantsResponse = await roomsClient.AddOrUpdateParticipantsAsync(roomId, addOrUpdateParticipants);
Console.WriteLine("\nAdded or updated participants to room");

При добавлении участников в комнату они получают возможность присоединяться к звонкам. Обновленные участники видят свои новые role в звонке.

Получение списка участников

Получите список участников для существующей комнаты, ссылаясь на следующую roomIdссылку:


// Get list of participants in room
AsyncPageable<RoomParticipant> existingParticipants = roomsClient.GetParticipantsAsync(roomId);
Console.WriteLine("\nRetrieved participants from room: ");
await foreach (RoomParticipant participant in existingParticipants)
{
    Console.WriteLine($"{participant.CommunicationIdentifier.ToString()},  {participant.Role.ToString()}");
}

Удаление участников

Чтобы удалить участника из комнаты и отменить его доступ, используйте метод RemoveParticipantsAsync.


// Remove user from room
List<CommunicationIdentifier> removeParticipants = new List<CommunicationIdentifier>();
removeParticipants.Add(user2);

Response removeParticipantsResponse = await roomsClient.RemoveParticipantsAsync(roomId, removeParticipants);
Console.WriteLine("\nRemoved participants from room");

Удалить комнату

Если вы хотите распустить существующую комнату, отправьте явный запрос на удаление. Все комнаты и связанные с ними ресурсы автоматически удаляются в конце срока их действия плюс льготный период.


// Deletes the specified room
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(roomId);
Console.WriteLine("\nDeleted room with id: " + roomId);

Выполнение кода

Чтобы запустить код, убедитесь, что вы находитесь в том же каталоге, что Program.cs и файл.


dotnet run

Ожидаемые выходные данные описывают каждое завершенное действие:


Azure Communication Services - Rooms Quickstart

Created a room with id: 99445276259151407

Retrieved room with id: 99445276259151407

Updated room with validFrom: 2023-05-11T22:11:46.784Z, validUntil: 2023-05-21T22:16:46.784Z and pstnDialOutEnabled: true

First room id in all active rooms: 99445276259151407

Added or updated participants to room

Retrieved participants from room:
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e901, Presenter
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-f00d-aa4b-0cf9-9c3a0d00543e, Consumer
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-f00d-aaf2-0cf9-9c3a0d00543f, Collaborator

Removed participants from room

Deleted room with id: 99445276259151407

Справочная документация

Ознакомьтесь с полным набором возможностей комнат в службе коммуникации Azure, используя справочник по пакету SDK для .NET или REST API.

Комната — это пространство, управляемое сервером, для заранее определённой и фиксированной группы участников для совместной работы в течение заранее определённого времени. Дополнительные сведения см. в разделе API комнат для структурированных собраний.

Предварительные требования

Пример кода

Пересмотрите и загрузите пример кода с GitHub в Службах коммуникации Azure — Комнаты — Java.

Настройка

Создание нового приложения Java

В окне консоли (cmd, PowerShell или Bash) выполните команду mvn, чтобы создать консольное приложение с именем rooms-quickstart. Эта команда создает простой проект Java Hello World с одним исходным файлом: App.java.

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Включите пакет

Необходимо использовать клиентскую библиотеку Azure Communication Rooms для Java версии 1.1.0 или более поздней.

Включите файл BOM

Добавьте azure-sdk-bom в свой проект, чтобы использовать общедоступную (GA) версию библиотеки. В следующем фрагменте кода замените заполнитель {bom_version_to_target} номером версии.

Дополнительные сведения о спецификации материалов (BOM) см. в файле readme BOM Azure SDK.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Затем включите прямую зависимость в раздел зависимостей без тега версии.

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-rooms</artifactId>
  </dependency>
</dependencies>

Включите прямую зависимость

Если вы хотите взять зависимость от определенной версии библиотеки, которая отсутствует в BOM, добавьте прямую зависимость в проект следующим образом.

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-communication-rooms</artifactId>
  <version>1.0.0-beta.1</version>
</dependency>

Настройка платформы приложений

Перейдите в каталог /src/main/java/com/communication/quickstart и откройте файл App.java. Добавьте следующий код:


package com.communication.rooms.quickstart;

import com.azure.communication.common.*;
import com.azure.communication.identity.*;
import com.azure.communication.identity.models.*;
import com.azure.core.credential.*;
import com.azure.communication.rooms.*;

import java.io.IOException;
import java.time.*;
import java.util.*;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Rooms Quickstart");
        // Quickstart code goes here
    }
}

Инициализировать клиента комнаты

Создайте новый RoomsClient объект, который необходим для создания новых комнат и управления их свойствами и жизненным циклом. Используйте строку подключения службы коммуникаций для проверки подлинности запроса. Дополнительные сведения о строках подключения см. в разделе "Создание ресурса связи".


// Initialize the rooms client
// Find your Communication Services resource in the Azure portal
String connectionString = "<connection string>";
RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();

Создание комнаты

Настройка участников комнаты

Чтобы настроить, кто может присоединиться к комнате, необходимо иметь список удостоверений этих пользователей. Следуйте инструкциям в токенах доступа для создания пользователей и выдачи токенов доступа. Кроме того, если вы хотите создать пользователей по запросу, их можно создать с помощью CommunicationIdentityClient. В Комнатах Служб Коммуникации Azure в настоящее время поддерживается только участник комнаты типа CommunicationUserIdentifier. Использование других типов CommunicationIdentity приводит к ошибке выполнения.

Чтобы использовать CommunicationIdentityClient, добавьте следующий пакет:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-identity</artifactId>
</dependency>

Импортируйте пакет сверху на App.java файл:

import com.azure.communication.identity.CommunicationIdentityClient;
import com.azure.communication.identity.CommunicationIdentityClientBuilder;

Теперь инициализировать CommunicationIdentityClient и использовать его для создания пользователей:

CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
    .connectionString(connectionString)
    .buildClient();

CommunicationUserIdentifier user1 = communicationClient.createUser();
CommunicationUserIdentifier user2 = communicationClient.createUser();
CommunicationUserIdentifier user3 = communicationClient.createUser();

Затем создайте список участников комнаты, ссылаясь на этих пользователей:

//The default participant role is ParticipantRole.Attendee
RoomParticipant participant_1 = new RoomParticipant(user1);
RoomParticipant participant_2 = new RoomParticipant(user2);
RoomParticipant participant_3 = new RoomParticipant(user3);

List<RoomParticipant> roomParticipants = new ArrayList<RoomParticipant>();

roomParticipants.add(participant_1);
roomParticipants.add(participant_2.setRole(ParticipantRole.CONSUMER));

Инициализируйте комнату

Создайте новую комнату с помощью определенного roomParticipants в предыдущем фрагменте кода:

OffsetDateTime validFrom = OffsetDateTime.now();
OffsetDateTime validUntil = validFrom.plusDays(30);
boolean pstnDialOutEnabled = false;

CreateRoomOptions createRoomOptions = new CreateRoomOptions()
    .setValidFrom(validFrom)
    .setValidUntil(validUntil)
    .setPstnDialOutEnabled(pstnDialOutEnabled)
    .setParticipants(roomParticipants);

CommunicationRoom roomCreated = roomsClient.createRoom(createRoomOptions);

System.out.println("\nCreated a room with id: " + roomCreated.getRoomId());

Комнаты — это серверные сущности, поэтому следует отслеживать и сохранять roomId в выбранном хранилище. Вы можете использовать roomId чтобы просмотреть или обновить свойства объекта комнаты.

Включение возможности вызова через ОТС из комнаты

В каждой комнате по умолчанию отключена возможность исходящих звонков через ТСОП. При создании комнаты можно включить возможность дозвона через ТСОП, установив параметр pstnDialOutEnabled в значение true. Эту возможность можно изменить для комнаты, отправив запрос на обновление для pstnDialOutEnabled параметра.

boolean pstnDialOutEnabled = true;
// Create a room with PSTN dial out capability
CreateRoomOptions createRoomOptions = new CreateRoomOptions()
    .setPstnDialOutEnabled(pstnDialOutEnabled)

CommunicationRoom roomCreated = roomsClient.createRoom(createRoomOptions);
System.out.println("\nCreated a room with PSTN dial out enabled: " + roomCreated.getPstnDialOutEnabled());

// Update a room to enable or disable PSTN dial out capability
pstnDialOutEnabled = false;
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
    .setPstnDialOutEnabled(pstnDialOutEnabled);

CommunicationRoom roomUpdated = roomsClient.updateRoom(roomId, updateRoomOptions);
System.out.println("\nUpdated a room with PSTN dial out enabled: " + roomUpdated.getPstnDialOutEnabled());

Получение свойств существующей комнаты

Получите сведения о существующей комнате, ссылаясь на roomId:


// Retrieve the room with corresponding ID
CommunicationRoom roomResult = roomsClient.getRoom(roomId);

System.out.println("Retrieved room with id: " + roomResult.getRoomId());

Обновление времени существования комнаты

Вы можете изменить время существования комнаты, отправив запрос на обновление параметров ValidFrom и ValidUntil. Номер может быть действительным в течение не более шести месяцев.


OffsetDateTime validFrom = OffsetDateTime.now().plusDays(1);
OffsetDateTime validUntil = validFrom.plusDays(1);
boolean pstnDialOutEnabled = true;

UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
    .setValidFrom(validFrom)
    .setValidUntil(validUntil)
    .setPstnDialOutEnabled(pstnDialOutEnabled);

CommunicationRoom roomResult = roomsClient.updateRoom(roomId, updateRoomOptions);

System.out.println("Updated room with validFrom: " + roomResult.getValidFrom() + ", validUntil: " + roomResult.getValidUntil() + " and pstnDialOutEnabled: " + roomResult.getPstnDialOutEnabled());

Добавление или обновление участников

Чтобы добавить или обновить участников в комнату, используйте addOrUpdateParticipants метод, предоставляемый клиентом.


List<RoomParticipant> participantsToAddAOrUpdate = new ArrayList<>();

// Updating current participant
participantsToAddAOrUpdate.add(participant_1.setRole(ParticipantRole.PRESENTER));

// Adding new participant
 participantsToAddAOrUpdate.add(participant_3.setRole(ParticipantRole.COLLABORATOR));

AddOrUpdateParticipantsResult addOrUpdateParticipantsResult = roomsClient.addOrUpdateParticipants(roomId, participantsToAddAOrUpdate);

System.out.println("Participant(s) added/updated");

После того как вы добавите участников в комнату, они получат возможность присоединяться к звонкам.

Получение списка участников

Получите список участников для существующей комнаты, ссылаясь на следующую roomIdссылку:


// Get list of participants
try {

PagedIterable<RoomParticipant> participants = roomsClient.listParticipants(roomId);

System.out.println("Participants:/n");

for (RoomParticipant participant : participants) {
    System.out.println(participant.getCommunicationIdentifier().getRawId() + " (" + participant.getRole() + ")");
   }
} catch (Exception ex) {
    System.out.println(ex);
}

Удаление участников

Чтобы удалить участника из комнаты и отменить его доступ, используйте метод removeParticipants.


// Remove a participant from the room
List<CommunicationIdentifier> participantsToRemove = new ArrayList<>();

participantsToRemove.add(participant_3.getCommunicationIdentifier());

RemoveParticipantsResult removeParticipantsResult = roomsClient.removeParticipants(roomId,participantsToRemove);

System.out.println("Participant(s) removed");

Перечислите все активные комнаты

Получите все активные комнаты в ресурсе Служб коммуникации Azure.

try {
    Iterable<PagedResponse<CommunicationRoom>> roomPages = roomsClient.listRooms().iterableByPage();

    System.out.println("Listing all the rooms IDs in the first two pages of the list of rooms:");

    int count = 0;
    for (PagedResponse<CommunicationRoom> page : roomPages) {
        for (CommunicationRoom room : page.getElements()) {
            System.out.println("\n" + room.getRoomId());
        }

        count++;
        if (count >= 2) {
            break;
        }
    }
} catch (Exception ex) {
    System.out.println(ex);
}

Удалить комнату

Чтобы распустить существующую комнату, отправьте явный запрос на удаление. Все комнаты и связанные с ними ресурсы автоматически удаляются в конце срока их действия плюс льготный период.


// Deletes the specified room
roomsClient.deleteRoomWithResponse(roomId, Context.NONE);
System.out.println("\nDeleted the room with ID: " + roomId);

Выполнение кода

Чтобы запустить код, перейдите в каталог, содержащий pom.xml файл и скомпилируйте программу.

mvn compile

Затем создайте пакет:

mvn package

Выполните приложение.

mvn exec:java -D"exec.mainClass"="com.communication.rooms.quickstart" -D"exec.cleanupDaemonThreads"="false"

Ожидаемые выходные данные описывают каждое завершенное действие:

Azure Communication Services - Rooms Quickstart

Created a room with id:  99445276259151407

Retrieved room with id:  99445276259151407

Updated room with validFrom: 2023-05-11T22:11:46.784Z, validUntil: 2023-05-11T22:16:46.784Z and pstnDialOutEnabled: true

Participant(s) added/updated

Participants:
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e901 (Presenter)
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e902 (Consumer)
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e903 (Collaborator)

Participant(s) removed

Listing all the rooms IDs in the first two pages of the list of rooms: 
99445276259151407
99445276259151408
99445276259151409

Deleted the room with ID:  99445276259151407

Справочные статьи

Ознакомьтесь с полным набором возможностей комнат Службы коммуникации Azure из справочника по пакету SDK для Java или справочника по REST API.

Комната — это пространство, управляемое сервером, для заранее определённой и фиксированной группы участников для совместной работы в течение заранее определённого времени. Дополнительные сведения см. в разделе API комнат для структурированных собраний.

Предварительные требования

Пример кода

Просмотрите и скачайте пример кода с GitHub на кратком руководстве по комнатам — Python.

Настройка

Создание приложения Python

В окне терминала или консоли создайте новую папку для приложения и перейдите к ней.

mkdir acs-rooms-quickstart
cd acs-rooms-quickstart

Установка пакета

Необходимо использовать клиентскую библиотеку Azure Communication Rooms для Python версия 1.1.0 или более поздней.

В командной строке консоли перейдите в каталог, содержащий файл rooms.py, а затем выполните следующую команду:

pip install azure-communication-rooms

Настройка платформы приложения

Создайте новый файл с именем rooms-quickstart.py и добавьте базовую структуру программы.

import os
from datetime import datetime, timedelta
from azure.core.exceptions import HttpResponseError
from azure.communication.rooms import (
    RoomsClient,
    RoomParticipant,
    ParticipantRole
)

class RoomsQuickstart(object):
    print("Azure Communication Services - Rooms Quickstart")
    #room method implementations goes here

if __name__ == '__main__':
    rooms = RoomsQuickstart()

Инициализировать клиента комнаты

Создайте новый RoomsClient объект, который необходим для создания новых комнат и управления их свойствами и жизненным циклом. Используйте строку подключения службы коммуникаций для проверки подлинности запроса. Дополнительные сведения о строках подключения см. в разделе "Создание ресурса связи".

#Find your Communication Services resource in the Azure portal
connection_string = '<connection_string>'
rooms_client = RoomsClient.from_connection_string(connection_string)

Создание комнаты

Настройка участников комнаты

Чтобы настроить, кто может присоединиться к комнате, вам потребуется список удостоверений этих пользователей. Следуйте инструкциям в токенах доступа для создания пользователей и выдачи токенов доступа. Кроме того, чтобы создать пользователей по запросу, их можно создать с помощью CommunicationIdentityClient. Комнаты Служб коммуникации Azure в настоящее время поддерживают только участника комнаты типа CommunicationUserIdentifier. Использование других типов CommunicationIdentity вызывает ошибку времени выполнения.

Чтобы использовать этот CommunicationIdentityClientпакет, установите следующий пакет:

pip install azure-communication-identity

Кроме того, импортируйте пространство имен пакета в верхней части rooms-quickstart.py файла:

from azure.communication.identity import (
    CommunicationIdentityClient
)

Теперь инициализируйте CommunicationIdentityClient и используйте его для создания пользователей.

# Create identities for users who will join the room
identity_client = CommunicationIdentityClient.from_connection_string(connection_string)
user1 = identity_client.create_user()
user2 = identity_client.create_user()
user3 = identity_client.create_user()

Затем создайте список участников комнаты, ссылаясь на этих пользователей:

participant_1 = RoomParticipant(communication_identifier=user1, role=ParticipantRole.PRESENTER)
participant_2 = RoomParticipant(communication_identifier=user2, role=ParticipantRole.CONSUMER)
participants = [participant_1, participant_2]

Инициализируйте комнату

Создайте новую комнату с помощью определенного participants в предыдущем фрагменте кода:

# Create a room
valid_from = datetime.now()
valid_until = valid_from + timedelta(weeks=4)
pstn_dial_out_enabled = False

try:
    create_room = rooms_client.create_room(
        valid_from=valid_from,
        valid_until=valid_until,
        pstn_dial_out_enabled=pstn_dial_out_enabled,
        participants=participants
    )
    print("\nCreated a room with id: " + create_room.id)
except HttpResponseError as ex:
    print(ex)

Так как комнаты являются серверными сущностями, следует отслеживать room.id и сохранять в выбранном вами хранилище. Вы можете использовать id чтобы просмотреть или обновить свойства объекта комнаты.

Включение возможности вызова через ОТС из комнаты

В каждой комнате по умолчанию отключена возможность исходящих звонков через ТСОП. Вы можете включить вызовы ТСОП для комнаты во время создания, задав pstn_dial_out_enabled параметр в значение true. Эту возможность можно изменить для комнаты, отправив запрос на обновление для pstn_dial_out_enabled параметра.

# Create a room with PSTN dial out capability
pstn_dial_out_enabled = True
create_room = rooms_client.create_room(pstn_dial_out_enabled=pstn_dial_out_enabled)
print("\nCreated room with pstn_dial_out_enabled: " + updated_room.pstn_dial_out_enabled)

# Update a room to enable or disable PSTN dial out capability
pstn_dial_out_enabled= False
updated_room = rooms_client.update_room(room_id=room_id, pstn_dial_out_enabled=pstn_dial_out_enabled)
print("\nUpdated room with pstn_dial_out_enabled: " + updated_room.pstn_dial_out_enabled)

Получение свойств существующей комнаты

Извлеките сведения о существующем room, ссылаясь на id.

# Retrieves the room with corresponding ID
room_id = create_room.id
try:
    get_room = rooms_client.get_room(room_id=room_id)
    print("\nRetrieved room with id: ", get_room.id)
except HttpResponseError as ex:
    print(ex)

Обновление времени существования комнаты

Вы можете изменить время существования комнаты, отправив запрос на обновление параметров valid_from и valid_until. Номер может быть действительным в течение не более шести месяцев.

# Update the lifetime of a room
valid_from =  datetime.now()
valid_until = valid_from + timedelta(weeks=7)
pstn_dial_out_enabled=True

try:
    updated_room = rooms_client.update_room(room_id=room_id, valid_from=valid_from, valid_until=valid_until, pstn_dial_out_enabled=pstn_dial_out_enabled)
     print("\nUpdated room with validFrom: " + updated_room.valid_from + ", validUntil: " + updated_room.valid_until + " and pstn_dial_out_enabled: " + updated_room.pstn_dial_out_enabled)
except HttpResponseError as ex:
    print(ex)

Перечислите все активные комнаты

Чтобы получить все активные комнаты, созданные под вашим ресурсом, используйте метод, предоставляемый клиенту.

# List all active rooms
try:
    rooms = rooms_client.list_rooms()
    count = 0
    for room in rooms:
        if count == 1:
            break
        print("\nPrinting the first room in list"
            "\nRoom Id: " + room.id +
            "\nCreated date time: " + str(room.created_at) +
            "\nValid From: " + str(room.valid_from) + 
            "\nValid Until: " + str(room.valid_until) +
            "\nPSTN Dial-Out Enabled: " + str(room.pstn_dial_out_enabled))
        count += 1
except HttpResponseError as ex:
    print(ex)

Добавление или обновление участников

Чтобы добавить новых участников или обновить существующих участников в комнате, используйте add_or_update_participants метод, предоставляемый клиентом.

# Add or update participants in a room
try:
    # Update existing user2 from consumer to attendee
    participants = []
    participants.append(RoomParticipant(communication_identifier=user2, role=ParticipantRole.ATTENDEE))

    # Add new participant user3
    participants.append(RoomParticipant(communication_identifier=user3, role=ParticipantRole.COLLABORATOR))
    rooms_client.add_or_update_participants(room_id=room_id, participants=participants)
    print("\nAdd or update participants in room")

except HttpResponseError as ex:
    print('Error in adding or updating participants to room.', ex)

При добавлении участников в комнату они получают возможность присоединяться к звонкам.

Перечислите участников в комнате

Получите список участников для существующей комнаты, ссылаясь на следующую room_idссылку:

# Get list of participants in room
try:
    participants = rooms_client.list_participants(room_id)
    print('\nParticipants in Room Id :', room_id)
    for p in participants:
        print(p.communication_identifier.properties['id'], p.role)
except HttpResponseError as ex:
    print(ex)

Удаление участников

Чтобы удалить участника из комнаты и отменить его доступ, используйте метод remove_participants.

# Remove Participants
try:
    participants = [user2]
    rooms_client.remove_participants(room_id=room_id, participants=participants)
    print("\nRemoved participants from room")

except HttpResponseError as ex:
    print(ex)

Удалить комнату

Чтобы распустить существующую комнату, отправьте явный запрос на удаление. Все комнаты и связанные ресурсы автоматически удаляются по истечении их срока действия и льготного периода.

# Delete Room

rooms_client.delete_room(room_id=room_id)
print("\nDeleted room with id: " + room_id)

Выполнение кода

Чтобы запустить код, убедитесь, что вы находитесь в одном каталоге с файлом rooms-quickstart.py.

python rooms-quickstart.py

Ожидаемые выходные данные описывают каждое завершенное действие:

Azure Communication Services - Rooms Quickstart

Created a room with id:  99445276259151407

Retrieved room with id:  99445276259151407

Updated room with validFrom: 2023-05-03T00:00:00+00:00, validUntil: 2023-06-23T00:00:00+00:00 and pstn_dial_out_enabled: True

Printing the first room in list
Room Id: 99445276259151407
Created date time: 2023-05-03T00:00:00+00:00
Valid From: 2023-05-03T00:00:00+00:00
Valid Until: 2023-06-23T00:00:00+00:00
PSTN Dial-Out Enabled: True

Add or update participants in room

Participants in Room Id : 99445276259151407
8:acs:42a0ff0c-356d-4487-a288-ad0aad95d504_00000018-ef00-6042-a166-563a0d0051c1 Presenter
8:acs:42a0ff0c-356d-4487-a288-ad0aad95d504_00000018-ef00-6136-a166-563a0d0051c2 Consumer
8:acs:42a0ff0c-356d-4487-a288-ad0aad95d504_00000018-ef00-61fd-a166-563a0d0051c3 Collaborator

Removed participants from room

Deleted room with id: 99445276259151407

Справочная документация

Ознакомьтесь с полным набором возможностей комнат Azure Communication Services, обратившись к справочнику по пакету SDK для Python или справочнику по REST API.

Комната — это пространство, управляемое сервером, для заранее определённой и фиксированной группы участников для совместной работы в течение заранее определённого времени. Дополнительные сведения см. в разделе API комнат для структурированных собраний.

Предварительные требования

Пример кода

Просмотрите и скачайте пример кода с GitHub в кратком руководстве по Комнатам — JavaScript.

Настройка

Создание веб-приложения

В окне терминала или консоли создайте новую папку для приложения и перейдите к ней.

mkdir acs-rooms-quickstart && cd acs-rooms-quickstart

Выполните команду npm init , чтобы создать файл package.json с параметрами по умолчанию.

npm init -y

Создайте новый файл index.js , в котором добавляется код для этого примера.

Установка пакетов

Необходимо использовать клиентскую библиотеку Комнат коммуникации Azure для JavaScript версии 1.1.0 или более поздней.

npm install Используйте команду, чтобы установить следующие пакеты SDK служб коммуникации для JavaScript.

npm install @azure/communication-rooms --save

Настройка платформы приложения

Добавьте в файл index.js указанный ниже код. Добавьте код для этого примера в функцию main .

const { RoomsClient } = require('@azure/communication-rooms');

const main = async () => {
  console.log("Azure Communication Services - Rooms Quickstart")

  // Quickstart code goes here

};

main().catch((error) => {
  console.log("Encountered an error");
  console.log(error);
})

Инициализировать клиента комнаты

Создайте новый RoomsClient объект, который необходим для создания новых комнат и управления их свойствами и жизненным циклом. Используйте строку подключения службы коммуникаций для проверки подлинности запроса. Дополнительные сведения о строках подключения см. в разделе "Создание ресурса связи".

Добавьте следующий код в index.js, находящийся внутри функции main.

const connectionString =
    process.env["COMMUNICATION_CONNECTION_STRING"] ||
    "endpoint=https://<resource-name>.communication.azure.com/;<access-key>";

// create RoomsClient
const roomsClient = new RoomsClient(connectionString);

Создание комнаты

Настройка участников комнаты

Чтобы настроить, кто может присоединиться к комнате, необходимо иметь список удостоверений этих пользователей. Следуйте инструкциям в маркерах Доступа для создания пользователей и выдачи маркеров доступа. Кроме того, чтобы создать пользователей по запросу, их можно создать с помощью CommunicationIdentityClient. Комнаты Служб коммуникации Azure в настоящее время поддерживают только участника комнаты типа CommunicationUserIdentifier. Использование других типов CommunicationIdentity вызовет ошибку во время выполнения.

Чтобы использовать этот CommunicationIdentityClientпакет, установите следующий пакет npm:

npm install @azure/communication-identity --save

Добавьте следующий обязательный пакет в верхней части index.js файла:

const { CommunicationIdentityClient } = require('@azure/communication-identity');

Теперь инициализируйте CommunicationIdentityClient и используйте его для создания пользователей.

// create identities for users
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
const user2 = await identityClient.createUserAndToken(["voip"]);

Затем создайте список участников комнаты, ссылаясь на этих пользователей:

const participants = [
  {
      id: user1.user,
      role: "Presenter",
  },
  {
    id: user2.user,
    role: "Consumer",
  }
]

Инициализируйте комнату

Создайте новую комнату с помощью определенного participants в предыдущем фрагменте кода:

// Create a room
var validFrom = new Date(Date.now());
var validUntil = new Date(validFrom.getTime() + 60 * 60 * 1000);
var pstnDialOutEnabled = false;

const createRoomOptions = {
  validFrom,
  validUntil,
  pstnDialOutEnabled,
  participants
};

const createRoom = await roomsClient.createRoom(createRoomOptions);
const roomId = createRoom.id;
console.log("\nCreated a room with id: ", roomId);

Так как комнаты являются серверными сущностями, следует отслеживать roomId и сохранять в выбранном вами хранилище. Вы можете обратиться к roomId, чтобы просмотреть или обновить свойства объекта room.

Включение возможности вызова через ОТС из комнаты

По умолчанию возможность исходящего набора ТСОП для каждого room отключена. Вы можете включить вызовы ТСОП для комнаты во время создания, задав pstnDialOutEnabled параметр в значение true. Вы также можете изменить эту возможность для room, отправив запрос на обновление параметра pstnDialOutEnabled.

// Create a room with PSTN dial out capability
var pstnDialOutEnabled = true;
const createRoomOptions = {
  pstnDialOutEnabled,
};

const createRoom = await roomsClient.createRoom(createRoomOptions);
console.log("\nCreated a room with PSTN dial out enabled: ", createRoom.pstnDialOutEnabled);

// Update a room to enable or disable PSTN dial out capability
pstnDialOutEnabled = false;
const updateRoomOptions = {
  pstnDialOutEnabled,
};

const updateRoom = await roomsClient.updateRoom(roomId, updateRoomOptions);
console.log("\nUpdated a room with PSTN dial out enabled: ", updateRoom.pstnDialOutEnabled);

Получение свойств существующей комнаты

Получите сведения о существующей комнате, ссылаясь на roomId:

// Retrieve the room with corresponding ID
const getRoom = await roomsClient.getRoom(roomId);
console.log("\nRetrieved room with id: ", getRoom.id);

Обновление времени существования комнаты

Вы можете изменить время существования комнаты, отправив запрос на обновление параметров validFrom и validUntil. Номер может быть действительным в течение не более шести месяцев.

// Update room lifetime
validFrom.setTime(validUntil.getTime());
validUntil.setTime(validFrom.getTime() + 5 * 60 * 1000);
pstnDialOutEnabled = true;
// request payload to update a room
const updateRoomOptions = {
  validFrom,
  validUntil,
  pstnDialOutEnabled,
};

const updateRoom = await roomsClient.updateRoom(roomId, updateRoomOptions);
console.log("\nUpdated room with validFrom: ", updateRoom.validFrom, ", validUntil: ", updateRoom.validUntil, " and pstnDialOutEnabled: ", updateRoom.pstnDialOutEnabled);

Получение списка номеров

Получите список комнат с помощью listRooms метода:

const roomsList = await roomsClient.listRooms();
console.log("\nRetrieved list of rooms; printing first room:");
for await (const currentRoom of roomsList) {
  // access room data here
  console.log(currentRoom);
  break;
}

Добавление или обновление участников

Чтобы добавить новых участников в комнату, используйте метод addOrUpdateParticipants, предоставляемый клиентом. Этот метод также обновляет участника, если они уже существуют в комнате.

// Add and update participants

const user3 = await identityClient.createUserAndToken(["voip"]);

// request payload to add and update participants
const addOUpdateParticipantsList = [
  {
      id: user1.user,
      role: "Presenter",
  },
  {
    id: user3.user,
    role: "Collaborator",
  }
]

// add user3 to the room and update user1 to Presenter role
await roomsClient.addOrUpdateParticipants(roomId, addOUpdateParticipantsList);
console.log("\nAdded and updated participants in the room");

После того как вы добавите участников в комнату, они получат возможность присоединяться к звонкам.

Получение списка участников

Получите список участников для существующей комнаты, ссылаясь на следующую roomIdссылку:

const participantsList = await roomsClient.listParticipants(roomId);
console.log("\nRetrieved participants for room:");
for await (const participant of participantsList) {
  // access participant data here
  console.log(participant);
}

Удаление участников

Чтобы удалить участника из комнаты и отменить его доступ, используйте метод removeParticipants.

// Remove both users from the room
const removeParticipantsList = [user1.user, user2.user]

// remove both users from the room with the request payload
await roomsClient.removeParticipants(roomId, removeParticipantsList);
console.log("\nRemoved participants from room");

Удалить комнату

Если вы хотите распустить существующую комнату, вы можете отправить явный запрос на удаление. Все комнаты и связанные с ними ресурсы автоматически удаляются в конце срока их действия плюс льготный период.

// Deletes the specified room
await roomsClient.deleteRoom(roomId);
console.log("\nDeleted room with id: ", roomId)

Выполнение кода

Чтобы запустить код, убедитесь, что вы находитесь в том же каталоге, что и ваш файл index.js.

node index.js

Ожидаемые выходные данные описывают каждое завершенное действие:

Azure Communication Services - Rooms QuickStart

Created a room with id:  99445276259151407

Retrieved room with id:  99445276259151407

Updated room with validFrom:  2023-05-11T22:11:46.784Z, validUntil:  2023-05-11T22:16:46.784Z and pstnDialOutEnabled: true

Retrieved list of rooms; printing first room:

{
  id: "99445276259151407",
  createdAt: "2023-05-11T22:11:50.784Z",
  validFrom: "2023-05-11T22:11:46.784Z",
  validUntil: "2023-05-11T22:16:46.784Z"
}

Added and updated participants in the room

Retrieved participants for room:
{
  id: {
    kind: 'communicationUser',
    communicationUserId: '8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e901'
  },
  role: 'Presenter'
}
{
  id: {
    kind: 'communicationUser',
    communicationUserId: '8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7ccc-35f3-343a0d00e902'
  },
  role: 'Consumer'
}
{
  id: {
    kind: 'communicationUser',
    communicationUserId: '8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7ccc-35f3-343a0d00e903'
  },
  role: 'Collaborator'
}

Removed participants from room

Deleted room with id:  99445276259151407

Справочная документация

Ознакомьтесь с полным набором возможностей комнат в Azure Communication Services, используя справочник по JavaScript SDK или REST API.

Следующие шаги

Вы можете узнать, как присоединиться к телефону после создания и настройки комнаты.

В этой статье описано, как:

  • Создайте новую комнату
  • Узнать свойства комнаты
  • Обновление свойств комнаты
  • Удаление комнаты