Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie van Azure Communication Services is momenteel beschikbaar als preview-versie. Functies in preview zijn openbaar beschikbaar en kunnen worden gebruikt door alle nieuwe en bestaande Microsoft-klanten.
Preview-API's en SDK's worden aangeboden zonder een service level agreement. U wordt aangeraden deze niet te gebruiken voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of mogelijkheden zijn mogelijk beperkt.
Voor meer informatie, zie Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews.
Met de api-functie vooraf aanroepen kunnen ontwikkelaars programmatisch de gereedheid van een client valideren om deel te nemen aan een Azure Communication Services-aanroep. U hebt alleen toegang tot pre-call functies met behulp van de Calling SDK. De diagnostische functie vooraf bellen biedt meerdere diagnostische gegevens, waaronder apparaat, verbinding en gesprekskwaliteit. De diagnostische functie vooraf aanroepen is alleen beschikbaar voor het web (JavaScript). We zijn van plan om deze mogelijkheden in de toekomst in te schakelen op verschillende platforms. Geef ons feedback over op welke platforms u de pre-call diagnostics wilt inschakelen.
Vereisten
Een Azure-account met een actief abonnement. Gratis een account maken
Node.js actieve LTS-versies (Long Term Support) worden aanbevolen.
Een actieve Communication Services-resource. Een Communication Services-resource maken.
Een token voor gebruikerstoegang voor het instantiëren van de client voor oproepen. Meer informatie over tokens voor gebruikerstoegang maken en beheren. U kunt ook de Azure CLI gebruiken en de volgende opdracht uitvoeren met uw verbindingsreeks om een gebruiker en een toegangstoken te maken. Vergeet niet om de verbindingsreeks uit de resource te kopiëren via Azure Portal.
az communication identity token issue --scope voip --connection-string "yourConnectionString"
Zie Azure CLI gebruiken voor het maken en beheren van toegangstokens voor meer informatie.
Toegang tot diagnostische gegevens voorafgaande aan een gesprek
Belangrijk
Pre-calldiagnostiek is beschikbaar vanaf versie 1.9.1-beta.1 van de Calling SDK. Zorg ervoor dat u die versie of hoger gebruikt wanneer u deze instructies volgt.
Als u diagnostische gegevens vooraf wilt aanroepen, moet u een callClient
azure Communication Services-toegangstoken initialiseren en inrichten. Daar hebt u toegang tot de PreCallDiagnostics
functie en de startTest
methode.
import { CallClient, Features} from "@azure/communication-calling";
import { AzureCommunicationTokenCredential } from '@azure/communication-common';
const callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential("INSERT ACCESS TOKEN");
const preCallDiagnosticsResult = await callClient.feature(Features.PreCallDiagnostics).startTest(tokenCredential);
Zodra de uitvoering is voltooid, hebben ontwikkelaars toegang tot het resultaatobject.
Diagnostische resultaten
Diagnostiek voorafgaand aan het gesprek geeft een volledige diagnose van het apparaat, inclusief details zoals apparaatmachtigingen, beschikbaarheid en compatibiliteit, statistieken over de gesprekskwaliteit en diagnostiek tijdens het gesprek. De resultaten worden geretourneerd als een PreCallDiagnosticsResult
object.
export declare type PreCallDiagnosticsResult = {
deviceAccess: Promise<DeviceAccess>;
deviceEnumeration: Promise<DeviceEnumeration>;
inCallDiagnostics: Promise<InCallDiagnostics>;
browserSupport?: Promise<DeviceCompatibility>;
id: string;
callMediaStatistics?: Promise<MediaStatsCallFeature>;
};
U kunt afzonderlijke resultaatobjecten openen met behulp van het preCallDiagnosticsResult
type. Resultaten voor afzonderlijke tests worden geretourneerd wanneer ze worden voltooid, waarbij veel van de testresultaten onmiddellijk beschikbaar zijn. Als u de inCallDiagnostics
test gebruikt, kan het tot 1 minuut duren voordat de test de kwaliteit van de video en audio valideert.
Browserondersteuning
Browsercompatibiliteitscontrole. Controleert op compatibiliteit van Browser
en OS
, en retourneert een Supported
of NotSupported
waarde.
const browserSupport = await preCallDiagnosticsResult.browserSupport;
if(browserSupport) {
console.log(browserSupport.browser)
console.log(browserSupport.os)
}
Als de test mislukt en de browser die door de gebruiker wordt gebruikt NotSupported
is, is de makkelijkste manier om dat op te lossen door de gebruiker te vragen over te schakelen naar een ondersteunde browser. Raadpleeg de ondersteunde browsers in calling SDK-overzicht > javaScript Calling SDK-ondersteuning per besturingssysteem en browser.
Notitie
Bekend probleem: browser support
test retourneert Unknown
in gevallen waarin het de juiste waarde zou moeten retourneren.
Apparaattoegang
De machtigingscontrole bepaalt of video- en audioapparaten beschikbaar zijn vanuit het perspectief van machtigingen. Biedt boolean
waarde voor audio
en video
apparaten.
const deviceAccess = await preCallDiagnosticsResult.deviceAccess;
if(deviceAccess) {
console.log(deviceAccess.audio)
console.log(deviceAccess.video)
}
Als de test mislukt en de machtigingen onwaar zijn voor audio en video, mag de gebruiker niet doorgaan met deelnemen aan een gesprek. In plaats daarvan vraagt u de gebruiker om de machtigingen in te schakelen. De beste manier om dit te doen, is door de specifieke instructies te geven voor toegang tot machtigingen op basis van het besturingssysteem, de versie en de browser die ze gebruiken. Zie de controlelijst voor geavanceerde belervaringen in webbrowsers voor meer informatie over machtigingen.
Opsomming van apparaat
Beschikbaarheid van apparaten. Controleert of microfoon-, camera- en luidsprekerapparaten worden gedetecteerd in het systeem en klaar zijn voor gebruik. Retourneert een Available
-waarde of NotAvailable
-waarde.
const deviceEnumeration = await preCallDiagnosticsResult.deviceEnumeration;
if(deviceEnumeration) {
console.log(deviceEnumeration.microphone)
console.log(deviceEnumeration.camera)
console.log(deviceEnumeration.speaker)
}
Als apparaten niet beschikbaar zijn, mag de gebruiker niet doorgaan met deelnemen aan een gesprek. In plaats daarvan vraagt u de gebruiker om apparaatverbindingen te controleren om ervoor te zorgen dat headsets, camera's of luidsprekers correct zijn aangesloten. Zie Video beheren tijdens gesprekken voor meer informatie over apparaatbeheer.
Diagnostische gegevens van InCall
Voert een snelle oproep uit om metrische gegevens voor audio en video te controleren en resultaten terug te geven. Bevat connectiviteit (connected
, Booleaanse waarde), bandbreedtekwaliteit (bandWidth
, 'Bad' | 'Average' | 'Good'
) en diagnostische oproepdiagnose voor audio en video (diagnostics
). De opgegeven diagnostische categorieën omvatten jitter
, packetLoss
en rtt
resultaten worden gegenereerd met behulp van een eenvoudige kwaliteitsklasse ('Bad' | 'Average' | 'Good'
).
InCall diagnostics maakt gebruik van mediakwaliteitsstatistieken om kwaliteitsscores te berekenen en problemen te diagnosticeren. Tijdens de diagnose vooraf zijn de volledige set statistieken over mediakwaliteit beschikbaar voor gebruik. Deze statistieken omvatten onbewerkte waarden voor video- en audiogegevens die u programmatisch kunt gebruiken.
De InCall-diagnose biedt een handige laag boven op de statistieken van mediakwaliteit om de resultaten te gebruiken zonder dat alle onbewerkte gegevens hoeven te worden verwerkt. Voor meer informatie, waaronder instructies voor toegang, zie Mediakwaliteitsstatistieken voor een doorlopend gesprek.
const inCallDiagnostics = await preCallDiagnosticsResult.inCallDiagnostics;
if(inCallDiagnostics) {
console.log(inCallDiagnostics.connected)
console.log(inCallDiagnostics.bandWidth)
console.log(inCallDiagnostics.diagnostics.audio)
console.log(inCallDiagnostics.diagnostics.video)
}
In deze stap zijn er meerdere mogelijke foutpunten. De waarden die door de API worden geleverd, zijn gebaseerd op de drempelwaarden die door de service zijn vereist. De onbewerkte drempelwaarden vindt u in statistieken over mediakwaliteit.
- Als een verbinding mislukt, vraagt u gebruikers om hun netwerkverbinding opnieuw te controleren. Verbindingsfouten kunnen ook worden toegeschreven aan netwerkvoorwaarden zoals DNS, proxy's of firewalls. Zie Aanbevelingen voor netwerken voor meer informatie over aanbevolen netwerkinstellingen.
- Als bandbreedte is
Bad
, vraagt u gebruikers om een ander netwerk te proberen of de beschikbaarheid van bandbreedte in hun huidige netwerk te controleren. Zorg ervoor dat er geen andere activiteiten met hoge bandbreedte plaatsvinden.
Prijzen
Wanneer de diagnostische test vóór aanroep achter de schermen wordt uitgevoerd, worden belminuten gebruikt om de diagnose uit te voeren. De test duurt ongeveer 30 seconden, waarbij gebruik wordt gemaakt van 30 seconden aan beltijd die wordt in rekening gebracht tegen het standaardtarief van $ 0,004 per deelnemer per minuut. Voor diagnose voorafgaand aan het gesprek zijn de kosten voor 1 deelnemer x 30 seconden = $ 0,002.