Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Microsoft Teams Toplantısı Sesli Konferans ayrıntılarını almak için Azure İletişim Hizmetleri Arama SDK'sını nasıl kullanacağınız açıklanmaktadır. Bu işlev, zaten bir Microsoft Teams Toplantısına bağlı olan kullanıcıların toplantıyla ilişkili konferans kimliğini ve arayarak bağlanılan telefon numarasını alabilmesini sağlar. Teams Toplantısı Sesli Konferans özelliği, tüm ücretli ve ücretsiz numaraların listesini döndürür. Koleksiyon, kullanıcılara hangi Teams toplantısının arama ayrıntılarını kullanacaklarını seçme imkanı veren eşlik eden ülke/bölge adları ve şehir adları içerir.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- Çağıran istemciyi etkinleştirmek için kullanıcı erişim belirteci. Daha fazla bilgi için. Erişim belirteçleri oluşturma ve yönetme.
- İsteğe bağlı: Uygulamanıza sesli çağrı eklemek için hızlı başlangıcı tamamlayın.
Destek
Bu bölümde Azure İletişim Hizmetleri'da Sesli Konferans desteği açıklanmaktadır.
Kimlikler ve çağrı türleri
Aşağıdaki tabloda arama ve kimlik türleri desteği gösterilmektedir.
Kimlikler | Teams toplantısı | Oda | 1:1 arama | Grup çağrısı | 1:1 Teams birlikte çalışma araması | Grup Teams birlikte çalışma araması |
---|---|---|---|---|---|---|
İletişim Hizmetleri kullanıcısı | ✔️ | |||||
Microsoft 365 kullanıcısı | ✔️ |
İşlemler
Aşağıdaki tabloda, tek tek kimlik türleri için SDK'nın çağrılmasında tek tek API'ler için destek gösterilmektedir.
İşlemler | İletişim Hizmetleri kullanıcısı | Microsoft 365 kullanıcısı |
---|---|---|
Sesli konferans ayrıntılarını alma | ✔️ | ✔️ |
SDK
Aşağıdaki tabloda tek tek Azure İletişim Hizmetleri SDK'larda Sesli Konferans özelliğine yönelik destek gösterilmektedir.
Platformlar | İnternet | Web kullanıcı arabirimi | Ios | iOS kullanıcı arabirimi | Android | Android kullanıcı arabirimi | Windows |
---|---|---|---|---|---|---|---|
Desteklenir | ✔️ |
SDK’yı yükleyin
npm install
komutunu kullanarak JavaScript için Azure İletişim Hizmetleri Calling ve Common SDK'sını yükleyin:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Gerekli nesneleri başlatma
CallClient
Çoğu çağrı işlemi için bir örnek gereklidir. Yeni bir CallClient
örneği oluşturduğunuzda, bunu Logger
örneği gibi özel seçeneklerle yapılandırabilirsiniz.
CallClient
örneğiyle, CallAgent
çağrısını yaparak bir createCallAgent
örneği oluşturabilirsiniz. Bu yöntem zaman uyumsuz olarak bir CallAgent
örnek nesnesi döndürür.
createCallAgent
yöntemi, CommunicationTokenCredential
'yi bağımsız değişken olarak kullanır. Kullanıcı erişim belirtecini kabul eder.
getDeviceManager
örneğindeki CallClient
yöntemini kullanarak deviceManager
öğesine erişebilirsiniz.
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()
Microsoft altyapısına SDK bağlantısını yönetme
Örnek, Call Agent
çağrıları yönetmenize yardımcı olur (aramalara katılmak veya çağrıları başlatmak için). Arama SDK'nızın çalışması için gelen aramaların bildirimlerini almak ve diğer arama ayrıntılarını koordine etmek için Microsoft altyapısına bağlanması gerekir.
Call Agent
'nin iki olası durumu vardır.
Bağlı - Call Agent
connectionStatue değeri Connected
, istemci SDK'sının bağlı olduğu ve Microsoft altyapısından bildirim alabilen olduğu anlamına gelir.
Bağlantı Kesildi - Call Agent
Disconnected
bağlantıDurumu değeri, SDK'nın düzgün bağlanmasını engelleyen bir sorun olduğunu belirtir.
Call Agent
yeniden oluşturulmalıdır.
-
invalidToken
: Belirtecin süresi dolduysa veya geçersizseCall Agent
örnek bu hatayla bağlantı kesilir. -
connectionIssue
: İstemcinin Microsoft altyapısına bağlanmasıyla ilgili bir sorun varsa, birçok yeniden denemeden sonraCall Agent
connectionIssue
hatasını ortaya çıkarır.
Call Agent
özelliğinin geçerli değerini inceleyerek yerel connectionState
Microsoft altyapısına bağlı olup olmadığını denetleyebilirsiniz. Etkin bir çağrı sırasında connectionStateChanged
olayını dinleyerek Call Agent
durumundan Bağlantısız duruma değişiklik olup olmadığını belirleyebilirsiniz.
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);
Microsoft Teams Toplantı Sesli Konferans, çekirdek Call
API'nin genişletilmiş bir özelliğidir. İlk olarak Arama SDK'sından arama özelliklerini içeri aktarmanız gerekir:
import { Features} from "@azure/communication-calling";
Ardından çağrı örneğinden özellik API'si nesnesini alabilirsiniz:
const audioConferencingFeature = call.feature(Features.TeamsMeetingAudioConferencing);
Toplantının sesli konferans ayrıntılarını alma
Toplantının sesli konferans ayrıntılarını almak için aşağıdaki API'yi kullanın
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);
}
Sorun giderme
Kod | Alt kod | Sonuç Kategorisi | Nedeni | Çözüm |
---|---|---|---|---|
400 | 45950 | BeklenenHata | Sesli konferans özelliği yalnızca Teams toplantılarında kullanılabilir | Yapılandırılmış Sesli konferans ile Teams toplantısına katılma |
405 | 45951 | BeklenenHata | ACS hizmeti sesli konferans devre dışı bırakıldı | Yardım istemek için Azure Destek bileti oluşturma |
Kategori 403 | 45952 | BeklenenHata | Toplantıya katılmadan önce sesli konferans ayrıntılarına erişilemez. | Sesli konferans ayrıntılarını almak için API'yi çağırmadan önce çağrı nesnesinin connected durumunda olduğundan emin olun |
Kategori 403 | 45953 | BeklenenHata | Sesli konferans ayrıntıları lobide kullanılamaz | Sesli konferans ayrıntılarını almak için API'yi çağırmadan önce çağrı nesnesinin connected durumunda olduğundan emin olun |