Virtual Rooms 개요
Virtual Rooms는 개발자에게 필수적인 보안 및 제어 기능을 제공하여 가상 약속 및 그룹 통신과 같은 체계적인 통신 환경을 구축할 수 있도록 지원합니다. 개발자는 Virtual Rooms를 사용하여 음성, 비디오 및 PSTN 통화를 수행할 수 있습니다. 회의실의 보안 및 컨트롤은 다음과 같이 분류할 수 있습니다.
사용자 액세스 보안 및 컨트롤은 통화 참가자에게 적용되어 통화에 참가할 수 있는 사용자와 통화 중에 수행할 수 있는 작업을 제어합니다. 예를 들어 의사와 환자의 가상 약속 중에는 승인된 병원 직원과 환자만 통화에 참가할 수 있습니다. 참가자를 제한하면 환자 개인 정보가 유지되며 참가자는 할당된 역할 및 권한을 초과하여 진행 중인 통화를 방해하지 않습니다.
회의실 수준 보안 및 컨트롤은 통화를 수행할 수 있는 시기와 통화 중에 사용할 수 있는 기능을 제어하기 위해 통화 수준에서 적용됩니다. 예를 들어 학생은 할당된 시간 동안에만 교실 통화에 참가할 수 있는 권한이 있지만 PSTN 발신자는 동일한 교실 통화에 참가할 수 없습니다.
Virtual Rooms에서 지원되는 높은 수준의 기능
기능 | Virtual Rooms 통화에서 지원됨 |
---|---|
음성(VoIP) | ✔️ |
동영상 | ✔️ |
PSTN 번호에 대한 클라이언트 시작 전화 걸기 | ✔️ |
서버에서 PSTN 번호로 전화 걸기 시작 | ✔️ |
서버 쪽 통화 관리(통화 자동화)* | ✔️ |
PSTN 전화 접속 | ❌ |
비동기 메시징(채팅) | ❌ |
Microsoft Teams와의 상호 운용성 | ❌ |
* 일부 예외가 적용됩니다. 지원되는 통화 자동화 기능은 전체 목록은 이 문서에 나와 있습니다.
Virtual Rooms 사용 시기
다음 표에서는 Virtual Rooms를 사용하는 경우를 보여 줍니다.
조건 | Virtual Rooms 사용 |
---|---|
통화에 참가할 수 있는 사용자를 제어하는 것이 중요한 경우(초대 전용 환경) | ✔️ |
통화가 시작되고 종료되는 시기를 제어하는 것이 중요한 경우. | ✔️ |
원활하게 관리되는 통신을 수행하기 위해 사용자 역할 및 권한이 필요한 경우 | ✔️ |
솔루션에 Teams 상호 운용성이 필요한 경우.* | ❌ |
* 솔루션에 Teams와 Azure Communication Services 간의 상호 운용성이 필요한 경우 Teams 상호 운용성 통화를 사용합니다.
Virtual Rooms에서 통화를 수행하는 방법
Virtual Rooms에서 통화를 수행하려면 기본적으로 회의실을 만들고 관리해야 합니다. 다음 표에서는 참가자가 클라이언트 쪽 및 서버 쪽의 통화 SDK에서 통화에 참가하고 통화 내 작업을 실행할 수 있도록 하는 방법을 설명합니다.
기능 | ACS SDK | 클라이언트 및 서버 SDK | 설명 |
---|---|---|---|
Virtual Rooms 만들기 및 관리 | Virtual Rooms SDK | 서버 | 개발자는 Virtual Rooms SDK를 사용하여 Virtual Rooms를 만들고, 관리하고, 사용자를 추가/제거하고, 사용자 역할을 할당/업데이트하고, Virtual Rooms 일정을 설정/업데이트할 수 있습니다. 개발자는 Virtual Rooms에서 PSTN 전화 걸기를 제한하는 것과 같은 보안 제한을 설정할 수도 있습니다. |
음성, 비디오 또는 PSTN을 사용하여 Virtual Rooms 통화에 참가하고 클라이언트에서 시작한 통화 내 작업을 실행합니다. | 통화 SDK | 클라이언트 | 통화 클라이언트 SDK를 사용하면 사용자가 Virtual Rooms 통화에 참가하고 할당된 사용자 역할에서 허용하는 대로 클라이언트 쪽 작업을 실행할 수 있습니다. Virtual Rooms 통화의 보안은 Virtual Rooms 만들기 및 관리를 통해 설정된 명단, 일정, 사용자 역할 및 제어 제한을 적용하는 방식으로 확보됩니다. 개발자는 클라이언트 통화 SDK를 사용하여 통화 참가자가 음소거/음소거 해제, 화면 공유, 비디오 켜기/끄기, PSTN 참가자에게 전화 걸기 등의 통화 내 작업을 실행할 수 있도록 지원합니다. |
통화 내 작업의 서버 쪽 관리 | 통화 자동화 SDK | 서버 | 통화 자동화 SDK를 사용하면 개발자가 서버 쪽에서 통화 내 작업을 실행할 수 있습니다. 통화 내 작업에는 PSTN 번호에 대한 서버 시작 전화 걸기, 통화 녹음, DTMF 송/수신, 특정 사용자에게 알림 보내기 등이 포함됩니다. 서버 쪽 통화 내 작업 실행은 사용자와 독립적이며 개발자가 제어하므로 이러한 작업은 사용자 역할에 의해 제어되지 않습니다. |
개발자는 Virtual Rooms SDK, 통화 클라이언트 SDK 및 통화 자동화 SDK를 사용하여 통화를 보호하고 통화 내 클라이언트 쪽/서버 쪽 작업을 트리거합니다.
기능 | 회의실 서버 SDK | 통화 클라이언트 SDK | 통화 자동화 서버 SDK |
---|---|---|---|
Virtual Rooms 관리 - Virtual Rooms 만들기/가져오기/업데이트/나열/삭제 | ✔️ | ❌ | ❌ |
Virtual Rooms 명단 관리 - 가상 회의실에 사용자 추가/업데이트/제거 | ✔️ | ❌ | ❌ |
Virtual Rooms 통화 참가자 권한 관리 - 사용자 역할 할당/업데이트 | ✔️ | ❌ | ❌ |
Virtual Rooms 일정 관리 - Virtual Rooms 허용 일정 설정/업데이트 | ✔️ | ❌ | ❌ |
Virtual Rooms 보안 제어 관리 - 특정 Virtual Rooms에서 PSTN 전화 걸기를 허용하도록 플래그 설정/업데이트 | ✔️ | ❌ | ❌ |
가상 회의실에 참가하도록 초대된 사용자 목록 가져오기 | ✔️ | ❌ | ❌ |
사용자가 Virtual Rooms 통화를 시작하거나 진행 중인 통화에 참가 | ❌ | ✔️ | ❌ |
PSTN 사용자에게 전화 걸기 | ❌ | ✔️ | ✔️ |
진행 중인 통화에 VoIP 참가자 추가/제거 | ❌ | ✔️ | ✔️ |
진행 중인 통화에 참가한 참가자 목록 가져오기 | ❌ | ✔️ | ✔️ |
통화 캡션 시작/중지 및 캡션 언어 변경 | ❌ | ✔️ | ❌ |
통화 녹음 관리 | ❌ | ❌ | ✔️ |
PSTN 참가자와 DTMF 송/수신 | ❌ | ❌ | ✔️ |
참가자에게 오디오 프롬프트 재생 | ❌ | ❌ | ✔️ |
통화 클라이언트 SDK는 클라이언트 쪽 통화 내 작업의 전체 목록을 제공하고 이를 사용하는 방법을 설명합니다.
통화 자동화 서버 SDK를 사용하여 서버 쪽에서 Virtual Rooms 통화 관리
통화 자동화 SDK 통화를 통해 개발자는 서버 쪽에서 Virtual Rooms 통화를 관리하고 통화 내 작업을 실행할 수 있습니다. 통화 자동화 기능은 Virtual Rooms 통화에서 점진적으로 사용하도록 설정되고 있습니다. 다음 표에서는 이러한 기능의 현재 상태를 보여 줍니다. 개발자는 통화 참가자의 권한보다 높은 수준에서 작동하는 서버 쪽에서 통화 자동화 기능을 관리하고 제어합니다. 따라서 통화 자동화 기능이 사용자 역할 및 권한을 통해 제어되지 않습니다.
통화 자동화 기능 | Virtual Rooms 통화에서 지원됨 |
---|---|
PSTN 참가자에게 전화 걸기 | ✔️ |
PSTN 참가자에게 DTMF 보내기/읽기 | ✔️ |
특정 통화 참가자에게 공지 사항 보내기 | ✔️ |
진행 중인 통화에서 VoIP 참가자 추가/제거 | ✔️ |
모든 사용자에 대해 통화 종료 | ✔️ |
통화 대화 내용 기록 | ❌ |
오디오 미디어 스트리밍 | ❌ |
* 현재 공개 미리 보기로 제공됩니다.
이 그림에서는 회의실을 관리하고 참가하는 개념을 보여 줍니다.
통화 자동화 서버 SDK를 사용한 서버 시작 PSTN 전화 걸기
개발자는 회의실별 pstnDialoutEnabled 플래그를 설정하여 PSTN 참가자에게 전화를 걸 수 있는 기능을 활성화/비활성화할 수 있습니다. 개발자가 회의실에 대해 pstnDialoutEnabled=TRUE를 설정하면 클라이언트 쪽 참가 없이 통화 자동화를 사용하여 서버 쪽에서 PSTN 참가자에게 전화를 걸 수 있습니다.
예를 들어 환자가 의사와의 예정된 가상 진료 예약을 위해 통역 서비스를 요청할 수 있습니다. 대부분의 경우 통역 서비스에 연결되는 전화번호는 백 엔드 프로세스를 통해 동적으로 결정됩니다. 이 서버 쪽 PSTN 전화 걸기 기능을 사용하면 개발자가 클라이언트 쪽 작업을 요구하지 않고도 대상 전화번호를 확인하고, 통화를 시작하고, 환자의 가상 약속 통화에 이 전화번호를 추가할 수 있습니다.
다음 단계에 따라 통화 자동화 SDK를 사용하여 회의실 통화에 PSTN 번호를 추가합니다.
- pstnDialoutEnabled 플래그가
True
로 설정된 회의실 만들기 - 참가자가 회의실 통화 시작
- 통화 자동화 SDK를 사용하여 회의실 ID로 회의실 통화에 연결
- 통화 자동화 SDK를 사용하여 PSTN 번호로 전화 걸기
- PSTN 사용자가 채팅방 통화 수락 및 참가
클라이언트 쪽 통화 SDK에서 Virtual Rooms 통화 관리
통화 SDK를 사용하여 대화방 통화에 참가합니다. 회의실 통화는 웹, iOS 또는 Android 통화 SDK를 사용하여 참가할 수 있습니다. 대화방 통화에 참가하기 위한 빠른 시작 샘플은 여기서 찾을 수 있습니다.
또한 대화방은 Azure Communication Services UI 라이브러리를 사용하여 액세스할 수 있습니다. UI 라이브러리를 사용하면 개발자가 몇 줄의 코드만 사용하여 회의실이 사용하도록 설정된 통화 클라이언트를 애플리케이션에 추가할 수 있습니다.
통화 클라이언트 SDK를 사용한 클라이언트 시작 PSTN 전화 걸기
개발자는 회의실별 pstnDialoutEnabled 플래그를 설정하여 통화 참가자가 PSTN 참가자에게 전화를 걸 수 있는 기능을 허용하거나 허용하지 않을 수 있습니다. 개발자가 회의실에 대해 pstnDialoutEnabled=TRUE를 설정하면 발표자 역할이 있는 통화 참가자는 통화 클라이언트에서 PSTN 참가자에게 전화를 걸 수 있습니다. 다음 단계는 통화 클라이언트 SDK를 사용하여 회의실 통화에 PSTN 번호를 추가하는 데 사용됩니다.
- pstnDialoutEnabled 플래그가 True로 설정된 회의실 만들기
- 참가자가 회의실 통화 시작
- 발표자 역할이 있는 참가자가 통화에 PSTN 번호 추가
- PSTN 사용자가 채팅방 통화 수락 및 참가
Virtual Rooms API/SDK
대화방은 대화방 API 또는 SDK를 통해 만들어지고 관리됩니다. room
작업을 위해 서버 애플리케이션에서 대화방 API/SDK를 사용합니다.
- 만들기
- 수정
- 삭제
- 참가자 목록 설정 및 업데이트
- 대화방 유효성 설정 및 수정
- 사용자에게 역할 및 사용 권한 할당
Virtual Rooms SDK | 버전 | State(상태) |
---|---|---|
Virtual Rooms SDK | 2024-04-15 | 일반 공급 - 완전 지원 |
Virtual Rooms SDK | 2023-06-14 | 일반 공급 - 완전 지원 |
Virtual Rooms SDK | 2023-10-30 | 공개 미리 보기 - 완전히 지원됨 |
Virtual Rooms SDK | 2023-03-31 | 공개 미리 보기 - 사용 중지됨 |
Virtual Rooms SDK | 2022-02-01 | 공개 미리 보기 - 사용 중지됨 |
Virtual Rooms SDK | 2021-04-07 | 공개 미리 보기 - 사용 중지됨 |
Virtual Rooms 통화의 미리 정의된 참가자 역할 및 권한
회의실 참가자는 발표자, 참가자 및 소비자 역할 중 하나를 할당받을 수 있습니다.
다음 표에는 역할에 매핑된 자세한 기능이 나와 있습니다. 개략적으로 발표자 역할은 모든 권한을 가지며, 참가자 기능은 오디오 및 비디오로 제한되고, 소비자는 오디오, 비디오 및 화면 공유를 수신할 수 있습니다.
참고: PSTN 통화 참가자는 회의실 명단의 일부가 아니므로 사용자 역할이 할당되지 않습니다. 이러한 기능은 로컬 디바이스에서 자체 음소거/음소거 해제로 제한됩니다.
기능 | 역할: 발표자 | 역할: 참석자 | 역할: 소비자 |
---|---|---|---|
중간 통화 제어 | |||
- 비디오 켜기/끄기 | ✔️ | ✔️ | ❌ |
- 마이크 음소거/음소거 해제 | ✔️ | ✔️ | ❌ |
- 원격 사용자 음소거 | ✔️ | ❌ | ❌ |
- 카메라 간 전환 | ✔️ | ✔️ | ❌ |
- 활성 스피커 | ✔️ | ✔️ | ✔️ |
- 통화용 스피커 선택 | ✔️ | ✔️ | ✔️ |
- 통화용 마이크 선택 | ✔️ | ✔️ | ❌ |
- 참가자 상태 표시(유휴, 연결 중, 연결됨, 보류 중, 연결 끊는 중, 연결 끊김 등) | ✔️ | ✔️ | ✔️ |
- 통화 상태 표시(초기 미디어, 수신 중, 연결 중, 전화 거는 중, 연결됨, 대기, 연결 끊는 중, 연결 끊김) | ✔️ | ✔️ | ✔️ |
- 참가자가 음소거되어 있는지 여부 표시 | ✔️ | ✔️ | ✔️ |
- 참가자가 전화를 끊은 이유 표시 | ✔️ | ✔️ | ✔️ |
- 통화 캡션 시작 | ✔️ | ✔️ | ✔️ |
- 캡션 언어 변경 | ✔️ | ✔️ | ❌ |
- 모든 참가자의 모임 종료 | ✔️ | ❌ | ❌ |
- Virtual Room 참가자를 통화에 참가하도록 초대 | ✔️ | ❌ | ❌ |
화면 공유 | |||
- 화면 공유 | ✔️ * | ❌ | ❌ |
- 애플리케이션 공유 | ✔️ * | ❌ | ❌ |
- 브라우저 탭 공유 | ✔️ * | ❌ | ❌ |
- 참가자가 공유 화면을 볼 수 있음 | ✔️ | ✔️ | ✔️ |
명단 관리 | |||
- 참가자 제거 | ✔️ | ❌ | ❌ |
디바이스 관리 | |||
- 오디오 및/또는 비디오 사용 권한 요청 | ✔️ | ✔️ | ❌ |
- 카메라 목록 가져오기 | ✔️ | ✔️ | ❌ |
- 카메라 설정 | ✔️ | ✔️ | ❌ |
- 선택한 카메라 가져오기 | ✔️ | ✔️ | ❌ |
- 마이크 목록 가져오기 | ✔️ * | ✔️ * | ❌ |
- 마이크 설정 | ✔️ * | ✔️ * | ❌ |
- 선택한 마이크 가져오기 | ✔️ * | ✔️ * | ❌ |
- 발표자 목록 가져오기 | ✔️ * | ✔️ * | ✔️ * |
- 스피커 설정 | ✔️ * | ✔️ * | ✔️ * |
- 선택한 스피커 가져오기 | ✔️ | ✔️ | ✔️ |
비디오 렌더링 | |||
- 여러 위치에서 비디오 렌더링(로컬 카메라 또는 원격 스트림) | ✔️ | ✔️ | ✔️ (원격만 해당) |
- 비디오 크기 조정 모드 설정/업데이트 | ✔️ | ✔️ | ✔️ (원격만 해당) |
- 원격 비디오 스트림 렌더링 | ✔️ | ✔️ | ✔️ |
클라이언트 쪽에서 PSTN 참가자에게 전화 걸기 | |||
- Virtual Rooms 쪽에서 PSTN 참가자에게 전화 걸기 | ✔️ | ❌ | ❌ |
* 웹 통화 SDK에서만 사용할 수 있습니다. iOS 및 Android 통화 SDK에서는 사용할 수 없습니다.
** 현재 공개 미리 보기로 제공됩니다.
이벤트 처리
Event Grid를 통해 게시된 음성 및 영상 통화 이벤트에는 대화방 통화 정보가 주석으로 추가됩니다.
- CallStarted는 대화방 통화를 시작할 때 게시됩니다.
- CallEnded는 대화방 통화를 종료할 때 게시됩니다.
- CallParticipantAdded는 새 참가자가 대화방 통화에 참가할 때 게시됩니다.
- CallParticipantRemoved는 참가자가 대화방 통화에서 나갈 때 게시됩니다.
사용되지 않는 기능
이전 공개 미리 보기 버전의 Rooms API는 다음과 같이 회의실 명단 제어에 대한 두 가지 구성을 지원했습니다.
- 초대된 사용자만 회의실 통화에 참가할 수 있도록 허용한 초대 전용 회의실.
- 덜 안전했던 오픈 회의실. 오픈 회의실 구성에서 모든 Azure Communication Services 사용자는 회의실 명단을 통해 명시적으로 초대되지 않고 통화에 참가할 수 있었습니다.
오픈 회의실 개념은 이제 더 이상 사용되지 않습니다. 앞으로는 초대 전용 회의실이 유일하게 지원되는 회의실 유형입니다.
알려진 제한 사항
- Azure Communication Services 통화 자동화 기능은 현재 회의실 통화를 지원하지 않습니다.
다음 단계:
- 빠른 시작을 사용하여 회의실을 만들고 관리하고 참가합니다.
- 대화방 통화에 참가하는 방법을 알아봅니다.
- 회의실 통화를 관리하는 방법을 알아봅니다.
- 미디어 및 신호에 대한 네트워크 요구 사항을 검토합니다.
- 회의실 데이터를 분석합니다. 회의실 로그를 참조하세요.
- Log Analytics 작업 영역을 사용하는 방법에 대한 자세한 내용은 Log Analytics 자습서를 참조하세요.
- Log Analytics에서 사용자 고유의 쿼리를 만듭니다. 쿼리 시작을 참조하세요.