Delen via


Overzicht van diagnostische gegevens vooraf aanroepen

Belangrijk

Deze functie van Azure Communication Services is momenteel beschikbaar als preview-versie.

Preview-API's en SDK's worden aangeboden zonder een service level agreement. U wordt aangeraden deze niet te gebruiken voor productieworkloads. Sommige functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden.

Raadpleeg aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.

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 functies vooraf aanroepen 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 welke platforms u diagnostische gegevens vooraf wilt laten inschakelen.

Vereisten

Toegang tot diagnostische gegevens vooraf aanroepen

Belangrijk

Diagnostische gegevens vooraf aanroepen zijn 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 callClientazure 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

Diagnostische gegevens vooraf bellen retourneren een volledige diagnose van het apparaat, waaronder details zoals apparaatmachtigingen, beschikbaarheid en compatibiliteit, statistieken over de gesprekskwaliteit en diagnostische gegevens in 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. Browser Controleert op en compatibiliteit en OS 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, is NotSupportedde eenvoudigste manier om dit 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 die wordt geretourneerd Unknown in gevallen waarin deze een juiste waarde moet 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 of NotAvailable meer waarden.


  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, packetLossen 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. Zie de mediakwaliteitsstatistieken voor een doorlopend gesprek voor meer informatie, waaronder instructies voor toegang.


  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 het geval van diagnostische gegevens vooraf bellen is de kosten voor 1 deelnemer x 30 seconden = $ 0,002.

Volgende stappen