다음을 통해 공유


Teams 상호 운용성: 통화

Important

이 문서에 설명된 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

이 미리 보기의 일환으로 Azure Communication Services SDK를 사용하여 BYOI(Bring Your Own Identity) 사용자가 Teams 사용자와 1:1 통화를 시작할 수 있는 애플리케이션을 빌드할 수 있습니다. 표준 Azure Communication Services 가격 책정이 이러한 사용자에게 적용되지만 상호 운용성 기능에 대한 추가 요금은 부과되지 않습니다. Teams 사용자 또는 Teams 음성 애플리케이션과 연결하고 통신하기 위해 Azure Communication Services로 빌드된 사용자 지정 애플리케이션은 최종 사용자 또는 봇이 사용할 수 있으며, 애플리케이션 개발자가 표시 이름으로 명시적으로 표시하지 않는 한 Teams 애플리케이션에서 Teams 사용자에게 표시되는 방식에는 차이가 없습니다.

Communication Services 사용자와 Teams 테넌트 간의 통화를 사용하도록 설정하려면 양식을 통해 테넌트를 허용하고 테넌트와 Communication Services 리소스 간의 연결을 사용하도록 설정합니다.

Teams 테넌트에서 상호 운용성 사용

Teams 관리자 역할이 있는 Microsoft Entra 사용자는 MicrosoftTeams 모듈과 함께 PowerShell cmdlet을 실행하여 테넌트에서 Communication Services 리소스를 사용하도록 설정할 수 있습니다.

1. Microsoft Teams 모듈 준비

먼저 PowerShell을 열고 다음 명령을 사용하여 Teams 모듈이 있는지 유효성을 검사합니다.

Get-module *teams* 

MicrosoftTeams 모듈이 보이지 않으면 먼저 설치합니다. 모듈을 설치하려면 PowerShell을 관리자 권한으로 실행해야 합니다. 그런 후 다음 명령을 실행합니다.

	Install-Module -Name MicrosoftTeams

설치될 모듈에 대한 정보를 받게 되며 Y 또는 A 답변으로 확인할 수 있습니다. 모듈이 설치되었지만 오래된 경우 다음 명령을 실행하여 모듈을 업데이트할 수 있습니다.

	Update-Module MicrosoftTeams

2. Microsoft Teams 모듈에 연결

모듈이 설치되고 준비되면 다음 명령을 사용하여 MicrosoftTeams 모듈에 연결할 수 있습니다. 로그인하라는 대화형 창이 표시됩니다. 사용하려는 사용자 계정에는 Teams 관리자 권한이 있어야 합니다. 그렇지 않으면 다음 단계에서 access denied 응답을 가져올 수 있습니다.

Connect-MicrosoftTeams

3. 테넌트 구성 사용

Communication Services 리소스와의 상호 운용성은 테넌트 구성 및 할당된 정책을 통해 제어됩니다. Teams 테넌트에는 단일 테넌트 구성이 있으며 Teams 사용자는 글로벌 정책 또는 사용자 지정 정책을 할당했습니다. 자세한 내용은 Teams에서 정책 할당을 참조하세요.

로그인에 성공한 후 cmdlet Set-CsTeamsAcsFederationConfiguration을 실행하여 테넌트에서 Communication Services 리소스를 사용하도록 설정할 수 있습니다. 텍스트 IMMUTABLE_RESOURCE_ID를 통신 리소스에서 변경할 수 없는 리소스 ID로 바꿉니다. 이 정보를 가져오는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

$allowlist = @('IMMUTABLE_RESOURCE_ID')
Set-CsTeamsAcsFederationConfiguration -EnableAcsUsers $True -AllowedAcsResources $allowlist

4. 테넌트 정책 사용

각 Teams 사용자는 Communication Services 사용자가 이 Teams 사용자에게 전화를 걸 수 있는지 여부를 결정하는 External Access Policy를 할당했습니다. cmdlet Set-CsExternalAccessPolicy를 사용하여 Teams 사용자에게 할당된 정책이 EnableAcsFederationAccess$true로 설정했는지 확인합니다.

Set-CsExternalAccessPolicy -Identity Global -EnableAcsFederationAccess $true

Teams 사용자 ID 가져오기

Teams 사용자 또는 Teams Voice 애플리케이션과 통화를 시작하려면 대상의 식별자가 필요합니다. 다음 옵션을 사용하여 ID를 검색할 수 있습니다.

통화 중

Calling SDK를 사용하면 Communication Services 사용자 또는 엔드포인트에서 Microsoft Entra 개체 ID로 식별되는 Teams 사용자와 1:1 통화를 시작할 수 있습니다. Teams 사용자에게 전화를 걸도록 다른 Communication Services 사용자를 호출하는 기존 애플리케이션을 쉽게 수정할 수 있습니다.

통화 관리 - Azure Communication Services 방법 가이드 | Microsoft Docs

communicationUserId를 사용하여 다른 Communication Services 엔드포인트 호출:

const acsCallee = { communicationUserId: '<Azure Communication Services User ID>' }
const call = callAgent.startCall([acsCallee]);

microsoftTeamsUserId를 사용하여 Teams 사용자 호출:

const teamsCallee = { microsoftTeamsUserId: '<Teams User AAD Object ID>' }
const call = callAgent.startCall([teamsCallee]);

음성 및 영상 통화 이벤트

Communication Services 음성 및 영상 통화 이벤트는 Communication Services 사용자와 Teams 사용자 간의 통화에 대해 발생합니다.

제한 사항 및 알려진 문제

  • 이 기능은 현재 .NET Calling SDK에서 사용할 수 없습니다.
  • Teams 사용자는 "TeamsOnly" 모드에 있어야 합니다. 비즈니스용 Skype 사용자는 Communication Services 사용자로부터 1:1 통화를 받을 수 없습니다.
  • 그룹 통화로의 에스컬레이션은 지원되지 않습니다.
  • Communication Services 통화 녹음/녹화는 1:1 통화에 사용할 수 없습니다.
  • 착신 전환, 그룹 전화 받기, 동시 벨 울림 및 음성 메일과 같은 고급 통화 라우팅 기능은 지원되지 않습니다.
  • Teams 사용자는 Communication Services 사용자를 착신 전환/전송 대상으로 설정할 수 없습니다.
  • Communication Services 사용자와의 1:1 통화 중에 Teams 클라이언트의 많은 기능이 예상대로 작동하지 않습니다.
  • 타사 Teams용 디바이스Skype IP 전화는 지원되지 않습니다.

개인 정보 보호

Azure Communication Services와 Microsoft Teams 간의 상호 운용성을 통해 애플리케이션과 사용자가 Teams 통화 및 회의에 참여할 수 있습니다. Teams 회의 또는 미팅에서 기록 또는 인쇄 기능을 사용할 때, 응용 프로그램 사용자에게 통지해야 합니다.

Microsoft는 대화 기록 또는 녹음이 시작되었음을 Azure Communication Services API를 통해 표시합니다. 애플리케이션의 사용자 인터페이스 내에서 이 사실을 사용자에게 실시간으로 전달해야 합니다. 귀하는 이 의무를 준수하지 않아 발생한 모든 비용 및 손해에 대해 Microsoft를 면책하는 데 동의합니다.