Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano, jak używać SDK do rozmów usługi Azure Communication Services, aby uzyskać szczegóły konferencji audio w spotkaniach Microsoft Teams. Ta funkcja umożliwia użytkownikom, którzy są już połączeni ze spotkaniem w Microsoft Teams, uzyskanie identyfikatora konferencji i numeru telefonu powiązanego ze spotkaniem. Funkcja konferencji audio w usłudze Teams zwraca kolekcję wszystkich płatnych i bezpłatnych numerów. Kolekcja zawiera towarzyszące nazwy krajów/regionów i nazwy miast, dając użytkownikom kontrolę nad tym, których szczegóły dotyczące numerów wdzwaniania w usłudze Teams będą używane.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
- Token dostępu użytkownika umożliwiający włączenie klienta wywołującego. Więcej informacji. Tworzenie tokenów dostępu i zarządzanie nimi.
- Opcjonalnie: ukończ szybki start, aby dodać połączenia głosowe do aplikacji.
Wsparcie
W tej sekcji opisano obsługę dla konferencji audio w usługach komunikacyjnych Azure.
Tożsamości i typy wywołań
W poniższej tabeli przedstawiono obsługę typów połączeń i tożsamości.
Tożsamości | Spotkanie Teams | Pokój | Połączenie 1:1 | Rozmowa grupowa | 1:1 Połączenie międzyoperacyjne w usłudze Teams | Połączenie międzyaplikacyjne Group Teams |
---|---|---|---|---|---|---|
Użytkownik usług komunikacyjnych | ✔️ | |||||
Użytkownik platformy Microsoft 365 | ✔️ |
Operacje
W poniższej tabeli przedstawiono obsługę poszczególnych interfejsów API w zakresie wywołań SDK dla różnych typów tożsamości.
Operacje | Użytkownik usług komunikacyjnych | Użytkownik platformy Microsoft 365 |
---|---|---|
Uzyskiwanie szczegółów konferencji głosowych | ✔️ | ✔️ |
Zestawy SDK
W poniższej tabeli przedstawiono obsługę funkcji Konferencje głosowe w poszczególnych zestawach SDK usług Azure Communication Services.
Platformy | Internet | Interfejs użytkownika sieci Web | Ios | Interfejs użytkownika systemu iOS | Android | Interfejs użytkownika systemu Android | Windows |
---|---|---|---|---|---|---|---|
Jest obsługiwana | ✔️ |
Instalacja zestawu SDK
Użyj polecenia , npm install
aby zainstalować wspólny zestaw SDK usług Azure Communication Services i wywołujący dla języka JavaScript:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Inicjowanie wymaganych obiektów
Wystąpienie CallClient
jest wymagane w przypadku większości operacji wywołania. Podczas tworzenia nowego CallClient
wystąpienia można skonfigurować je za pomocą opcji niestandardowych, takich jak Logger
wystąpienie.
CallClient
Za pomocą wystąpienia można utworzyć CallAgent
wystąpienie, wywołując element createCallAgent
. Ta metoda asynchronicznie zwraca CallAgent
obiekt wystąpienia.
Metoda createCallAgent
używa CommunicationTokenCredential
jako argumentu. Akceptuje token dostępu użytkownika.
Aby uzyskać dostęp getDeviceManager
do obiektu , możesz użyć CallClient
metody w wystąpieniu deviceManager
.
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()
Zarządzanie łącznością zestawu SDK z infrastrukturą firmy Microsoft
Wystąpienie Call Agent
pomaga zarządzać wywołaniami (aby dołączyć lub uruchomić wywołania). Aby można było pracować z zestawem SDK wywołującym, należy połączyć się z infrastrukturą firmy Microsoft, aby otrzymywać powiadomienia o połączeniach przychodzących i koordynować inne szczegóły połączeń. Istnieją Call Agent
dwa możliwe stany:
Połączono — Call Agent
wartość Connected
connectionStatue oznacza, że zestaw SDK klienta jest połączony i może odbierać powiadomienia z infrastruktury firmy Microsoft.
Rozłączone — Call Agent
wartość Disconnected
connectionStatue stanów występuje problem uniemożliwiający prawidłowe nawiązywanie połączenia z zestawem SDK.
Call Agent
należy utworzyć ponownie.
-
invalidToken
: Jeśli token wygasł lub jest nieprawidłoweCall Agent
wystąpienie rozłącza się z tym błędem. -
connectionIssue
: jeśli występuje problem z połączeniem klienta z infrastrukturą firmy Microsoft, po wielu ponownych próbachCall Agent
uwidacznia błądconnectionIssue
.
Możesz sprawdzić, czy środowisko lokalne Call Agent
jest połączone z infrastrukturą firmy Microsoft, sprawdzając bieżącą connectionState
wartość właściwości. Podczas aktywnego wywołania można nasłuchiwać zdarzenia, connectionStateChanged
aby określić, czy Call Agent
zmiany ze stanu Połączono z Odłączone .
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);
Konferencje głosowe spotkań w usłudze Microsoft Teams to rozszerzona funkcja podstawowego Call
interfejsu API. Najpierw należy zaimportować funkcje wywołujące z zestawu Sdk wywołującego:
import { Features} from "@azure/communication-calling";
Następnie możesz pobrać obiekt interfejsu API funkcji z wystąpienia wywołania:
const audioConferencingFeature = call.feature(Features.TeamsMeetingAudioConferencing);
Uzyskiwanie szczegółów konferencji głosowych na spotkaniu
Użyj następującego interfejsu API, aby uzyskać szczegóły konferencji głosowych spotkania
try {
const details: SDK.TeamsMeetingAudioConferencingDetails = audioConferencingFeature.getTeamsMeetingAudioConferencingDetails();
console.log(`Microsoft Teams Meeting Conference Id: ${details.phoneConferenceId}`);
details.phoneNumbers.forEach(dialInPhoneNumber => {
if (dialInPhoneNumber.tollPhoneNumber) {
console.log(`Dial-In Toll PhoneNumber: ${dialInPhoneNumber.tollPhoneNumber.phoneNumber}`);
}
else if (dialInPhoneNumber.tollFreePhoneNumber) {
console.log(`Dial-In TollFree PhoneNumber: ${dialInPhoneNumber.tollFreePhoneNumber.phoneNumber}`);
}
else if (dialInPhoneNumber.countryName) {
console.log(`Dial-In Country Name: ${dialInPhoneNumber.countryName}`);
}
else if (dialInPhoneNumber.cityName) {
console.log(`Dial-In City Name: ${dialInPhoneNumber.cityName}`);
}
})
} catch (e) {
console.error(e);
}
Rozwiązywanie problemów
Kod | Podkod | Kategoria wyników | Przyczyna | Rozwiązanie |
---|---|---|---|---|
400 | 45950 | Oczekiwany błąd | Funkcja konferencji głosowych jest dostępna tylko w spotkaniach usługi Teams | Dołączanie do spotkania w usłudze Teams przy użyciu skonfigurowanych konferencji głosowych |
405 | 45951 | Oczekiwany błąd | Usługa ACS wyłączyła konferencje głosowe | Tworzenie biletu pomocy technicznej platformy Azure w celu żądania pomocy |
403 | 45952 | Oczekiwany błąd | Szczegóły konferencji głosowych nie są dostępne przed dołączeniem do spotkania | Upewnij się, że obiekt wywołania jest w connected stanie przed wywołaniem interfejsu API, aby pobrać szczegóły dotyczące konferencji audio |
403 | 45953 | Oczekiwany błąd | Szczegóły konferencji głosowych nie są dostępne w holu | Upewnij się, że obiekt wywołania jest w connected stanie przed wywołaniem interfejsu API, aby pobrać szczegóły dotyczące konferencji audio |