Udostępnij za pośrednictwem


Ulepszanie jakości połączeń i zarządzanie nimi

W tym artykule przedstawiono kluczowe narzędzia, których można użyć do monitorowania, rozwiązywania problemów i poprawy jakości połączeń w usługach Azure Communication Services. Poniższe materiały ułatwiają zaplanowanie najlepszego środowiska użytkownika.

Przed przeczytaniem tego artykułu zapoznaj się z informacjami o omówieniu wywołania:

Przygotowywanie sieci i określanie priorytetów ważnego ruchu sieciowego przy użyciu funkcji QoS

Gdy użytkownicy zaczynają korzystać z usług Azure Communication Services na potrzeby połączeń i spotkań, mogą doświadczyć zerwania głosu rozmówców lub cięcia i wylogowania się z połączenia lub spotkania. Udostępnione wideo może całkowicie zablokować lub utworzyć piksel albo zakończyć się niepowodzeniem. Ten problem jest spowodowany pakietami IP reprezentującymi ruch głosowy i wideo napotykający przeciążenie sieci i wychodzące z sekwencji lub w ogóle nie. Jeśli tak się stanie (lub zapobiec jego wystąpieniu w pierwszej kolejności), użyj funkcji Jakości usług (QoS), postępując zgodnie z zaleceniami dotyczącymi sieci.

W przypadku funkcji QoS priorytetem jest ruch sieciowy z uwzględnieniem opóźnień (na przykład strumienie głosowe lub wideo). Zezwalasz, aby ruch był "wycinany w kolejce" przed ruchem, który jest mniej wrażliwy. Przykładem ruchu o niższym priorytcie jest pobranie nowej aplikacji. W takim przypadku dodatkowa sekunda pobierania nie jest istotnym problemem.

Funkcja QoS identyfikuje i oznacza wszystkie pakiety w strumieniach czasu rzeczywistego przy użyciu obiektów zasad grupy systemu Windows i funkcji routingu o nazwie Listy kontroli dostępu oparte na portach. Ta funkcja instruuje twoją sieć, aby udzielała głosu, wideo i ekranu współużytkowania własnej dedykowanej przepustowości sieci.

Najlepiej zaimplementować funkcję QoS w sieci wewnętrznej przy jednoczesnym uzyskaniu gotowości do wdrożenia rozwiązania Azure Communication Services. Ale możesz to zrobić w dowolnym momencie. Jeśli sieć jest wystarczająco mała, może nie być potrzebna funkcja QoS.

Aby uzyskać szczegółowe wskazówki, zobacz Optymalizacja sieci.

Przygotowywanie wdrożenia do badań dotyczących jakości i niezawodności

Jakość ma różne definicje, w zależności od przypadku użycia komunikacji w czasie rzeczywistym i perspektywy użytkowników. Wiele zmiennych wpływa na postrzeganą jakość środowiska wywoływania w czasie rzeczywistym. Poprawa w jednej zmiennej może spowodować ujemną zmianę w innej zmiennej. Na przykład zwiększenie szybkości klatek i rozdzielczości wywołania wideo zwiększa wykorzystanie przepustowości sieci i moc obliczeniową.

Określ przypadki użycia i wymagania klienta przed rozpoczęciem opracowywania. Na przykład klient, który musi jednocześnie monitorować dziesiątki kanałów informacyjnych kamer zabezpieczeń, może nie potrzebować maksymalnej rozdzielczości i szybkości klatek na sekundę, jaką może zapewnić każdy strumień wideo. W tym scenariuszu można użyć funkcji interfejsu API ograniczeń wideo, aby ograniczyć przepustowość używaną przez każdy strumień wideo.

Implementowanie rejestrowania na platformach natywnych

Implementowanie rejestrowania zgodnie z opisem w samouczku dotyczącym pobierania plików dziennika ma kluczowe znaczenie dla zbierania szczegółów na potrzeby programowania natywnego. Szczegółowe dzienniki pomagają w diagnozowaniu problemów specyficznych dla modeli urządzeń lub wersji systemu operacyjnego. Zachęcamy deweloperów, którzy zaczynają konfigurować interfejs API dzienników, aby uzyskać szczegółowe informacje o okresie istnienia wywołań.

Implementowanie istniejących możliwości jakości i niezawodności przed wdrożeniem

Zalecamy użycie tych łatwych w implementacji przykładów wywołań, ponieważ są one już zoptymalizowane pod kątem zapewnienia użytkownikom najlepszej jakości połączeń.

Jeśli przykłady nie spełniają Twoich potrzeb i zdecydujesz się dostosować rozwiązanie wywołujące usługi Azure Communication Services, zaimplementuj następujące możliwości, aby obsługiwać wysokiej jakości środowisko połączeń. Narzędzia do tych możliwości pomagają zapobiegać występowaniu typowych problemów z jakością i niezawodnością oraz diagnozować problemy, jeśli wystąpią. Należy pamiętać, że niektóre dane wywołań nie są tworzone ani przechowywane, chyba że zostaną zaimplementowane te możliwości.

W poniższych sekcjach szczegółowo opisano narzędzia do implementacji w fazach wywołania:

  • Przed wezwaniem: Gotowość przed wezwaniem.
  • Podczas połączenia: komunikacja w wywołaniu.
  • Po wywołaniu: Monitorowanie i rozwiązywanie problemów z jakością i niezawodnością wywołań.

Przed połączeniem

Korzystając z kontroli przed wywołaniami zapewnianych przez usługi Azure Communication Services, możesz poznać stan połączenia użytkownika przed wywołaniem i podjąć aktywne działania w ich imieniu. Jeśli na przykład dowiesz się, że połączenie użytkownika jest słabe, możesz zasugerować, że wyłączy wideo przed dołączeniem do połączenia w celu uzyskania lepszego połączenia audio.

Narzędzie diagnostyczne sieci

Narzędzie diagnostyki sieci udostępnia środowisko hostowane dla deweloperów w celu weryfikowania gotowości wywołań podczas programowania. Możesz sprawdzić, czy urządzenie użytkownika i warunki sieciowe są optymalne do nawiązania połączenia z usługą, aby zapewnić doskonałe środowisko połączeń. Narzędzie wykonuje diagnostykę sieci, urządzeń i jakości wywołań.

Korzystając z narzędzia diagnostyki sieci, możesz zachęcić użytkowników do rozwiązywania problemów z niezawodnością i ulepszania połączenia sieciowego przed dołączeniem do połączenia.

Aby uzyskać więcej informacji, zobacz Narzędzie diagnostyczne sieci.

Interfejs API przed wywołaniem na potrzeby diagnostyki

Być może chcesz utworzyć własne narzędzie diagnostyczne lub przeprowadzić głębszą integrację narzędzia diagnostyki sieciowej z aplikacją. Jeśli tak, możesz użyć interfejsu API przed wywołaniami, aby uruchomić narzędzie diagnostyczne dla zestawu SDK wywołującego.

Interfejs API przed wywołaniami umożliwia dostosowanie środowiska w interfejsie użytkownika. Następnie można uruchomić tę samą serię testów używanych przez narzędzie diagnostyki sieciowej w celu zapewnienia zgodności, łączności i uprawnień urządzenia z wywołaniem testowym. Możesz zdecydować, jak najlepiej poinformować użytkowników, jak rozwiązać problemy przed rozpoczęciem wywołań. Podczas rozwiązywania problemów z jakością i niezawodnością można również przeprowadzić określone kontrole.

Jeśli na przykład test sprzętowy użytkownika ma problem, możesz powiadomić użytkownika o zarządzaniu oczekiwaniami i zmianami w przyszłych wywołaniach.

Aby uzyskać więcej informacji, zobacz Diagnostyka przed wywołaniem.

Klienci wywołujący konflikt

Ponieważ połączenia głosowe i wideo usług Azure Communication Services są uruchamiane w przeglądarkach internetowych i mobilnych, użytkownicy mogą mieć wiele kart przeglądarki z oddzielnymi wystąpieniami zestawu SDK wywołującego usługi Azure Communication Services. Taka sytuacja może wystąpić z różnych powodów, takich jak następujące przykłady:

  • Użytkownik zapomniał zamknąć poprzednią kartę.
  • Użytkownik nie mógł dołączyć do połączenia bez obecności organizatora spotkania. Użytkownik ponownie wybierz link umożliwiający dołączenie do spotkania, co spowoduje otwarcie oddzielnej karty przeglądarki mobilnej.

Posiadanie wielu kart przeglądarki połączeń w tym samym czasie powoduje zakłócenia w zachowaniu dźwięku i wideo w wywołaniu, które użytkownik próbuje dołączyć (czyli wywołanie docelowe). Upewnij się, że wiele kart przeglądarki nie jest otwartych przed rozpoczęciem wywołania i (przez monitorowanie) w całym cyklu życia wywołania. Możesz aktywnie powiadamiać klientów o zamykaniu nadmiarowych kart lub pomóc im w prawidłowym połączeniu z przydatnymi wiadomościami, jeśli początkowo nie mogą dołączyć do połączenia.

Aby sprawdzić, czy użytkownik ma wiele wystąpień usług Azure Communication Services uruchomionych w przeglądarce, zobacz Jak wykryć, czy aplikacja korzystająca z zestawu SDK usług Azure Communication Services jest aktywna na wielu kartach przeglądarki.

Podczas połączenia

Podczas wywołania warunki sieciowe użytkownika mogą się pogorszyć lub mogą wystąpić problemy z niezawodnością i zgodnością. Takie sytuacje mogą spowodować złe wywołanie środowiska. Poniższe sekcje ułatwiają stosowanie funkcji do zarządzania problemami w wywołaniu i komunikowania się z użytkownikami.

Diagnostyka skierowana do użytkownika

Gdy użytkownik jest w wywołaniu, ważne jest, aby powiadomić ich w czasie rzeczywistym o problemach podczas rozmowy. Funkcja diagnostyki użytkownika udostępnia flagi czasu rzeczywistego dla problemów, które wpływają na użytkownika, takie jak wyciszenie mikrofonu podczas rozmowy lub złej jakości sieci.

Możesz dostosować komunikaty interfejsu użytkownika, aby najlepiej pasowały do Twoich scenariuszy. Na przykład:

  • Jeśli flaga identyfikuje problem z siecią, możesz poprosić użytkowników o wyłączenie wideo, zmianę sieci lub przejście do lokalizacji, która ma lepszy stan sieci lub połączenie.
  • Jeśli flaga identyfikuje problem z urządzeniem, możesz nachylić użytkownika, aby przełączyć urządzenia.

Oprócz obsługi komunikatów możesz podejmować działania w imieniu użytkowników i brać pod uwagę proaktywne podejścia do ochrony ograniczonej przepustowości, którą ma użytkownik. Jeśli okaże się, że użytkownicy nie będą konsekwentnie wyłączać wideo po otrzymaniu powiadomienia od Ciebie, możesz aktywnie wyłączyć wideo użytkownika, aby określić priorytety połączenia audio. Możesz nawet ukryć możliwości wideo od klientów w interfejsie użytkownika, zanim dołączą do połączenia.

Aby uzyskać więcej informacji, zobacz Diagnostyka użytkownika.

Ograniczenia wideo

Strumienie wideo zużywają duże ilości przepustowości sieci. Jeśli wiesz, że użytkownicy mają ograniczoną przepustowość sieci lub słabe warunki sieciowe, możesz kontrolować użycie sieci połączenia wideo użytkownika przy użyciu ograniczeń wideo. Jeśli ograniczasz przepustowość, którą może zużywać strumień wideo użytkownika, możesz chronić przepustowość potrzebną do zapewnienia dobrej jakości dźwięku w słabych środowiskach sieciowych.

Aby dowiedzieć się więcej, zobacz Ograniczenia wideo.

Wskaźnik głośności

Czasami użytkownicy nie słyszą się nawzajem. Być może głośnik jest zbyt cichy, urządzenie odbiornika nie odbiera pakietów dźwiękowych lub problem z urządzeniem audio blokuje dźwięk. Użytkownicy nie wiedzą, kiedy druga osoba ich nie słyszy. Możesz użyć wskaźnika wejściowego i wyjściowego, aby:

  1. Określ, czy wolumin użytkownika jest niski lub nieobecny.
  2. Monituj użytkownika o głośniejsze wypowiadanie się lub badanie problemu urządzenia audio za pośrednictwem interfejsu użytkownika.

Aby uzyskać więcej informacji, zobacz przewodnik Szybki start dotyczący dodawania wskaźnika woluminu do połączeń internetowych.

Statystyki jakości multimediów

Ponieważ warunki sieciowe mogą ulec zmianie podczas połączenia, użytkownicy mogą zgłaszać niską jakość dźwięku i wideo, nawet jeśli rozpoczęli połączenie bez żadnych problemów. Funkcja statystyk jakości multimediów udostępnia szczegółowe metryki jakości dla każdego przychodzącego i wychodzącego strumienia audio, wideo i udostępniania ekranu. Szczegółowe szczegółowe informacje ułatwiają monitorowanie wywołań w toku, wyświetlanie stanu jakości sieci użytkowników podczas wywołania i debugowanie poszczególnych wywołań.

Metryki w tej funkcji pomagają wskazywać problemy ze strumieniami multimediów zestawu SDK klienta usług Azure Communication Services na potrzeby wysyłania i odbierania. Na przykład możesz aktywnie monitorować wartość wychodzącego strumienia availableBitrate wideo, zauważyć trwały spadek poniżej zalecanego 1,5 Mb/s i powiadomić użytkownika, że jakość wideo jest obniżona.

Dane dziennika serwera udostępnia tylko ogólne podsumowanie wywołania po jego zakończeniu. Szczegółowe statystyki multimediów zapewniają metryki niskiego poziomu w czasie trwania wywołania, a następnie w celu dokładniejszej analizy.

Aby dowiedzieć się więcej, zobacz Statystyki jakości multimediów.

Interfejs API optymalnej liczby wideo

Podczas wywołania grupy z co najmniej dwoma uczestnikami jakość wideo użytkownika może się zmieniać z powodu zmian warunków sieciowych i ich określonych ograniczeń sprzętowych. Korzystając z interfejsu API optymalnej liczby wideo, możesz poprawić jakość wywołań użytkownika, rozumiejąc, ile strumieni wideo może renderować lokalny punkt końcowy naraz bez pogarszania jakości.

Implementując tę funkcję, można zachować jakość wywołań i przepustowość lokalnych punktów końcowych, które w przeciwnym razie będą próbować renderować wideo źle. Interfejs API uwidacznia właściwość optimalVideoCount, która dynamicznie zmienia się w odpowiedzi na możliwości sieciowe i sprzętowe lokalnego punktu końcowego. Te informacje są dostępne w czasie wykonywania i pobierają aktualizacje w trakcie wywołania, dzięki czemu można dostosować środowisko wizualne użytkownika w miarę zmiany warunków sieci i sprzętu.

Aby zaimplementować tę funkcję, zobacz wskazówki dotyczące platformy internetowej Zarządzanie wideo podczas wywołań.

Po wywołaniu

Przed wydaniem i skalowaniem rozwiązania wywołującego usługi Azure Communication Services zaimplementuj następujące możliwości monitorowania pod kątem jakości i niezawodności, aby upewnić się, że zbierasz dostępne dzienniki i metryki. Dane wywołań nie są przechowywane, dopóki nie zaimplementujesz możliwości, więc nie będzie można monitorować i debugować jakości i niezawodności wywołań bez nich.

Aby uzyskać więcej informacji, zobacz Dzienniki połączeń głosowych i połączeń wideo w usługach Azure Communication Services.

Rozpoczynanie zbierania dzienników połączeń

Zapoznaj się z tą dokumentacją, aby rozpocząć zbieranie dzienników wywołań: włączanie dzienników za pośrednictwem ustawień diagnostycznych w usłudze Azure Monitor.

Aby wyświetlić i przeanalizować dane w usłudze Azure Monitor, zalecamy wybranie grupy kategorii allLogs i wybranie szczegółów miejsca docelowego obszaru roboczego Wyślij do usługi Log Analytics. Jeśli nie masz obszaru roboczego usługi Log Analytics do wysłania danych, utwórz go.

Zalecamy monitorowanie zasad użycia i przechowywania danych w celu uwzględnienia kosztów zgodnie z potrzebami. Aby uzyskać więcej informacji, zobacz Kontrolowanie kosztów.

Diagnozowanie wywołań przy użyciu diagnostyki wywołań

Diagnostyka połączeń to środowisko usługi Azure Monitor, które zapewnia dostosowane szczegółowe informacje za pośrednictwem wyspecjalizowanych stron telemetrycznych i diagnostycznych w witrynie Azure Portal.

Po rozpoczęciu przechowywania danych dziennika w obszarze roboczym usługi Log Analytics można wizualizować wyszukiwanie poszczególnych wywołań i wizualizować dane w obszarze Diagnostyka wywołań. Na koncie usługi Azure Monitor przejdź do zasobu usług Azure Communication Services i znajdź pozycję Diagnostyka wywołań w menu usługi. Aby dowiedzieć się, jak najlepiej używać tej funkcji, zobacz Wywoływanie diagnostyki.

Badanie jakości połączeń przy użyciu szczegółowych informacji głosowych i wideo

Po włączeniu dzienników możesz wyświetlić szczegółowe informacje o wywołaniach w zasobie platformy Azure, korzystając z przykładów wizualizacji w obszarze Analizy głosowe i wideo.

Istniejące skoroszyty można modyfikować, a nawet tworzyć własne. Aby uzyskać więcej informacji, zobacz Skoroszyty platformy Azure.

Przykłady bardziej sugerowanej analizy można znaleźć w temacie Query call logs (Dzienniki wywołań zapytań).

Analizowanie tonacji użytkowników przy użyciu ankiety dotyczącej zakończenia połączeń

Opinie klientów są bezcenne. Ankieta end of Call pomaga zrozumieć, jak użytkownicy postrzegają ogólną jakość i niezawodność rozwiązania wywołującego język JavaScript lub internetowy zestaw SDK.

Ankietę można zmodyfikować na różne formaty, jeśli masz już rozwiązanie ankiety. Po opublikowaniu danych ankiety możesz wyświetlić wyniki w usłudze Azure Monitor na potrzeby analizy i ulepszeń. Usługi Azure Communication Services używają również wyników interfejsu API ankiety do monitorowania i poprawy jakości wywołań i niezawodności.

Aby zaimplementować tę funkcję, zobacz Samouczek: używanie ankiety end of call do zbierania opinii użytkowników. Po włączeniu ustawień diagnostycznych w celu przechwycenia danych ankiety możesz użyć przykładowych zapytań dziennika wywołań w usłudze Azure Log Analytics, aby przeanalizować postrzegane środowisko jakości użytkownika. Opinie użytkowników mogą pokazywać problemy, których nie znasz, i pomóc w określaniu priorytetów ulepszeń jakości.

Aby dowiedzieć się więcej, zobacz Omówienie ankiety dotyczącej zakończenia połączeń.

Analizowanie danych połączeń bezpośrednio z klienta

Zbierając dane połączeń, takie jak statystyki multimediów, diagnostyka użytkowników i informacje o interfejsie API przed wywołaniem, możesz przejrzeć wywołania o niskiej jakości, aby przeprowadzić analizę głównej przyczyny podczas rozwiązywania problemów.

Na przykład użytkownik może mieć godzinne wywołanie i zgłosić słabe dźwięk w jednym momencie wywołania. Wywołanie mogło spowodować wyzwolenie flagi diagnostycznej, która wskazywała poważny problem z jakością przychodzącego lub wychodzącego strumienia multimediów.

Przechowując szczegółowe statystyki multimediów z wywołania, możesz sprawdzić, kiedy flaga diagnostyki użytkownika wystąpiła, aby sprawdzić, czy wysoki poziom utraty pakietów, zakłócenia lub opóźnienia w tym czasie wskazuje na słabą kondycję sieci. Możesz na przykład sprawdzić, czy sieć została dotknięta przez niezarządzaną sieć klienta zewnętrznego, niepotrzebny ruch sieciowy z powodu nieprawidłowych zasad priorytetyzacji sieci QoS lub niepotrzebnej wirtualnej sieci prywatnej (VPN).

Uwaga

Zgodnie z regułą zalecamy nadanie priorytetu przepustowości połączenia audio użytkownika przed połączeniem wideo. Zalecamy ustalanie priorytetów zarówno audio, jak i wideo przed innym ruchem sieciowym. Jeśli sieć nie może obsługiwać zarówno audio, jak i wideo, możesz aktywnie wyłączyć wideo użytkownika lub nachylić użytkownika, aby wyłączyć swoje wideo.

Zgłoś prośbę o pomoc techniczną

Jeśli wystąpią problemy z jakością lub niezawodnością, których nie możesz rozwiązać, możesz przesłać wniosek o pomoc techniczną. Więcej informacji, które można podać w żądaniu, tym lepiej. (Dzienniki natywne mają kluczowe znaczenie dla optymalizacji czasu odpowiedzi). Możesz jednak nadal przesyłać żądania z częściowymi informacjami, aby rozpocząć zapytanie. Aby uzyskać więcej informacji, zobacz Tworzenie wniosku o pomoc techniczną na platformie Azure.

Jeśli podczas próby zażądania pomocy technicznej otrzymasz powiadomienie o wymaganiach dotyczących licencji, może być konieczne wybranie płatnego planu pomoc techniczna platformy Azure, który najlepiej odpowiada Twoim potrzebom. Zobacz Porównanie planów pomocy technicznej.

Jeśli nie chcesz kupować pomocy technicznej, możesz skorzystać z pomocy technicznej społeczności. Zobacz Pomoc techniczna społeczności platformy Azure.

Inne uwagi

Jeśli nie masz dostępu do witryny Azure Portal klienta w celu wyświetlenia danych powiązanych z identyfikatorem zasobu platformy Azure, możesz poprosić o wysłanie zapytania do ich obszarów roboczych w celu poprawy jakości w ich imieniu. Aby uzyskać więcej informacji, zobacz Query data across Log Analytics workspaces, applications, and resources in Azure Monitor (Wykonywanie zapytań o dane w obszarach roboczych, aplikacjach i zasobach usługi Log Analytics w usłudze Azure Monitor).