Freigeben über


Gruppenräume

Dieser Artikel beschreibt, wie Sie Microsoft Teams-Gruppenräume mit Azure Communication Services implementieren. Diese Funktion ermöglicht es Azure Communication Services-Benutzern, in Teams-Besprechungen an Gruppenräumen teilzunehmen. Teams-Administratoren steuern die Verfügbarkeit von Gruppenräumen in Teams-Besprechungen mit der Teams-Besprechungsrichtlinie. Weitere Informationen zu Gruppenräumen finden Sie in der Teams-Dokumentation.

Voraussetzungen

Nur Microsoft 365-Benutzer mit den Rollen „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ können die Gruppenräume verwalten.

Unterstützung

In den folgenden Tabellen wird die Unterstützung von Gruppenräumen in Azure Communication Services definiert.

Identitäten und Anruftypen

Die folgende Tabelle enthält eine Zusammenfassung der Unterstützung in Gruppenräumen für bestimmte Anruftypen und Identitäten.

Identities Teams-Besprechung Raum 1:1-Anruf Gruppenanruf 1:1 Teams-Interoperabilitätsanruf Gruppenteams-Interoperabilitätsanruf
Communication Services-Benutzer ✔️
Microsoft 365-Benutzer ✔️

Vorgänge

Die folgende Tabelle zeigt die Unterstützung einzelner APIs im Calling SDK bezogen auf einzelne Identitätstypen.

Vorgänge Communication Services-Benutzer Microsoft 365-Benutzer
Zugewiesenen Gruppenraum abrufen ✔️ ✔️
Alle Gruppenräume abrufen ✔️[1]
Gruppenraum beitreten ✔️ ✔️
Verwalten von Pausenräumen
An Gruppenraumchat teilnehmen ✔️[2]
Gruppenraumeinstellungen abrufen ✔️ ✔️

[1] Nur Microsoft 365-Benutzer mit den Rollen „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“

[2] Microsoft 365-Benutzer können die Graph-API verwenden, um an Gruppenraumchats teilzunehmen. Die Thread-ID des Chats wird im zugewiesenen Gruppenraumobjekt bereitgestellt.

SDKs

Die folgenden Tabellen enthalten Details zur Unterstützung des Features „Gruppenräume“ in einzelnen Azure Communication Services-SDKs.

Status der Unterstützung Web Web-Benutzeroberfläche iOS iOS-Benutzeroberfläche Android Android-Benutzeroberfläche Windows
Unterstützt ✔️

Das SDK installieren

Verwenden Sie den Befehl npm install, um die Common und Calling SDKs von Azure Communication Services für JavaScript zu installieren:

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Initialisieren erforderlicher Objekte

Für die meisten Anrufvorgänge ist eine CallClient-Instanz erforderlich. Wenn Sie eine neue CallClient-Instanz erstellen, können Sie diese mit benutzerdefinierten Optionen wie einer Logger-Instanz konfigurieren.

Mit der CallClient-Instanz können Sie eine CallAgent-Instanz erstellen, indem Sie den Agent für die Anruferstellung (createCallAgent) aufrufen. Durch diese Methode wird ein CallAgent-Instanzobjekt asynchron zurückgegeben.

Die Methode createCallAgent verwendet CommunicationTokenCredential als Argument, welches ein Benutzerzugriffstoken akzeptiert.

Sie können die Methode getDeviceManager für die Instanz CallClient verwenden, um auf deviceManager zuzugreifen.

const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");

// Set the logger's log level
setLogLevel('verbose');

// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()

Optimale Verwaltung der Konnektivität zwischen SDK und Microsoft-Infrastruktur

Die Call Agent-Instanz unterstützt Sie bei der Verwaltung von Anrufen (Annehmen oder Starten von Anrufen). Damit Ihr Calling SDK funktioniert, muss eine Verbindung mit der Microsoft-Infrastruktur hergestellt werden, um Benachrichtigungen über eingehende Anrufe zu erhalten und andere Anrufdetails zu koordinieren. Ihre Call Agent-Instanz kann zwei Status haben:

Connected (Verbunden) – Der connectionState-Wert Connected für Call Agent bedeutet, dass das Client-SDK verbunden ist und Benachrichtigungen von der Microsoft-Infrastruktur empfangen kann.

Disconnected (Getrennt) – Der connectionState-Wert Disconnected für Call Agent weist darauf hin, dass das SDK nicht ordnungsgemäß verbunden werden kann. Call Agent muss neu erstellt werden.

  • invalidToken: Wenn ein Token abgelaufen oder ungültig ist, wird die Call Agent-Instanz mit diesem Fehler getrennt.
  • connectionIssue: Wenn ein Problem mit der Verbindung zwischen dem Client und der Microsoft-Infrastruktur auftritt, gibt Call Agent nach mehreren Versuchen den connectionIssue-Fehler zurück.

Sie können überprüfen, ob Ihre lokale Call Agent-Instanz mit der Microsoft-Infrastruktur verbunden ist, indem Sie den aktuellen Wert der connectionState-Eigenschaft prüfen. Während eines aktiven Anrufs können Sie auf das connectionStateChanged-Ereignis lauschen, um zu bestimmen, ob sich der Call Agent-Status von Connected in Disconnected ändert.

const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'

const connectionStateCallback = (args) => {
    console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
    // it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);

Implementieren von Gruppenräumen

BreakoutRooms ist ein feature der Call-Klasse. Sie müssen zunächst das Paket Features aus dem Anruf-SDK importieren:

import { Features} from "@azure/communication-calling";

Erstellen des breakoutRoom-Features

Anschließend rufen Sie das API-Objekt für das Feature aus der Anrufinstanz ab:

const breakoutRoomsFeature = mainMeetingCall.feature(Features.BreakoutRooms);

Abonnieren von breakoutRoom-Ereignissen

Die BreakoutRooms-API ermöglicht Ihnen das Abonnieren von BreakoutRooms-Ereignissen. Ein breakoutRoomsUpdated-Ereignis stammt aus einer BreakoutRoomsCallFeature-Instanz und enthält Informationen zu den erstellten, aktualisierten und zugewiesenen Gruppenräumen.

Abonnieren Sie das breakoutRoomsUpdated-Ereignis, um Gruppenraumdetails zu erhalten.

breakoutRoomsFeature.on('breakoutRoomsUpdated', breakoutRoomsUpdatedListener);

Behandeln von breakoutRoom-Ereignissen

Das Ereignis breakoutRoomsUpdated stellt eine Instanz einer der folgenden Klassen als Eingabeparameter bereit. Sie können die type-Eigenschaft verwenden, um zwischen einzelnen Ereignistypen zu unterscheiden.

  • BreakoutRoomsEvent-Klasse: Dieses Ereignis wird ausgelöst, wenn ein Benutzer mit der Rolle „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ die Gruppenräume erstellt oder aktualisiert. Microsoft 365-Benutzer mit den Rollen „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ können diesen Ereignistyp empfangen. Entwickler können die Gruppenräume in der data-Eigenschaft verwenden, um Details zu allen Gruppenräumen zu rendern. Diese Klasse enthält die type-Eigenschaft mit dem Wert "breakoutRooms".

      export interface BreakoutRoomsEvent {
        /**
         * Breakout room event type
        */
        type: "breakoutRooms",
        /**
         * list of Breakout rooms
        */
        data: BreakoutRoom[] | undefined;
      }
    
  • BreakoutRoomsSettingsEvent-Klasse: Dieses Ereignis wird ausgelöst, wenn ein Benutzer mit der Rolle „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ die Einstellungen eines Gruppenraums aktualisiert. Entwickler können diese Informationen verwenden, um den Zeitpunkt, an dem der Gruppenraum endet, oder eine Schaltfläche für den Beitritt zum Hauptraum zu rendern. Diese Klasse enthält die type-Eigenschaft mit dem Wert "breakoutRoomSettings".

      export interface BreakoutRoomSettingsEvent {
        /**
        * Breakout room event type
        */
        type: "breakoutRoomSettings",
        /**
        * Breakout Room setting details
        */
        data: BreakoutRoomSettings | undefined;
      }
    
  • AssignedBreakoutRoomsEvent-Klasse: Dieses Ereignis wird ausgelöst, wenn ein Benutzer einem Gruppenraum zugewiesen wird oder der zugewiesene Gruppenraum aktualisiert wird. Benutzer können dem Gruppenraum beitreten, wenn die state-Eigenschaft auf open festgelegt ist, den Gruppenraum verlassen, wenn die state-Eigenschaft auf closed festgelegt ist, oder Details des Gruppenraums rendern. Diese Klasse enthält die type-Eigenschaft mit dem Wert "assignedBreakoutRoom".

      export interface AssignedBreakoutRoomEvent {
        /**
         * Breakout room event type
         */
        type: "assignedBreakoutRoom";
        /**
         * Assigned breakout room details
         */
        data: BreakoutRoom | undefined;
      }
    
  • JoinBreakoutRoomsEvent-Klasse: Dieses Ereignis wird ausgelöst, wenn der Teilnehmer einem Gruppenraumanruf beitritt. Dieses Ereignis kann auftreten, wenn ein Benutzer automatisch in einen Gruppenraum verschoben wird (d. h. wenn die state-Eigenschaft für den assignedBreakoutRoom auf open festgelegt und autoMoveParticipantToBreakoutRoom auf true festgelegt ist) oder wenn der Benutzer einem Gruppenraum explizit beitritt (d. h. die join-Methode für die assignedBreakoutRoom-Instanz aufruft, wenn autoMoveParticipantToBreakoutRoom auf false festgelegt ist). Die data-Eigenschaft enthält die call-Instanz des Gruppenraums, mit der Entwickler Gruppenraumanrufe steuern können. Diese Klasse enthält die type-Eigenschaft mit dem Wert "join".

      export interface JoinBreakoutRoomEvent {
        /**
         * Breakout room event type
         */
        type: "join";
        /**
         * Breakoutroom call object
         */
        data: Call | TeamsCall;
      }
    

Der folgende Code zeigt nützliche Informationen, die in den Gruppenraumereignissen empfangen werden:

    const breakoutRoomsUpdatedListener = (event) => {
    switch(event.type) {
        case "breakoutRooms":
          const breakoutRooms = event.data;
          console.log(`Breakout rooms are created or updated. There are ${breakoutRooms.length} breakout rooms in total.`);
          breakoutRooms.forEach((room)=>{
          console.log(`- ${room.displayName}`);
          });    
          break;
        case "assignedBreakoutRooms":
          const assignedRoom = event.data;
          console.log(`You are assigned to breakout room named: ${assignedRoom.displayName}`);      
          console.log(`Assigned breakout room thread Id: ${assignedRoom.threadId}`);
          console.log(`Automatically move participants to breakout room: ${assignedRoom.autoMoveParticipantToBreakoutRoom}`);
          console.log(`Assigned breakout room state : ${assignedRoom.state }`);      
          break;
        case "breakoutRoomsSettings":
          const breakoutRoomSettings = event.data;
          console.log(`Breakout room ends at: ${breakoutRoomSettings.roomEndTime}`);          
          console.log(`Disable the user to return to main meeting from breakout room call : ${breakoutRoomSettings.disableReturnToMainMeeting}`);         
          break;
        case "join":
          const breakoutRoomCall = event.data;
          console.log(`You have joined breakout room with call ID: ${breakoutRoomCall.id}`);      
          break;      
      }
    }
breakoutRoomsFeature.on('breakoutRoomsUpdated', breakoutRoomsUpdatedListener);

Auflisten der verfügbaren Gruppenräume

Microsoft 365-Benutzer mit den Rollen „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ können auf alle Gruppenräume zugreifen.

const breakoutRooms = breakoutRoomsFeature.breakoutRooms;
breakoutRooms.forEach((room)=>{
      console.log(`- ${room.displayName}`);
       }); 

Auflisten der eingeladenen Personen

Microsoft 365-Benutzer mit den Rollen „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ können auf die Teilnehmer zugreifen, die einzelnen Gruppenräumen zugewiesen sind.

breakoutRooms.forEach((room)=>{
      console.log(`${room.displayName}`);
      room.invitees.forEach((invitee) => {
          console.log(`- ${invitee.id}`);         
          })
      })

Beitreten zu einem Gruppenraum

Wenn die autoMoveParticipantToBreakoutRoom-Eigenschaft für den assignedBreakoutRoom auf true festgelegt ist, wird der Benutzer automatisch in den Gruppenraum verschoben, wenn die state-Eigenschaft auf open festgelegt ist. Wenn autoMoveParticipantToBreakoutRoom auf false festgelegt ist, verwenden Sie den folgenden Code für den Beitritt zum Gruppenraum.

Dadurch wird das breakoutRoomsUpdated-Ereignis mit der JoinBreakoutRoomsEvent-Klasse mit dem type-Eigenschaftswert join ausgelöst. Sie können die Instanz einer call-Klasse in der data-Eigenschaft verwenden, um Gruppenraumanrufe zu verwalten.

const breakoutRoom = breakoutRoomsFeature.assignedBreakoutRoom;
if(breakoutRoom.state == 'open' && !breakoutRoom.autoMoveParticipantToBreakoutRoom) {
  const breakoutRoomCall = await breakoutRoom.join();
}

Wenn sich Benutzer*innen in einem Gruppenraum befinden und die für die Organisation zuständige Person den Benutzer*innen einen neuen Gruppenraum zuweist, erhalten die Benutzer*innen das Ereignis breakoutRoomsUpdated mit dem Typ assignedBreakoutRooms. Dieses Ereignis enthält die neuesten Details des Gruppenraums. Benutzer*innen müssen den vorherigen Gruppenraumanruf hangUp(). Wenn autoMoveParticipantToBreakoutRoom für true festgelegt ist, werden Benutzer*innen automatisch zugewiesen, andernfalls müssen Benutzer*innen die Methode join explizit für den neuen Gruppenraum aufrufen.

//Breakout room which is assigned initially.
const breakoutRoom = breakoutRoomsFeature.assignedBreakoutRoom;
if(breakoutRoom.state == 'open' && !breakoutRoom.autoMoveParticipantToBreakoutRoom) {
  const breakoutRoomCall = await breakoutRoom.join();
}

// `breakoutRoomsUpdated` event which contains the details of the new breakout room
let assignedRoom = undefined;
const breakoutRoomsUpdatedListener = (event) => {
     switch(event.type) {
          case "assignedBreakoutRooms":
          const assignedRoom = event.data;
          break;
     }
}

if(assignedRoom.threadId != breakoutRoom.threadId && breakoutRooms != null)
{
    await breakoutRoom.hangUp();
}
if(assignedRoom.state == 'open' && !assignedRoom.autoMoveParticipantToBreakoutRoom) {
  const breakoutRoomCall = await assignedRoom.join();
}

Microsoft 365-Benutzer*innen, die für Rollenorganisation, Mitorganisation oder das Gruppenraummanagement zuständig sind, erhalten die Liste der Gruppenräume, die von der für das Gruppenraummanagement oder die Organisation der Hauptbesprechung zuständigen Person erstellt wurden. In diesem Fall unterscheidet sich das Verhalten geringfügig. Diese Benutzer*innen müssen explizit die Methode join() aufrufen, um dem Gruppenraum beizutreten. Die Benutzer*innen werden zunächst in der Warteschleife der Hauptbesprechung gehalten und schließlich aus der Hauptbesprechung entfernt. Die Benutzer*innen müssen das breakoutRooms-Feature für breakoutRoomCall initialisieren, um Updates für den Gruppenraum zu erhalten.

Wenn die Benutzer*innen einem der Gruppenräume beitreten möchte, rufen sie die Methode join explizit auf.

const breakoutRoom = breakoutRoomsFeature.breakoutRooms[0];
if(breakoutRoom.state == 'open') {
  const breakoutRoomCall = await breakoutRoom.join();
}

Um einen Gruppenraum zu beenden, sollten Benutzer*innen die Funktion hangUp() für den Gruppenraumanruf ausführen. Die Benutzer*innen rufen ReturnToMainMeeting auf, um den Hauptbesprechungsanruf fortzusetzen.

breakoutRoomCall.hangUp();
const mainMeetingCall = breakoutRoomCall.returnToMainMeeting();

Verlassen eines Gruppenraums

Wenn der Gruppenraumzustand closed ist, werden Benutzer*innen über das Ende des Gruppenraums informiert, indem sie das Ereignis breakoutRoomsUpdated mit der Klasse AssignedBreakoutRoomsEvent und der Eigenschaft type mit dem Wert assignedBreakoutRooms empfangen, der angibt, dass assignedBreakoutRoom die Eigenschaft state auf closed festgelegt hat. Die Benutzer*innen verlassen den Gruppenraum automatisch und können zur Hauptbesprechung zurückkehren, indem sie wie oben gezeigt returnToMainMeeting() aufrufen.

Wenn die Benutzer*innen den Gruppenraum verlassen möchte, bevor dieser geschlossen wird, und in den Gruppenraumeinstellungen breakoutRoomsFeature.breakoutRoomsSettings die Eigenschaft disableReturnToMainMeeting auf false festgelegt ist, können Benutzer*innen mit dem folgenden Code zum Hauptbesprechungsanruf zurückkehren:

breakoutRoomCall.hangUp();
const mainMeetingCall = breakoutRoomCall.returnToMainMeeting();

Abrufen der Teilnehmer des Gruppenraums

Wenn Sie dem Gruppenraum beitreten, können Sie den folgenden Code verwenden, um die Liste der Remoteteilnehmer des Gruppenraums abzurufen:

const breakoutRoomParticipants = [breakoutRoomCall.remoteParticipants.values()].map((p: SDK.RemoteParticipant) => { p.displayName || p.identifier });
console.log(`Participants of the breakoutRoom : <br/>" + breakoutRoomParticipants.join("<br/>")`);

Beenden des Empfangs von Gruppenraumereignissen

Verwenden Sie den folgenden Code, um den Empfang von breakoutRooms-Ereignissen zu beenden.

breakoutRoomsFeature.off('breakoutRoomsUpdated', breakoutRoomsUpdatedListener);

Gruppenraumeigenschaften

Gruppenräume verfügen über die folgenden Eigenschaften:

Hinweis

Im folgenden Beispielcode werden effizient alle Gruppenraumeigenschaften angezeigt. Er ist nicht dafür vorgesehen, wie dargestellt wiederverwendet zu werden. In der Praxis verwenden Sie nur die Eigenschaften, die für Ihr Gruppenraumszenario erforderlich sind.

const displayName : string = breakoutRoom.displayName;
const threadId : string = breakoutRoom.threadId;
const state : BreakoutRoomState = breakoutRoom.state;
const autoMoveParticipantToBreakoutRoom : boolean = breakoutRoom.autoMoveParticipantToBreakoutRoom; 
const call : Call | TeamsCall = breakoutRoom.call;
const invitees : Invitee[] = breakoutRoom.invitees;
Gruppenraumeigenschaften Beschreibung
displayName Der Name des Gruppenraums. Diese Eigenschaft ist schreibgeschützt.
threadId Verwenden Sie die Chatthread-ID, um dem Chat im Gruppenraum beizutreten. Diese Eigenschaft ist schreibgeschützt.
state Der Status des Gruppenraums. Es kann entweder open oder closed sein. Benutzer können dem Gruppenraum nur beitreten, wenn der Status open ist. Diese Eigenschaft ist schreibgeschützt.
autoMoveParticipantToBreakoutRoom Ein boolescher Wert, der angibt, ob die Benutzer automatisch in Gruppenräume verschoben werden, wenn der state von assignedBreakoutRoom auf open festgelegt ist. Diese Eigenschaft ist schreibgeschützt. In den Einstellungen der Teams-Benutzeroberfläche für Gruppenräume kann der Organisator, der Mitorganisator oder der Gruppenraummanager diese bestimmte Einstellung anpassen. Wenn die Option auf true festgelegt ist, werden die Teilnehmer automatisch in ihren festgelegten Gruppenraum übertragen. Wenn Sie diese Eigenschaft dagegen auf false festlegen, müssen Sie die join-Methode manuell aufrufen, um die Teilnehmenden in den Gruppenraum zu verschieben.
call Das Gruppenraumanruf-Objekt. Dieses Objekt wird zurückgegeben, wenn der Benutzer dem Gruppenraumanruf automatisch oder durch Aufrufen der join-Methode des assignedBreakoutRoom-Objekts beitritt. Diese Eigenschaft ist schreibgeschützt.
invitees Die Liste der eingeladenen Personen, die dem Gruppenraum zugewiesen sind. Diese Eigenschaft ist schreibgeschützt.

Gruppenraumeinstellungen

Gruppenräume nutzen eine gemeinsame Umgebung mit den folgenden Eigenschaften:

const disableReturnToMainMeeting : boolean = breakoutRoomsSettings.disableReturnToMainMeeting;
const roomEndTime : TimestampInfo = breakoutRoomsSettings.roomEndTime;
Gruppenraumeigenschaften Beschreibung
disableReturnToMainMeeting Deaktiviert die Möglichkeit für Teilnehmer, vom Gruppenraumanruf zur Hauptbesprechung zurückzukehren. Diese Eigenschaft ist schreibgeschützt. In den Einstellungen der Teams-Benutzeroberfläche für Gruppenräume kann der Organisator, der Mitorganisator oder der Gruppenraummanager diese spezifische Einstellung anpassen, um zu steuern, wann der Teilnehmer aus Gruppenräumen zur Hauptbesprechung zurückkehren kann.
roomEndTime Die Endzeit des Gruppenraums, die von einem Microsoft 365-Benutzer mit der Rolle „Organisator“, „Mitorganisator“ oder „Gruppenraummanager“ für die Hauptbesprechung festgelegt wurde. Diese Eigenschaft ist schreibgeschützt.

Problembehandlung

Fehlercode Subcode Ergebniskategorie Ursache Lösung
400 46250 ExpectedError Das Feature „Gruppenräume“ ist nur in Teams-Besprechungen verfügbar. Implementieren Sie einen eigenen Mechanismus für Gruppenräume, oder verwenden Sie Teams-Besprechungen.
405 46251 ExpectedError Azure Communication Services hat dieses Feature momentan deaktiviert. Warten Sie einige Tage ab, und versuchen Sie dann, die APIs zu verwenden.
500 46254 UnexpectedServerError Der Beitritt zum Gruppenraum ist aufgrund eines unerwarteten Fehlers nicht möglich. Stellen Sie sicher, dass der state von assignedBreakoutRoom den Wert open aufweist, und rufen Sie die breakoutRoomsFeature.assignedBreakoutRoom.join()-Methode explizit auf. Falls das Problem weiterhin besteht, sammeln Sie Browserkonsolenprotokolle, und wenden Sie sich an den Azure Communication Services-Support.
500 46255 UnexpectedServerError Die Hauptbesprechung kann nicht gehalten werden. Stellen Sie sicher, dass der state von assignedBreakoutRoom den Wert open aufweist, und rufen Sie die breakoutRoomsFeature.assignedBreakoutRoom.join()-Methode explizit auf. Falls das Problem weiterhin besteht, sammeln Sie Browserkonsolenprotokolle, und wenden Sie sich an den Azure Communication Services-Support.
412 46256 ExpectedError Der Beitritt zum Gruppenraum ist nicht möglich, weil der Raum geschlossen wurde. Stellen Sie sicher, dass der state von assignedBreakoutRoom den Wert open aufweist, und rufen Sie die breakoutRoomsFeature.assignedBreakoutRoom.join()-Methode explizit auf.
412 46257 UnexpectedServerError Die Hauptbesprechung kann nicht fortgesetzt werden. Folgen Sie den Anweisungen im Abschnitt Leave breakout room zum manuellen Verlassen des Gruppenraums. Falls das Problem weiterhin besteht, sammeln Sie Browserkonsolenprotokolle, und wenden Sie sich an den Azure Communication Services-Support.
412 46258 UnexpectedClientError Die Gruppenraumdetails können nicht gelesen werden. Sammeln Sie Browserkonsolenprotokolle, und wenden Sie sich an den Azure Communication Services-Support.
500 46259 UnexpectedServerError Der Gruppenraumanruf konnte nicht beendet werden. Folgen Sie den Anweisungen im Abschnitt Leave breakout room zum manuellen Verlassen des Gruppenraums.
412 46260 UnexpectedClientError Der Beitritt zum Gruppenraum ist nicht möglich, da dieser noch nicht zugewiesen wurde. Stellen Sie sicher, dass breakoutRoomsFeature.assignedBreakoutRoom die Details des zugewiesenen Gruppenraums enthält. Stellen Sie sicher, dass der state von assignedBreakoutRoom den Wert open aufweist, und rufen Sie die breakoutRoomsFeature.assignedBreakoutRoom.join()-Methode explizit auf.
412 46261 UnexpectedClientError Der Hauptbesprechung kann nicht beitreten werden. Versuchen Sie es erneut, indem Sie die Methode breakoutRoomsFeature.assignedBreakoutRoom.returnToMainMeeting() aufrufen. Falls das Problem weiterhin besteht, sammeln Sie Browserkonsolenprotokolle, und wenden Sie sich an den Azure Communication Services-Support.
412 46262 ExpectedError Bereits in der Hauptbesprechung. Rufen Sie diese Methode nur auf, wenn sich die Teilnehmenden im Gruppenraum befinden und aus der Hauptbesprechung entfernt werden.
412 46263 UnexpectedClientError Fehler beim Beenden vorhandener Gruppenraumanrufe. Versuchen Sie erneut, die Hangup()-Methode aufzurufen, um den Aufruf zu beenden. Rufen Sie die Join()-Methode auf, um den Gruppenraum erneut beizutreten.

Nächste Schritte