Compartir a través de


Inicio rápido: Creación y administración de un recurso de sala

Este inicio rápido le ayudará a empezar a trabajar con salas de Azure Communication Services. Un objeto room es un espacio de comunicación administrado por el servidor donde un conjunto conocido y fijo de participantes pueden colaborar durante un período determinado previamente. La documentación conceptual de los centros de reunión incluye más detalles y casos de uso para rooms.

Modelo de objetos

En la siguiente tabla se enumeran las propiedades principales de los objetos room:

Nombre Descripción
roomId Identificador único de room.
validFrom Hora más temprana a la que se puede usar un objeto room.
validUntil Hora más reciente a la que se puede usar un objeto room.
pstnDialOutEnabled Habilite o deshabilite el marcado a un número RTC en una sala.
participants Lista de participantes de una room. Especificado como un CommunicationUserIdentifier.
roleType Rol de un participante de la sala. Puede ser Presenter, Attendee o Consumer.

Requisitos previos

Instalación

Adición de la extensión

Agregue la extensión Azure Communication Services para la CLI de Azure mediante el comando az extension.

az extension add --name communication

Inicio de sesión en la CLI de Azure

Deberá iniciar sesión en la CLI de Azure. Puede iniciar sesión ejecutando el comando az login desde el terminal y proporcionando sus credenciales.

Almacenamiento de la cadena de conexión en una variable de entorno

Puede configurar la variable de entorno AZURE_COMMUNICATION_CONNECTION_STRING para usar las operaciones de claves de la CLI de Azure sin tener que usar --connection_string para pasar la cadena de conexión. Para configurar una variable de entorno, abra una ventana de consola y seleccione el sistema operativo en las pestañas siguientes. Reemplace <connectionString> por la cadena de conexión real.

setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"

Después de agregar la variable de entorno, es posible que tenga que reiniciar los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de la consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Operations

Creación de una sala

Utilice el comando rooms create para crear una sala.

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>"
  • Opcionalmente, use <participantId> para especificar el tipo de participante como participante moderador, participante consumidor o participante asistente. Si no se especifica un valor, el valor predeterminado es vacío.
  • Reemplace <connection-string> por la cadena de conexión de Azure Communication Services.
  • Opcionalmente, use <valid-from> para especificar la marca de tiempo a la que se ha abierto la sala para unirse, en formato ISO8601; por ejemplo: 2022-07-14T10:21.
  • Opcionalmente, use <valid-until> para especificar la marca de tiempo a la que ya no es posible unirse a la sala, en formato ISO8601; por ejemplo: 2022-07-14T10:21.
  • Use <pstn-dial-out-enabled> opcionalmente mediante el establecimiento de esta marca ("True" o "False") para habilitar o deshabilitar el marcado RTC para una sala. De forma predeterminada, esta marca se establece en "False" al crear una sala.

Si ha almacenado la cadena de conexión en variables de entorno como se indicó anteriormente, no tendrá que pasarla al comando.

az communication rooms create 

Habilitación de la funcionalidad de marcado RTC para una sala

El marcado RTC se puede habilitar durante rooms create mediante la definición del parámetro --pstn-dial-out-enabled como "True". Esta funcionalidad también se puede modificar durante rooms update especificando el parámetro --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>"
  • Para habilitar o deshabilitar el marcado RTC para una sala, establezca la marca <pstn-dial-out-enabled> ("True" o "False").

Obtención de las salas

El comando rooms get devuelve los atributos de una sala existente.

az communication rooms get --room "<roomId>" 
  • Reemplace <roomId> por el identificador de la sala.

Actualización del período de tiempo de una sala

Puede actualizar la marca de tiempo de una sala. Antes de llamar al comando room update, asegúrese de que ha adquirido una nueva sala con un período de tiempo válido.

az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Reemplace <valid-from> por la marca de tiempo en formato ISO8601, por ejemplo: 2022-07-14T10:21, para especificar cuándo está abierta la sala para unirse. Se debe usar junto con --valid-until.
  • Reemplace <valid-until> por la marca de tiempo en formato ISO8601, por ejemplo: 2022-07-14T10:21, para especificar cuándo ya no es posible unirse a la sala. Se debe usar junto con --valid-from.
  • Reemplace <pstn-dial-out-enabled> y establezca esta marca ("True" o "False") para habilitar o deshabilitar el marcado RTC para una sala. Se debe usar junto con --pstn-dial-out-enabled.
  • Reemplace <roomId> por el identificador de la sala.

Enumerar todas las salas activas

El comando rooms list devuelve todas las salas activas que pertenecen al recurso de Azure Communication Services.

az communication rooms list

Agregar nuevos participantes o actualizar los participantes existentes

Al crear una sala, puede actualizar la sala agregando un nuevo participante o actualizando un participante existente en ella. Antes de llamar al comando room participant add-or-update, asegúrese de que ha adquirido un nuevo usuario.

Use el comando identity user create para crear un nuevo participante, identificado por participantId.

az communication identity user create

Agregue un usuario como participante a la sala.

az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
  • Reemplace <participantId> por el identificador del participante. Si <participantId> no existe en la sala, el participante se agregará a la sala como rol de asistente. De lo contrario, el rol del participante se actualiza a un rol de asistente.
  • Reemplace <roomId> por el identificador de la sala.

Obtener una lista de participantes en una sala

az communication rooms participant get --room "<roomId>"
  • Reemplace <roomId> por el identificador de la sala.

Eliminación de un participante de una sala

Puede quitar un participante de una sala mediante rooms participant -remove.

az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
  • Reemplace <roomId> por el identificador de la sala.
  • Reemplace <participant1>, <participant2>, <participant3> por los identificadores de usuario obtenido anteriormente mediante la ejecución del comando identity user create.

Eliminar una sala.

De forma similar a la creación de una sala, también puede eliminar una sala.

Use el comando room delete para eliminar la sala existente.

az communication rooms delete --room "<roomId>"
  • Reemplace <roomId> por el identificador de la sala.

Este inicio rápido le ayudará a empezar a trabajar con salas de Azure Communication Services. Un objeto room es un espacio de comunicación administrado por el servidor donde un conjunto conocido y fijo de participantes pueden colaborar durante un período determinado previamente. La documentación conceptual de los centros de reunión incluye más detalles y casos de uso para rooms.

Prerrequisitos

Código de ejemplo

Puede revisar y descargar el código de ejemplo de este inicio rápido en GitHub.

Instalación

Creación de una aplicación de C#

En una ventana de consola (por ejemplo, cmd, PowerShell o Bash), use el comando dotnet new para crear una nueva aplicación de consola con el nombre RoomsQuickstart. Este comando crea un sencillo proyecto "Hola mundo" de C# con un solo archivo de origen: Program.cs.

dotnet new console -o RoomsQuickstart

Cambie el directorio a la carpeta de la aplicación recién creada y use el comando dotnet build para compilar la aplicación.

cd RoomsQuickstart
dotnet build

Instalar el paquete

Instale la biblioteca cliente de sala de comunicación de Azure para .NET con [NuGet][https://www.nuget.org/]:

dotnet add package Azure.Communication.Rooms

Deberá usar la biblioteca cliente de Azure Communication Rooms para .NET versión 1.1.0 o superior.

Instalación del marco de la aplicación

En el archivoProgram.cs, agregue el código siguiente para importar los espacios de nombres necesarios y crear la estructura básica del programa.


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
        }
    }
}

Inicialización de un cliente de sala

Cree un objeto RoomsClient, que se usará para crear objetos rooms y administrar sus propiedades y su ciclo de vida. La cadena de conexión de su Communications Service se usará para autenticar la solicitud. Para obtener más información sobre las cadenas de conexión, consulte esta página.


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

Creación de una sala

Configurar participantes de la sala

Para configurar quién puede unirse a una sala, necesitarás tener la lista de las identidades de esos usuarios. Puede seguir aquí las instrucciones para crear usuarios y emitir tokens de acceso. Como alternativa, si desea crear los usuarios a petición, puede crearlos mediante CommunicationIdentityClient. Las salas de ACS admiten actualmente un participante de sala de tipo CommunicationUserIdentifier, el uso de otros tipos de CommunicationIdentity producirá un error en tiempo de ejecución.

Para usar CommunicationIdentityClient, instale el siguiente paquete:

dotnet add package Azure.Communication.Identity

Además, importe el espacio de nombres del paquete en la parte superior del archivo Program.cs:

using Azure.Communication.Identity;

Ahora, CommunicationIdentityClient se puede inicializar y usar para crear usuarios:

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

A continuación, cree la lista de participantes de la sala haciendo referencia a esos usuarios:

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

Inicializar la sala

Cree un nuevo room con el participants definido en el fragmento de código anterior:

// 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);

Dado que los objetos rooms son entidades del lado del servidor, puede que desee realizar un seguimiento de roomId y conservarlo en el medio de almacenamiento de su elección. Puede hacer referencia a roomId para ver o actualizar las propiedades de un objeto room.

Habilitación de la funcionalidad de marcado RTC para una sala

Cada room tiene deshabilitado el marcado RTC de manera predeterminada. El marcado RTC se puede habilitar para una room al crearse definiendo el parámetro pstnDialOutEnabled como True. Esta funcionalidad también se puede modificar para un room mediante la emisión de una solicitud de actualización para el parámetro 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);

Obtención de las propiedades de una sala existente

Para recuperar los detalles de un objeto room existente, haga referencia a roomId:


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

Actualización de la duración de una sala

La duración de un objeto room se puede modificar emitiendo una solicitud de actualización para los parámetros ValidFrom y ValidUntil. Una sala puede ser válida durante un máximo de seis meses.


// 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);

Enumerar todas las salas activas

Para recuperar todas las salas activas, use el GetRoomsAsync método expuesto en el cliente.


// 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;
}

Agregar nuevos participantes o actualizar los participantes existentes

Para agregar nuevos participantes a una room, use el método AddParticipantsAsync expuesto en el cliente.


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.Attendee };
addOrUpdateParticipants.Add(participant2);
addOrUpdateParticipants.Add(participant3);

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

Los participantes que se han agregado a un objeto room pueden unirse a llamadas. Los participantes que se han actualizado verán su nuevo role en la llamada.

Obtener lista de participantes

Obtenga la lista de participantes de una room existente al hacer referencia a la 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()}");
}

Eliminación de participantes

Para eliminar un participante de una room y revocar su acceso, use el método 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");

Eliminar sala

Si desea disolver un objeto room existente, puede emitir una solicitud de eliminación explícita. Todos los objetos rooms y los recursos asociados se eliminan automáticamente al final de su vigencia más un período de gracia.


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

Ejecución del código

Para ejecutar el código, asegúrese de que se encuentra en el directorio donde está el archivo Program.cs.


dotnet run

La salida prevista describe cada acción completada:


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, Attendee

Removed participants from room

Deleted room with id: 99445276259151407

Documentación de referencia

Obtenga información sobre el conjunto completo de funcionalidades del centro de Azure Communication Services desde la referencia del SDK de .NET o la referencia de la API de REST.

Este inicio rápido le ayudará a empezar a trabajar con salas de Azure Communication Services. Un objeto room es un espacio de comunicación administrado por el servidor donde un conjunto conocido y fijo de participantes pueden colaborar durante un período determinado previamente. La documentación conceptual de los centros de reunión incluye más detalles y casos de uso para rooms.

Prerrequisitos

Código de ejemplo

Puede revisar y descargar el código de ejemplo de este inicio rápido en GitHub.

Instalación

Creación de una aplicación Java

En una ventana de consola (por ejemplo, cmd, PowerShell o Bash), use el comando mvn para crear una nueva aplicación de consola con el nombre rooms-quickstart. Este comando crea un sencillo proyecto de Java "Hola mundo", con un solo archivo de código fuente: App.java.

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

Inclusión del paquete

Debe usar la biblioteca cliente de Azure Communication Rooms para Java versión 1.1.0 o superior.

Inclusión del archivo BOM

Incluya azure-sdk-bom en el proyecto para que tenga dependencia de la versión de disponibilidad general (GA) de la biblioteca. En el fragmento de código siguiente, reemplace el marcador de posición {bom_version_to_target} por el número de versión. Para más información sobre el BOM, consulte el archivo Léame de BOM del SDK de Azure.

<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>

y, luego, incluya la dependencia directa en la sección de dependencias sin la etiqueta de versión.

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

Inclusión de dependencias directas

Si quiere tomar dependencia de una versión determinada de la biblioteca que no está presente en el BOM, agregue la dependencia directa al proyecto como se muestra a continuación.

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

Instalación del marco de la aplicación

Vaya al directorio /src/main/java/com/communication/quickstart y abra el archivo App.java. Agregue el siguiente código:


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
    }
}

Inicialización de un cliente de sala

Cree un objeto RoomsClient, que se usará para crear objetos rooms y administrar sus propiedades y su ciclo de vida. La cadena de conexión de su Communications Service se usará para autenticar la solicitud. Para obtener más información sobre las cadenas de conexión, consulte esta página.


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

Creación de una sala

Configurar participantes de la sala

Para configurar quién puede unirse a una sala, necesita tener la lista de las identidades de esos usuarios. Puede seguir aquí las instrucciones para crear usuarios y emitir tokens de acceso. Como alternativa, si desea crear los usuarios a petición, puede crearlos mediante CommunicationIdentityClient. Las salas de ACS admiten actualmente un participante de sala de tipo CommunicationUserIdentifier, el uso de otros tipos de CommunicationIdentity producirá un error en tiempo de ejecución.

Para usar CommunicationIdentityClient, agregue el siguiente paquete:

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

Importe el paquete en la parte superior del archivo App.java:

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

Ahora, CommunicationIdentityClient se puede inicializar y usar para crear usuarios:

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

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

A continuación, cree la lista de participantes de la sala haciendo referencia a esos usuarios:

//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));

Inicializar la sala

Cree un nuevo room con el roomParticipants definido en el fragmento de código anterior:

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());

Dado que los objetos rooms son entidades del lado del servidor, puede que desee realizar un seguimiento de roomId y conservarlo en el medio de almacenamiento de su elección. Puede hacer referencia a roomId para ver o actualizar las propiedades de un objeto room.

Habilitación de la funcionalidad de marcado RTC para una sala

Cada room tiene deshabilitado el marcado RTC de manera predeterminada. El marcado RTC se puede habilitar para una room al crearse definiendo el parámetro pstnDialOutEnabled como True. Esta funcionalidad también se puede modificar para un room mediante la emisión de una solicitud de actualización para el parámetro 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());

Obtención de las propiedades de una sala existente

Para recuperar los detalles de un objeto room existente, haga referencia a roomId:


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

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

Actualización de la duración de una sala

La duración de un objeto room se puede modificar emitiendo una solicitud de actualización para los parámetros ValidFrom y ValidUntil. Una sala puede ser válida durante un máximo de seis meses.


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());

Agregar o actualizar participantes

Para agregar nuevos participantes a room, use el método addOrUpdateParticipants expuesto en el cliente.


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

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

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

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

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

Los participantes que se han agregado a un objeto room pueden unirse a llamadas.

Obtener lista de participantes

Obtenga la lista de participantes de una room existente al hacer referencia a la 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);
}

Eliminación de participantes

Para eliminar un participante de una room y revocar su acceso, use el método 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");

Enumerar todas las salas activas

Recupere todos los activos rooms en el recurso de Azure Communication Services.

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);
}

Eliminar sala

Si desea disolver un objeto room existente, puede emitir una solicitud de eliminación explícita. Todos los objetos rooms y los recursos asociados se eliminan automáticamente al final de su vigencia más un período de gracia.


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

Ejecución del código

Para ejecutar el código, vaya al directorio que contiene el archivo pom.xml y compile el programa.


mvn compile

A continuación, compile el paquete:


mvn package

Ejecute la aplicación.

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

La salida prevista describe cada acción completada:


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 (Attendee)
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e902 (Consumer)

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

Documentación de referencia

Obtenga información sobre el conjunto completo de funcionalidades del centro de Azure Communication Services desde la referencia del SDK de Java o la referencia de la API de REST.

Este inicio rápido le ayudará a empezar a trabajar con salas de Azure Communication Services. Un objeto room es un espacio de comunicación administrado por el servidor donde un conjunto conocido y fijo de participantes pueden colaborar durante un período determinado previamente. La documentación conceptual de los centros de reunión incluye más detalles y casos de uso para rooms.

Prerrequisitos

Código de ejemplo

Puede revisar y descargar el código de ejemplo de este inicio rápido en GitHub.

Instalación

Creación de una nueva aplicación de Python

En una ventana de terminal o consola, cree una nueva carpeta para la aplicación y vaya a ella.

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

Instalar el paquete

Debe usar la biblioteca cliente de Azure Communication Rooms para Python versión 1.1.0 o superior.

Desde un símbolo de la consola, vaya al directorio que contiene el archivo rooms.py y después ejecute el siguiente comando:

pip install azure-communication-rooms

Instalación del marco de la aplicación

Cree un archivo llamado rooms-quickstart.py y agregue la estructura básica del programa.

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()

Inicialización de un cliente de sala

Cree un objeto RoomsClient, que se usará para crear objetos rooms y administrar sus propiedades y su ciclo de vida. La cadena de conexión de su Communications Service se usará para autenticar la solicitud. Para obtener más información sobre las cadenas de conexión, consulte esta página.

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

Creación de una sala

Configurar participantes de la sala

Para configurar quién puede unirse a una sala, necesitarás tener la lista de las identidades de esos usuarios. Puede seguir aquí las instrucciones para crear usuarios y emitir tokens de acceso. Como alternativa, si desea crear los usuarios a petición, puede crearlos mediante CommunicationIdentityClient. Las salas de ACS admiten actualmente un participante de sala de tipo CommunicationUserIdentifier, el uso de otros tipos de CommunicationIdentity producirá un error en tiempo de ejecución.

Para usar CommunicationIdentityClient, instale el siguiente paquete:

pip install azure-communication-identity

Además, importe el espacio de nombres del paquete en la parte superior del archivo rooms-quickstart.py:

from azure.communication.identity import (
    CommunicationIdentityClient
)

Ahora, CommunicationIdentityClient se puede inicializar y usar para crear usuarios:

# 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()

A continuación, cree la lista de participantes de la sala haciendo referencia a esos usuarios:

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

Inicializar la sala

Cree un nuevo room con el participants definido en el fragmento de código anterior:

# 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)

Dado que los objetos rooms son entidades del lado del servidor, puede que desee realizar un seguimiento de room.id y conservarlo en el medio de almacenamiento de su elección. Puede hacer referencia a id para ver o actualizar las propiedades de un objeto room.

Habilitación de la funcionalidad de marcado RTC para una sala

Cada room tiene deshabilitado el marcado RTC de manera predeterminada. El marcado RTC se puede habilitar para una room al crearse definiendo el parámetro pstn_dial_out_enabled como True. Esta funcionalidad también se puede modificar para un room mediante la emisión de una solicitud de actualización para el parámetro 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)

Obtención de las propiedades de una sala existente

Para recuperar los detalles de un objeto room existente, haga referencia a 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)

Actualización de la duración de una sala

La duración de un objeto room se puede modificar emitiendo una solicitud de actualización para los parámetros valid_from y valid_until. Una sala puede ser válida durante un máximo de seis meses.

# 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)

Enumerar todas las salas activas

Para recuperar todas las salas activas creadas en el recurso, use el método list_rooms expuesto en el cliente.

# 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)

Agregar o actualizar participantes

Para agregar nuevos participantes o actualizar los participantes existentes en un room, use el método add_or_update_participants expuesto en el cliente.

# 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.CONSUMER))
    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)

Los participantes que se han agregado a un objeto room pueden unirse a llamadas.

Enumerar participantes en una sala

Obtenga la lista de participantes de una room existente al hacer referencia a la 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)

Eliminación de participantes

Para eliminar un participante de una room y revocar su acceso, use el método 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)

Eliminar sala

Si desea disolver un objeto room existente, puede emitir una solicitud de eliminación explícita. Todos los objetos rooms y los recursos asociados se eliminan automáticamente al final de su vigencia más un período de gracia.

# Delete Room

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

Ejecución del código

Para ejecutar el código, asegúrese de que se encuentra en el directorio donde está el archivo rooms-quickstart.py.


python rooms-quickstart.py

La salida prevista describe cada acción completada:


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 Attendee

Removed participants from room

Deleted room with id: 99445276259151407

Documentación de referencia

Obtenga información sobre el conjunto completo de funcionalidades del centro de Azure Communication Services desde la referencia del SDK de Python o la referencia de la API de REST.

Este inicio rápido le ayudará a empezar a trabajar con salas de Azure Communication Services. Un objeto room es un espacio de comunicación administrado por el servidor donde un conjunto conocido y fijo de participantes pueden colaborar durante un período determinado previamente. La documentación conceptual de los centros de reunión incluye más detalles y casos de uso para rooms.

Prerrequisitos

Código de ejemplo

Puede revisar y descargar el código de ejemplo de este inicio rápido en GitHub.

Instalación

Creación de una nueva aplicación web

En una ventana de terminal o consola, cree una nueva carpeta para la aplicación y vaya a ella.

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

Ejecute npm init para crear un archivo package.json con la configuración predeterminada.

npm init -y

Cree un archivo index.js en el que se agregará el código de este inicio rápido.

Instalación de los paquetes

Debe usar la biblioteca cliente de Azure Communication Rooms para JavaScript versión 1.1.0 o superior.

Use el comando npm install para instalar los siguientes SDK de Communication Services para JavaScript.

npm install @azure/communication-rooms --save

Instalación del marco de la aplicación

En el archivo index.js, agregue el código siguiente. Agregaremos el código para el inicio rápido en la función 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);
})

Inicialización de un cliente de sala

Cree un objeto RoomsClient, que se usará para crear objetos rooms y administrar sus propiedades y su ciclo de vida. La cadena de conexión de su Communications Service se usará para autenticar la solicitud. Para obtener más información sobre las cadenas de conexión, consulte esta página.

Agregue el código siguiente en index.js dentro la función main.

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

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

Creación de una sala

Configurar participantes de la sala

Para configurar quién puede unirse a una sala, necesita tener la lista de las identidades de esos usuarios. Puede seguir aquí las instrucciones para crear usuarios y emitir tokens de acceso. Como alternativa, si desea crear los usuarios a petición, puede crearlos mediante CommunicationIdentityClient. Las salas de ACS admiten actualmente un participante de sala de tipo CommunicationUserIdentifier, el uso de otros tipos de CommunicationIdentity producirá un error en tiempo de ejecución.

Para usar CommunicationIdentityClient, instale el siguiente paquete de npm:

npm install @azure/communication-identity --save

Además, agregue el siguiente paquete necesario en la parte superior del archivo index.js:

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

Ahora, CommunicationIdentityClient se puede inicializar y usar para crear usuarios:

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

A continuación, cree la lista de participantes de la sala haciendo referencia a esos usuarios:

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

Inicializar la sala

Cree un nuevo room con el participants definido en el fragmento de código anterior:

// 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);

Dado que los objetos rooms son entidades del lado del servidor, puede que desee realizar un seguimiento de roomId y conservarlo en el medio de almacenamiento de su elección. Puede hacer referencia a roomId para ver o actualizar las propiedades de un objeto room.

Habilitación de la funcionalidad de marcado RTC para una sala

Cada room tiene deshabilitado el marcado RTC de manera predeterminada. El marcado RTC se puede habilitar para una room al crearse definiendo el parámetro pstnDialOutEnabled como True. Esta funcionalidad también se puede modificar para un room mediante la emisión de una solicitud de actualización para el parámetro 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);

Obtención de las propiedades de una sala existente

Para recuperar los detalles de un objeto room existente, haga referencia a roomId:

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

Actualización de la duración de una sala

La duración de un objeto room se puede modificar emitiendo una solicitud de actualización para los parámetros validFrom y validUntil. Una sala puede ser válida durante un máximo de seis meses.

// 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);

Obtener lista de salas

Recupere la lista de salas mediante el método 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;
}

Agregar o actualizar participantes

Para agregar nuevos participantes a una room, use el método addOrUpdateParticipants expuesto en el cliente. Este método también actualizará a un participante si ya existen en la sala.

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

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

Los participantes que se han agregado a un objeto room pueden unirse a llamadas.

Obtener lista de participantes

Obtenga la lista de participantes de una room existente al hacer referencia a la 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);
}

Eliminación de participantes

Para eliminar un participante de una room y revocar su acceso, use el método 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");

Eliminar sala

Si desea disolver un objeto room existente, puede emitir una solicitud de eliminación explícita. Todos los objetos rooms y los recursos asociados se eliminan automáticamente al final de su vigencia más un período de gracia.

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

Ejecución del código

Para ejecutar el código, asegúrese de que se encuentra en el directorio donde está el archivo index.js.

node index.js

La salida prevista describe cada acción completada:

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'
}

Removed participants from room

Deleted room with id:  99445276259151407

Documentación de referencia

Obtenga información sobre el conjunto completo de funcionalidades del centro de Azure Communication Services desde la referencia del SDK de JavaScript o la referencia de la API de REST.

Pasos siguientes

Puede aprender a unirse a una llamada a salas después de crear y configurar la sala.

En esta sección ha aprendido a hacer lo siguiente:

  • Crear una sala.
  • Obtener las propiedades de una sala.
  • Actualizar las propiedades de una sala.
  • Eliminar una sala.

Puede que también le interese: