Förbättra och hantera samtalskvalitet
Den här artikeln innehåller viktiga verktyg som du kan använda för att övervaka, felsöka och förbättra samtalskvaliteten i Azure Communication Services. Följande material hjälper dig att planera för bästa användarupplevelse.
Innan du läser den här artikeln bör du bekanta dig med översiktsinformation om samtal:
- Röst- och videosamtal: Översikt över Azure Communication Services Calling SDK
- Telefonsamtal: Integreringskoncept för PSTN (Public Switched Phone Network)
Förbereda nätverket och prioritera viktig nätverkstrafik med hjälp av QoS
När användarna börjar använda Azure Communication Services för samtal och möten kan de uppleva att en uppringares röst bryts upp eller skärs in och ut ur ett samtal eller möte. Delad video kan frysa, pixelera eller misslyckas helt och hållet. Det här problemet beror på DE IP-paket som representerar röst- och videotrafik som stöter på nätverksbelastning och anländer ur sekvens eller inte alls. Om det händer (eller för att förhindra att det händer i första hand) använder du Tjänstens kvalitet (QoS) genom att följa nätverksrekommendationerna.
Med QoS prioriterar du fördröjningskänslig nätverkstrafik (till exempel röst- eller videoströmmar). Du tillåter att trafiken "skärs i linje" framför trafik som är mindre känslig. Ett exempel på trafik med lägre prioritet är att ladda ned en ny app. I så fall är en extra sekund att ladda ned inte ett betydande problem.
QoS identifierar och markerar alla paket i realtidsströmmar med hjälp av Windows grupprincip-objekt och en routningsfunktion som kallas Portbaserade åtkomstkontrollistor. Den funktionen instruerar ditt nätverk att ge röst, video och skärmdelning sin egen dedikerade nätverksbandbredd.
Vi rekommenderar att du implementerar QoS i ditt interna nätverk samtidigt som du gör dig redo att distribuera din Azure Communication Services-lösning. Men du kan göra det när som helst. Om nätverket är tillräckligt litet kanske du inte behöver QoS.
Detaljerad vägledning finns i Nätverksoptimering.
Förbereda distributionen för kvalitets- och tillförlitlighetsundersökningar
Kvaliteten har olika definitioner, beroende på användningsfallet för kommunikation i realtid och användarnas perspektiv. Många variabler påverkar den upplevda kvaliteten på en realtidssamtalsupplevelse. En förbättring av en variabel kan orsaka en negativ ändring i en annan variabel. Om du till exempel ökar bildfrekvensen och upplösningen för ett videosamtal ökar nätverksbandbreddens användning och bearbetningskraft.
Fastställ kundens användningsfall och krav innan du börjar utveckla. Till exempel kanske en kund som behöver övervaka dussintals säkerhetskameraflöden samtidigt kanske inte behöver den maximala upplösning och bildfrekvens som varje videoström kan ge. I det här scenariot kan du använda API-funktionen videobegränsningar för att begränsa mängden bandbredd som varje videoström använder.
Implementera loggning på interna plattformar
Implementering av loggning enligt beskrivningen i självstudien om att hämta loggfiler är viktigt för att samla in information för intern utveckling. Detaljerade loggar hjälper dig att diagnostisera problem som är specifika för enhetsmodeller eller os-versioner. Vi uppmuntrar utvecklare som börjar konfigurera Logs-API:et för att få information om samtalslivslängden.
Implementera befintliga kvalitets- och tillförlitlighetsfunktioner före distributionen
Vi rekommenderar att du använder dessa lätt implementerade samtalsexempel eftersom de redan är optimerade för att ge användarna bästa samtalskvalitet.
Om exemplen inte uppfyller dina behov och du bestämmer dig för att anpassa din Azure Communication Services-samtalslösning implementerar du följande funktioner för att stödja en högkvalitativ samtalsupplevelse. Verktygen för dessa funktioner hjälper till att förhindra att vanliga kvalitets- och tillförlitlighetsproblem inträffar och diagnostiserar problem om de inträffar. Tänk på att vissa samtalsdata inte skapas eller lagras om du inte implementerar dessa funktioner.
I följande avsnitt beskrivs de verktyg som ska implementeras i faserna i ett anrop:
- Före ett samtal: Beredskap före samtal.
- Under ett samtal: Samtalskommunikation.
- Efter ett samtal: Övervakning och felsökning av samtalskvalitet och tillförlitlighet.
Före ett samtal
Genom att använda förhandsanropskontrollerna som Tillhandahålls av Azure Communication Services kan du lära dig en användares anslutningsstatus före samtalet och vidta proaktiva åtgärder för deras räkning. Om du till exempel får reda på att en användares anslutning är dålig kan du föreslå att de inaktiverar videon innan de ansluter till samtalet för att få en bättre ljudanslutning.
Verktyg för nätverksdiagnostik
Verktyget Nätverksdiagnostik ger en värdbaserad upplevelse som utvecklare kan använda för att verifiera anropsberedskap under utvecklingen. Du kan kontrollera om en användares enhets- och nätverksvillkor är optimala för att ansluta till tjänsten för att säkerställa en bra samtalsupplevelse. Verktyget utför diagnostik i nätverket, enheter och samtalskvalitet.
Genom att använda verktyget Nätverksdiagnostik kan du uppmuntra användarna att lösa tillförlitlighetsproblem och förbättra sin nätverksanslutning innan de ansluter till ett samtal.
Mer information finns i Verktyget nätverksdiagnostik.
API före anrop för diagnostik
Du kanske vill skapa ett eget diagnostikverktyg eller utföra en djupare integrering av verktyget Nätverksdiagnostik i ditt program. I så fall kan du använda API:et för förhandsanrop för att köra diagnostikverktyget för anropande SDK.
Med API:et före anrop kan du anpassa upplevelsen i användargränssnittet. Du kan sedan köra samma serie tester som verktyget Nätverksdiagnostik använder för att säkerställa kompatibilitet, anslutning och enhetsbehörigheter med ett testanrop. Du kan bestämma det bästa sättet att tala om för användarna hur de ska åtgärda problem innan anropen börjar. Du kan också utföra specifika kontroller när du felsöker problem med kvalitet och tillförlitlighet.
Om en användares maskinvarutest till exempel har problem kan du meddela användaren att hantera förväntningar och ändringar för framtida anrop.
Mer information finns i Diagnostik före anrop.
Anropsklienter i konflikt
Eftersom röst- och videosamtal i Azure Communication Services körs i webb- och mobilwebbläsare kan användarna ha flera webbläsarflikar som kör separata instanser av Azure Communication Services Calling SDK. Den här situationen kan inträffa av olika orsaker, till exempel:
- Användaren glömde att stänga en tidigare flik.
- Användaren kunde inte ansluta till ett samtal utan en mötesorganisatör närvarande. Användaren försöker igen för att välja länken för att ansluta till mötet, vilket öppnar en separat mobil webbläsarflik.
Att ha flera webbläsarflikar för samtal samtidigt orsakar störningar i ljud- och videobeteendet på det samtal som användaren försöker ansluta till (det vill säga målanropet). Du bör se till att flera webbläsarflikar inte är öppna innan ett anrop startar och (via övervakning) under samtalets hela livscykel. Du kan proaktivt meddela kunder att stänga sina överflödiga flikar eller hjälpa dem att ansluta ett samtal korrekt med användbara meddelanden om de först inte kan ansluta till ett samtal.
Om du vill kontrollera om användaren har flera instanser av Azure Communication Services som körs i en webbläsare läser du Så här identifierar du om ett program som använder Azure Communication Services SDK är aktivt på flera flikar i en webbläsare.
Under ett samtal
Under ett anrop kan en användares nätverksförhållanden försämras, eller så kan de stöta på tillförlitlighets- och kompatibilitetsproblem. Dessa situationer kan leda till en dålig samtalsupplevelse. Följande avsnitt hjälper dig att använda funktioner för att hantera problem i ett anrop och kommunicera med dina användare.
Användarinriktad diagnostik
När en användare är i ett samtal är det viktigt att meddela dem i realtid om problem med samtalet. Funktionen Användarinriktad diagnostik innehåller realtidsflaggor för problem som påverkar användaren, till exempel om mikrofonen är avstängd när de pratar eller har dålig nätverkskvalitet.
Du kan skräddarsy dina användargränssnittsmeddelanden så att de passar dina scenarier bäst. Till exempel:
- Om en flagga identifierar ett nätverksproblem kan du uppmana användarna att stänga av video, ändra nätverk eller flytta till en plats som har ett bättre nätverksvillkor eller en bättre anslutning.
- Om en flagga identifierar ett enhetsproblem kan du knuffa användaren att byta enhet.
Förutom meddelanden kan du agera för användarnas räkning och överväga proaktiva metoder för att skydda den begränsade bandbredd som en användare har. Om du upptäcker att användarna inte konsekvent inaktiverar sin video när de har fått ett meddelande från dig kan du proaktivt inaktivera en användares video för att prioritera deras ljudanslutning. Du kan till och med dölja videofunktioner från kunder i användargränssnittet innan de ansluter till ett anrop.
Mer information finns i Användarinriktad diagnostik.
Videobegränsningar
Videoströmmar förbrukar stora mängder nätverksbandbredd. Om du vet att användarna har begränsad nätverksbandbredd eller dåliga nätverksförhållanden kan du styra nätverksanvändningen för en användares videoanslutning med hjälp av videobegränsningar. När du begränsar mängden bandbredd som en användares videoström kan använda kan du skydda den bandbredd som behövs för god ljudkvalitet i dåliga nätverksmiljöer.
Mer information finns i Videobegränsningar.
Volymindikator
Ibland kan användarna inte höra varandra. Talaren kanske är för tyst, lyssnarens enhet tar inte emot ljudpaketen eller så blockerar ett ljudenhetsproblem ljudet. Användarna vet inte när den andra personen inte kan höra dem. Du kan använda indata- och utdataindikatorn för att:
- Ange om en användares volym är låg eller frånvarande.
- Uppmana användaren att tala högre eller undersöka ett ljudenhetsproblem via användargränssnittet.
Mer information finns i snabbstarten om att lägga till en volymindikator i webbsamtal.
Statistik över mediekvalitet
Eftersom nätverksvillkoren kan ändras under ett samtal kan användarna rapportera dålig ljud- och videokvalitet även om de startade samtalet utan problem. Med funktionen för mediekvalitetsstatistik får du detaljerade kvalitetsmått för varje inkommande och utgående ljud-, video- och skärmdelningsström. Dessa detaljerade insikter hjälper dig att övervaka pågående anrop, visa användarna deras status för nätverkskvalitet under ett anrop och felsöka enskilda anrop.
Måtten i den här funktionen hjälper till att indikera problem i Azure Communication Services Client SDK-medieströmmar för att skicka och ta emot. Du kan till exempel aktivt övervaka värdet för den utgående videoströmmen availableBitrate
, lägga märke till en beständig sänkning under de rekommenderade 1,5 Mbit/s och meddela användaren att videokvaliteten försämras.
Serverloggdata ger dig bara en allmän sammanfattning av anropet när det har avslutats. Den detaljerade mediestatistiken ger mått på låg nivå under hela anropets varaktighet och därefter för djupare analys.
Mer information finns i Mediekvalitetsstatistik.
API för optimalt antal videor
Under ett gruppsamtal med två eller flera deltagare kan en användares videokvalitet variera på grund av ändringar i nätverksvillkoren och deras specifika maskinvarubegränsningar. Genom att använda API:et optimalt antal video kan du förbättra en användares samtalskvalitet genom att förstå hur många videoströmmar deras lokala slutpunkt kan rendera åt gången utan sämre kvalitet.
Genom att implementera den här funktionen kan du bevara samtalskvaliteten och bandbredden för lokala slutpunkter som annars skulle försöka återge video dåligt. API:et exponerar egenskapen optimalVideoCount
, som dynamiskt ändras som svar på nätverks- och maskinvarufunktionerna i en lokal slutpunkt. Den här informationen är tillgänglig vid körning och hämtar uppdateringar under hela anropet, så att du kan justera en användares visuella upplevelse när nätverks- och maskinvaruvillkoren ändras.
Information om hur du implementerar den här funktionen finns i vägledningen för webbplattformen Hantera video under anrop.
Efter ett samtal
Innan du släpper och skalar din Azure Communication Services-samtalslösning implementerar du följande övervakningsfunktioner för kvalitet och tillförlitlighet för att säkerställa att du samlar in tillgängliga loggar och mått. Samtalsdata lagras inte förrän du implementerar funktionerna, så du kan inte övervaka och felsöka samtalskvaliteten och tillförlitligheten utan dem.
Mer information finns i Loggar för röstsamtal och videosamtal i Azure Communication Services.
Börja samla in samtalsloggar
Läs den här dokumentationen för att börja samla in samtalsloggar: Aktivera loggar via diagnostikinställningar i Azure Monitor.
Om du vill visa och analysera data i Azure Monitor rekommenderar vi att du väljer kategorigruppen allLogs och väljer målinformationen för Skicka till Log Analytics-arbetsytan. Om du inte har en Log Analytics-arbetsyta att skicka dina data till skapar du en.
Vi rekommenderar att du övervakar dina dataanvändnings- och kvarhållningsprinciper för kostnadsöverväganden efter behov. Mer information finns i Kontrollera kostnader.
Diagnostisera anrop med hjälp av samtalsdiagnostik
Samtalsdiagnostik är en Azure Monitor-upplevelse som ger skräddarsydda insikter via specialiserade telemetri- och diagnostiksidor i Azure Portal.
När du har börjat lagra loggdata på Log Analytics-arbetsytan kan du visualisera sökningen efter enskilda anrop och visualisera data i Samtalsdiagnostik. I ditt Azure Monitor-konto går du till din Azure Communication Services-resurs och letar upp Samtalsdiagnostik på tjänstmenyn. Mer information om hur du använder den här funktionen på bästa sätt finns i Anropa diagnostik.
Granska samtalskvaliteten med hjälp av röst- och videoinsikter
När du har aktiverat loggar kan du visa samtalsinsikter i din Azure-resurs med hjälp av visualiseringsexemplen i Röst- och videoinsikter.
Du kan ändra befintliga arbetsböcker eller till och med skapa dina egna. Mer information finns i Azure-arbetsböcker.
Exempel på djupare förslag på analys finns i Frågeanropsloggar.
Analysera användarsentiment med hjälp av undersökningen Avsluta samtal
Kundfeedback är ovärderlig. Undersökningen Avsluta samtal hjälper dig att förstå hur användarna uppfattar den övergripande kvaliteten och tillförlitligheten för din JavaScript- eller Web SDK-samtalslösning.
Du kan ändra undersökningen till olika format om du redan har en undersökningslösning på plats. När du har publicerat undersökningsdata kan du visa resultaten i Azure Monitor för analys och förbättringar. Azure Communication Services använder också undersöknings-API-resultaten för att övervaka och förbättra samtalskvaliteten och tillförlitligheten.
Information om hur du implementerar funktionen finns i Självstudie: Använda undersökningen om slutsamtal för att samla in feedback från användare. När du har aktiverat diagnostikinställningar för att samla in dina undersökningsdata kan du använda exempelsamtalsloggfrågor i Azure Log Analytics för att analysera användarens upplevda kvalitetsupplevelse. Användarfeedback kan visa dig samtalsproblem som du inte visste att du hade och hjälpa dig att prioritera dina kvalitetsförbättringar.
Mer information finns i Översikt över undersökning av samtalsslut.
Analysera dina samtalsdata direkt från klienten
Genom att samla in samtalsdata som mediestatistik, användarinriktad diagnostik och API-information före anrop kan du granska anrop av dålig kvalitet för att utföra rotorsaksanalyser när du felsöker problem.
En användare kan till exempel ha ett timslångt samtal och rapportera dåligt ljud vid ett tillfälle i samtalet. Anropet kan ha utlöst en flagga för användarriktad diagnostik som indikerade ett allvarligt problem med kvaliteten på en inkommande eller utgående medieström.
Genom att lagra detaljerad mediestatistik från anropet kan du granska när flaggan Användarinriktad diagnostik inträffade för att se om höga nivåer av paketförlust, jitter eller svarstid runt den här tiden tyder på ett dåligt nätverkstillstånd. Du kan till exempel utforska om nätverket påverkades av en extern klients ohanterade nätverk, onödig nätverkstrafik på grund av felaktiga QoS-nätverksprioriteringsprinciper eller ett onödigt virtuellt privat nätverk (VPN).
Kommentar
I regel rekommenderar vi att du prioriterar bandbredden för en användares ljudanslutning före videoanslutningen. Vi rekommenderar att du prioriterar både ljud och video före annan nätverkstrafik. När ett nätverk inte har stöd för både ljud och video kan du proaktivt inaktivera en användares video eller knuffa en användare att inaktivera videon.
Begära support
Om du stöter på problem med kvalitet eller tillförlitlighet som du inte kan lösa kan du skicka en begäran om teknisk support. Ju mer information du kan ange i din begäran, desto bättre. (Interna loggar är avgörande för att optimera svarstiden.) Du kan dock fortfarande skicka begäranden med partiell information för att starta din förfrågan. Mer information finns i Skapa en Azure-supportbegäran.
Om du får ett meddelande om licenskrav när du försöker begära teknisk support kan du behöva välja en betald Azure Support plan som bäst överensstämmer med dina behov. Se Jämför supportplaner.
Om du föredrar att inte köpa support kan du dra nytta av community-support. Se Support för Azure Community.
Övriga beaktanden
Om du inte har åtkomst till kundens Azure Portal för att visa data som är kopplade till deras Azure-resurs-ID kan du begära att få fråga deras arbetsytor för att förbättra kvaliteten för deras räkning. Mer information finns i Fråga efter data mellan Log Analytics-arbetsytor, program och resurser i Azure Monitor.
Relaterat innehåll
- Lär dig andra metodtips: Metodtips: Azure Communication Services anropar SDK:er.
- Utforska kända problem: Kända problem i SDK:er och API:er.
- Lär dig hur du felsöker anrop: Anropa diagnostik.
- Lär dig hur du använder Log Analytics-arbetsytan: Log Analytics-självstudien.
- Skapa egna frågor: Kom igång med loggfrågor i Azure Monitor.