다음을 통해 공유


통화 품질 개선 및 관리

이 문서에서는 Azure Communication Services에서 통화 품질을 모니터링, 문제 해결 및 개선하는 데 사용할 수 있는 주요 도구를 소개합니다. 다음 자료는 최상의 사용자 환경을 계획하는 데 도움이 됩니다.

이 문서를 읽기 전에 통화에 대한 개요 정보를 숙지합니다.

QoS를 사용하여 네트워크 준비 및 중요한 네트워크 트래픽 우선 순위 지정

사용자가 Azure Communication Services를 통화 및 모임에 사용하기 시작하면 통화 또는 모임에서 발신자의 음성이 끊기거나 끊어질 수 있습니다. 공유 동영상은 멈추거나 픽셀화되거나 완전히 실패할 수 있습니다. 이 문제는 네트워크 정체에 발생하고 순서를 벗어나서 도착하거나 전혀 도착하지 않는 음성 및 동영상 트래픽을 나타내는 IP 패킷 때문입니다. 이러한 문제가 발생하는 경우(또는 처음부터 문제가 발생하지 않도록 하려면) 네트워크 권장 사항에 따라 QoS(서비스 품질)를 사용합니다.

QoS를 사용하면 지연에 중요한 네트워크 트래픽(예: 음성 또는 동영상 스트림)에 우선 순위를 지정할 수 있습니다. 트래픽의 중요도에 따른 "우선 순위 변경"을 허용합니다. 우선 순위가 낮은 트래픽의 예로는 새로운 앱을 다운로드하는 것이 있습니다. 이 경우, 다운로드하는 데 1초가 더 걸리는 것은 큰 문제가 아닙니다.

QoS는 Windows 그룹 정책 개체와 포트 기반 Access Control 목록이라는 라우팅 기능을 사용하여 실시간 스트림의 모든 패킷을 식별하고 표시합니다. 해당 기능은 네트워크가 음성, 동영상 및 화면 공유에 전용 네트워크 대역폭을 제공하도록 지시합니다.

이상적으로는 Azure Communication Services 솔루션을 롤아웃할 준비를 하는 동안 내부 네트워크에 QoS를 구현합니다. 하지만 언제든지 수행할 수 있습니다. 네트워크가 충분히 작다면 QoS가 필요하지 않을 수도 있습니다.

자세한 지침은 네트워크 최적화를 참조하세요.

품질 및 안정성 조사를 위한 배포 준비

품질은 실시간 통신 사용 사례와 사용자 관점에 따라 다른 정의를 갖습니다. 실시간 통화 환경의 인식된 품질에는 많은 변수가 영향을 미칩니다. 한 변수의 개선은 다른 변수의 부정적인 변화를 초래할 수 있습니다. 예를 들어 영상 통화의 프레임 속도와 해상도를 높이면 네트워크 대역폭 사용률과 처리 능력이 증가합니다.

개발을 시작하기 전에 고객의 사용 사례와 요구 사항을 확인합니다. 예를 들어 수십 개의 보안 카메라 피드를 동시에 모니터링해야 하는 고객에게는 각 동영상 스트림에서 제공할 수 있는 최대 해상도 및 프레임 속도가 필요하지 않을 수 있습니다. 이 시나리오에서는 동영상 제약 조건 API 기능을 사용하여 각 동영상 스트림이 사용하는 대역폭의 양을 제한할 수 있습니다.

네이티브 플랫폼에 로깅 구현

로그 파일 검색에 대한 자습서에 설명된 대로 로깅을 구현하는 것은 네이티브 개발에 대한 세부 정보를 수집하는 데 중요합니다. 자세한 로그는 디바이스 모델 또는 OS 버전과 관련된 문제를 진단하는 데 도움이 됩니다. Logs API 구성을 시작하는 개발자는 통화 수명에 대한 세부 정보를 가져오는 것이 좋습니다.

배포 전에 기존 품질 및 안정성 기능 구현

사용자에게 최상의 통화 품질을 제공하도록 이미 최적화되어 있으므로, 구현하기 쉬운 통화 샘플을 사용하는 것이 좋습니다.

샘플이 요구 사항을 충족하지 못하고 Azure Communication Services 통화 솔루션을 사용자 지정하기로 결정한 경우 다음 기능을 구현하여 고품질 통화 환경을 지원합니다. 이러한 기능을 위한 도구는 일반적인 품질 및 안정성 문제가 발생하지 않도록 예방하고 문제가 발생할 경우 진단하는 데 도움이 됩니다. 이러한 기능을 구현하지 않으면 일부 통화 데이터는 만들어지거나 저장되지 않는다는 점에 유의해야 합니다.

다음 섹션에서는 통화 단계에서 구현하는 도구에 대해 자세히 설명합니다.

  • 통화 전: 통화 전 준비 상태.
  • 통화 중: 통화 중 커뮤니케이션.
  • 통화 후: 통화 품질과 안정성을 모니터링하고 문제를 해결합니다.

통화 전

Azure Communication Services에서 제공하는 통화 전 검사를 사용하면 통화 전에 사용자의 연결 상태를 파악하고 사용자를 대신하여 사전에 조치를 취할 수 있습니다. 예를 들어 사용자의 연결 상태가 양호하지 않음을 알게 되면 더 나은 오디오 연결을 위해 통화에 참가하기 전에 동영상을 끄도록 제안할 수 있습니다.

네트워크 진단 도구

네트워크 진단 도구는 개발자가 개발 중에 통화 준비 상태의 유효성을 검사할 수 있는 호스팅 환경을 제공합니다. 사용자의 디바이스와 네트워크 상태가 서비스에 연결하는 데 최적인지 확인하여 뛰어난 통화 환경을 보장할 수 있습니다. 이 도구는 네트워크, 디바이스 및 통화 품질에 대한 진단을 수행합니다.

네트워크 진단 도구를 사용하면 사용자가 통화에 참가하기 전에 안정성 문제를 해결하고 네트워크 연결을 개선하도록 장려할 수 있습니다.

자세한 내용은 네트워크 진단 도구를 참조하세요.

진단을 위한 통화 전 API

사용자 스스로 진단 도구를 만들려고 할 수도 있고, 아니면 네트워크 진단 도구를 애플리케이션에 더욱 긴밀하게 통합하려고 할 수도 있습니다. 그렇다면 통화 전 API를 사용하여 통화 SDK에 대한 진단 도구를 실행할 수 있습니다.

통화 전 API를 사용하면 사용자 인터페이스 환경을 사용자 지정할 수 있습니다. 그런 다음, 네트워크 진단 도구에서 테스트 호출을 통해 호환성, 연결 및 디바이스 권한을 확인하는 데 사용하는 것과 동일한 일련의 테스트를 실행할 수 있습니다. 통화가 시작되기 전에 사용자에게 문제를 해결하는 방법을 알려 주는 가장 좋은 방법을 결정할 수 있습니다. 품질 및 안정성 문제를 해결하는 경우 특정 검사를 수행할 수도 있습니다.

예를 들어, 사용자의 하드웨어 테스트에 문제가 있는 경우 사용자에게 알려서 향후 통화에 대한 기대치와 변경 내용을 관리할 수 있습니다.

자세한 내용은 통화 전 진단을 참조하세요.

통화 클라이언트 충돌

Azure Communication Services 음성 및 영상 통화는 웹 및 모바일 브라우저에서 실행되므로 사용자에게는 Azure Communication Services 통화 SDK의 개별 인스턴스를 실행하는 여러 브라우저 탭이 있을 수 있습니다. 이러한 상황은 다음과 같은 다양한 이유로 발생할 수 있습니다.

  • 사용자가 이전 탭을 닫는 것을 잊었습니다.
  • 사용자는 모임 주최자가 없으면 통화에 참가할 수 없습니다. 사용자가 모임에 참가하기 위한 링크를 다시 선택하려고 하면 별도의 모바일 브라우저 탭이 열립니다.

동시에 여러 개의 통화 브라우저 탭을 열면 사용자가 참가하려는 통화(즉, 대상 통화)에서 오디오 및 동영상 동작이 중단됩니다. 통화가 시작되기 전에는 여러 개의 브라우저 탭이 열려 있지 않은지 확인해야 하며,(모니터링을 통해) 통화의 전체 수명 주기 동안에도 확인해야 합니다. 고객에게 불필요한 탭을 닫으라고 적극적으로 알리거나, 처음에 통화에 참가할 수 없는 경우 유용한 메시지를 통해 통화에 올바르게 참가할 수 있도록 도울 수 있습니다.

사용자의 브라우저에서 실행되는 Azure Communication Services의 여러 인스턴스가 있는지 확인하려면 Azure Communication Services SDK를 사용하는 애플리케이션이 브라우저의 여러 탭에서 활성 상태로 있는지 검색하는 방법을 참조하세요.

통화 중

통화 중에 사용자의 네트워크 상태가 악화되거나 안정성 및 호환성 문제가 발생할 수도 있습니다. 이런 상황에서는 통화 환경이 좋지 않을 수 있습니다. 다음 섹션에서는 통화에서 문제를 관리하고 사용자와 소통하는 기능을 적용하는 데 도움이 됩니다.

사용자 관련 진단

사용자가 통화 중일 때, 통화 중 문제가 발생한 경우 실시간으로 알리는 것이 중요합니다. 사용자 대상 진단 기능은 통화 중 마이크가 음소거되거나 네트워크 품질이 좋지 않은 등 사용자에게 영향을 미치는 문제에 대한 실시간 플래그를 제공합니다.

시나리오에 가장 적합한 제품군에 맞게 사용자 인터페이스 메시지를 조정할 수 있습니다. 예시:

  • 플래그가 네트워크 문제를 나타내는 경우 사용자에게 동영상을 끄거나, 네트워크를 변경하거나, 네트워크 상태나 연결이 더 나은 위치로 이동하라는 메시지를 표시할 수 있습니다.
  • 플래그가 디바이스 문제를 식별하는 경우 사용자에게 디바이스를 전환하도록 권장할 수 있습니다.

메시지 전송 외에도 사용자를 대신하여 조치를 취하고 사용자의 제한된 대역폭을 보호하기 위한 자동 관리 방식을 고려할 수 있습니다. 사용자가 알림을 받은 후에도 지속적으로 동영상을 끄지 않는 경우 사용자의 동영상을 사전에 꺼서 오디오 연결의 우선 순위를 지정할 수 있습니다. 고객이 통화에 참가하기 전에 사용자 인터페이스에서 동영상 기능을 숨길 수도 있습니다.

자세한 내용은 사용자 대상 진단을 참조하세요.

비디오 제약 조건

동영상 스트림은 대량의 네트워크 대역폭을 소모합니다. 사용자의 네트워크 대역폭이 제한적이거나 네트워크 상태가 좋지 않은 경우 동영상 제약 조건을 사용하여 사용자의 동영상 연결에 대한 네트워크 사용량을 제어할 수 있습니다. 사용자의 동영상 스트림에서 사용할 수 있는 대역폭의 양을 제한하면 열악한 네트워크 환경에서 양호한 오디오 품질에 필요한 대역폭을 보호할 수 있습니다.

자세한 내용은 동영상 제약 조건을 참조하세요.

볼륨 표시기

사용자들이 서로의 말을 들을 수 없는 경우도 있습니다. 아마도 스피커가 너무 조용하거나, 수신기의 디바이스가 오디오 패킷을 수신하지 못하거나, 오디오 디바이스 문제로 인해 소리가 차단될 수 있습니다. 사용자는 상대방이 자신의 말을 듣지 못할 때를 알 수 없습니다. 입력 및 출력 표시기를 사용하여 다음을 수행할 수 있습니다.

  1. 사용자의 볼륨이 낮거나 없는 경우를 나타냅니다.
  2. 사용자 인터페이스를 통해 사용자에게 더 크게 말하도록 하거나 오디오 디바이스 문제를 조사하도록 요청합니다.

자세한 내용은 웹 통화에 볼륨 표시기를 추가하는 방법에 대한 빠른 시작을 참조하세요.

미디어 품질 통계

통화 중에 네트워크 상황이 변경될 수 있으므로 사용자는 아무런 문제 없이 통화를 시작하더라도 오디오 및 동영상 품질이 좋지 않다고 보고할 수 있습니다. 미디어 품질 통계 기능은 각 인바운드 및 아웃바운드 오디오, 동영상, 화면 공유 스트림에 대한 자세한 품질 메트릭을 제공합니다. 이러한 자세한 인사이트는 진행 중인 통화를 모니터링하고, 통화 전체에서 사용자에게 네트워크 품질 상태를 표시하고, 개별 통화를 디버그하는 데 도움이 됩니다.

이 기능의 메트릭은 Azure Communication Services 클라이언트 SDK 미디어 스트림을 보내고 받는 데 문제가 있는지 나타내는 데 도움이 됩니다. 예를 들어, 발신 동영상 스트림의 availableBitrate 값을 적극적으로 모니터링하여 권장되는 1.5Mbps 이하로 지속적으로 떨어지는 것을 확인하고 동영상 품질이 저하되었음을 사용자에게 알릴 수 있습니다.

서버 로그 데이터는 통화가 종료된 후의 일반적인 요약만을 제공합니다. 자세한 미디어 통계는 통화 기간 전체와 이후의 심층 분석을 위한 낮은 수준의 메트릭을 제공합니다.

자세한 내용은 미디어 품질 통계를 참조하세요.

최적의 동영상 카운트 API

둘 이상의 참가자가 참여하는 그룹 통화 중에는 네트워크 상태 변경 및 특정 하드웨어 제한 사항으로 인해 사용자의 동영상 품질이 변동될 수 있습니다. 최적 동영상 수 API를 사용하면 로컬 엔드포인트에서 품질 저하 없이 한 번에 렌더링할 수 있는 동영상 스트림 수를 파악하여 사용자의 통화 품질을 향상시킬 수 있습니다.

이 기능을 구현하면 비디오 렌더링을 제대로 시도하지 않는 로컬 엔드포인트의 통화 품질과 대역폭을 유지할 수 있습니다. API는 로컬 엔드포인트의 네트워크 및 하드웨어 기능에 따라 동적으로 변경되는 속성 optimalVideoCount를 노출합니다. 이 정보는 런타임에 사용할 수 있으며 통화 내내 업데이트되므로 네트워크 및 하드웨어 조건이 변경되면 사용자의 시각적 환경을 조정할 수 있습니다.

이 기능을 구현하려면 웹 플랫폼 지침 통화 중 동영상 관리를 참조하세요.

통화 후

Azure Communication Services 통화 솔루션을 릴리스하고 크기 조정하기 전에 품질과 안정성을 위한 다음 모니터링 기능을 구현하여 사용 가능한 로그와 메트릭을 수집합니다. 통화 데이터는 해당 기능을 구현하기 전까지 저장되지 않으므로, 이러한 기능 없이는 통화 품질과 안정성을 모니터링하고 디버깅할 수 없습니다.

자세한 내용은 Azure Communication Services 음성 통화 및 영상 통화 로그를 참조하세요.

통화 로그 수집 시작

Azure Monitor에서 진단 설정을 통해 로그 사용 설명서를 검토하여 통화 로그 수집을 시작합니다.

Azure Monitor에서 데이터를 보고 분석하려면 범주 그룹 allLogs를 선택하고 대상 세부 정보로 Log Analytics 작업 영역으로 보내기를 선택하는 것이 좋습니다. 데이터를 전송할 Log Analytics 작업 영역이 없으면 작업 영역을 만듭니다.

필요에 따라 비용 고려 사항에 대한 데이터 사용량 및 보존 정책을 모니터링하는 것이 좋습니다. 자세한 내용은 비용 관리를 참조하세요.

통화 진단을 사용하여 통화 진단

통화 진단은 Azure Portal의 특수한 원격 분석 및 진단 페이지를 통해 맞춤형 인사이트를 제공하는 Azure Monitor 환경입니다.

로그 데이터를 Log Analytics 작업 영역에 저장하기 시작하면 개별 통화에 대한 검색을 시각화하고 통화 진단에서 데이터를 시각화할 수 있습니다. Azure Monitor 계정에서 Azure Communication Services 리소스로 이동하여 서비스 메뉴에서 통화 진단을 찾습니다. 이 기능을 가장 효율적으로 사용하는 방법을 알아보려면 통화 진단을 참조하세요.

음성 및 동영상 인사이트를 사용하여 통화 품질 검사

로그를 사용하도록 설정한 후 음성 및 동영상 인사이트의 시각화 예를 사용하여 Azure 리소스에서 통화 인사이트를 볼 수 있습니다.

기존 통합 문서를 수정하거나 사용자 고유의 통합 문서를 만들 수도 있습니다. 자세한 내용은 Azure 통합 문서를 참조하세요.

심층적인 제안 분석의 예를 보려면 통화 기록 쿼리를 참조하세요.

통화 종료 설문 조사를 사용하여 사용자 감정 분석

고객의 피드백은 매우 소중합니다. 통화 종료 설문 조사는 사용자가 JavaScript 또는 웹 SDK 통화 솔루션의 전반적인 품질과 안정성을 어떻게 인식하는지 이해하는 데 도움이 됩니다.

이미 설문 조사 솔루션이 있는 경우 설문 조사를 다양한 형식으로 수정할 수 있습니다. 설문 조사 데이터를 게시한 후 Azure Monitor에서 결과를 확인하여 분석하고 개선할 수 있습니다. 또한 Azure Communication Services는 설문 조사 API 결과를 사용하여 통화 품질과 안정성을 모니터링하고 개선합니다.

해당 기능을 구현하려면 자습서: 통화 종료 설문 조사를 사용하여 사용자 피드백 수집을 참조하세요. 진단 설정을 사용하도록 설정하여 설문 조사 데이터를 캡처하면 Azure Log Analytics의 통화 기록 쿼리 샘플을 사용하여 사용자의 인지된 품질 환경을 분석할 수 있습니다. 사용자 피드백을 통해 자신이 몰랐던 통화 문제를 확인할 수 있으며, 이를 통해 품질 개선의 우선 순위를 지정하는 데 도움이 됩니다.

자세한 내용은 통화 종료 설문 조사 개요를 참조하세요.

클라이언트에서 직접 통화 데이터 분석

미디어 통계, 사용자 대상 진단, 통화 전 API 정보 등의 통화 데이터를 수집하면 문제를 해결할 때 품질이 낮은 통화를 검토하여 근본 원인 분석을 수행할 수 있습니다.

예를 들어 사용자가 한 시간 동안 통화했지만 통화 중 어느 시점에서 오디오 품질이 양호하지 않았다고 보고할 수 있습니다. 통화로 인해 수신 또는 발신 미디어 스트림의 품질에 심각한 문제가 있음을 나타내는 사용자 대상 진단 플래그가 발생했을 수 있습니다.

통화에서 자세한 미디어 통계를 저장하면 사용자 대상 진단 플래그가 발생한 시기를 검토하여 이 시간대에 패킷 손실, 지터 또는 대기 시간 수준이 높으면 네트워크 상태가 좋지 않음을 나타내는지 확인할 수 있습니다. 예를 들어, 네트워크가 외부 클라이언트의 관리되지 않는 네트워크, 부적절한 QoS 네트워크 우선 순위 정책으로 인한 불필요한 네트워크 트래픽 또는 불필요한 VPN(가상 사설망)으로 인해 영향을 받았는지 알아볼 수 있습니다.

참고 항목

원칙적으로 사용자의 오디오 연결 대역폭을 동영상 연결보다 우선 순위를 지정하는 것이 좋습니다. 다른 네트워크 트래픽보다 오디오와 동영상의 우선 순위를 지정하는 것이 좋습니다. 네트워크가 오디오와 동영상을 모두 지원할 수 없는 경우, 사용자의 동영상을 적극적으로 사용하지 않도록 설정하거나 사용자에게 동영상을 사용하지 않도록 설정하도록 지시할 수 있습니다.

지원 요청

직접 해결할 수 없는 품질이나 안정성 문제가 발생하는 경우 기술 지원 요청을 제출할 수 있습니다. 요청 시 더 많은 정보를 제공할수록 좋습니다. (네이티브 로그는 응답 시간을 최적화하는 데 중요합니다.) 하지만 일부 정보만 첨부하여 요청을 제출하여 문의를 시작할 수 있습니다. 자세한 내용은 Azure 지원 요청 만들기를 참조하세요.

기술 지원을 요청하는 중에 라이선스 요구 사항에 대한 알림이 표시되면 요구 사항에 가장 적합한 유료 Azure 지원 계획을 선택해야 할 수 있습니다. 지원 플랜 비교를 참조하세요.

지원을 구입하지 않으려는 경우 커뮤니티 지원을 활용할 수 있습니다. Azure 커뮤니티 지원을 참조하세요.

기타 고려 사항

고객의 Azure Portal에 액세스하여 Azure 리소스 ID에 연결된 데이터를 볼 수 없는 경우 고객을 대신하여 작업 영역을 쿼리하여 품질을 개선하도록 요청할 수 있습니다. 자세한 내용은 Azure Monitor에서 Log Analytics 작업 영역, 애플리케이션 및 리소스에서 데이터 쿼리를 참조하세요.