설정 - PowerShell을 통해 큐 호출

필수 구성 요소

  • 테넌트 관리 권한이 있는지 확인합니다.
  • 이 문서에 언급된 에이전트, 배포 목록 및 Teams 채널이 이미 만들어졌습니다.
  1. PowerShell 모듈이 MicrosoftTeams 이미 설치되어 있는지 확인합니다.

    Get-InstalledModule -Name MicrosoftTeams
    

    MicrosoftTeams PowerShell 모듈이 이미 설치된 경우 명령의 출력은 다음과 유사합니다.

    Get-InstalledModule -Name MicrosoftTeams
    
    Version              Name                                Repository           Description
    -------              ----                                ----------           -----------
    7.7.0                MicrosoftTeams                      PSGallery            Microsoft Teams cmdlets module for Windows PowerShell and PowerShell Core....
    

    2단계로 진행합니다.

    MicrosoftTeams PowerShell 모델이 아직 설치되지 않은 경우 3단계로 진행합니다.

  2. MicrosoftTeams 모듈 업데이트

    Update-Module MicrosoftTeams
    

    시나리오 진행

  3. MicrosoftTeams 컴퓨터에 PowerShell 모듈을 설치합니다.

    • Windows PowerShell 컴퓨터 설정

    • MSTeams 모듈 설치됨

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • 설치된 Microsoft Graph 모듈

      Install-Module -Name Microsoft.Graph -Force -AllowClobber
      

시나리오

판매(사용자 및 그룹)

  • 자동 전화 교환 뒤에 중첩됨: 예
  • 통화: 판매 자동 전화 교환만을 통해 - 리소스 계정이 필요하지 않음
  • 언어: 영어 미국
  • 인사말: 없음(영업 자동 전화 교환에서 전화를 받습니다.)
  • 보류 중인 음악: 오디오 파일 재생
    • 파일 이름: sales-hold-in-queue-music.wav
  • 통화 응답: 사용자
    • Bill@contoso.com
    • Mary@contoso.com
  • 통화 응답: 그룹
    • Sales@contoso.com
  • 회의 모드: 켜기
  • 라우팅 방법: 라운드 로빈
  • 현재 상태 기반 라우팅: 켜기
  • 통화 에이전트는 전화를 옵트아웃할 수 있습니다. 예
  • 통화 에이전트 경고 시간: 15
  • 호출 오버플로 처리: 200
    • 다음으로 리디렉션합니다. Adele@contoso.com
  • 통화 시간 제한 처리: 120초
    • 다음으로 리디렉션합니다. Adele@contoso.com
  • 에이전트 처리 없음
    • 모든 호출에 적용
    • 다음으로 리디렉션합니다. Adele@contoso.com
  • 콜백: 아니요
  • 서비스 수준: 20초
  • 인증 사용자
    • Adele@contoso.com
  • 음성 애플리케이션 정책: 판매
  • 규정 준수 기록: 아니요
  • 공유 통화 기록: 예
    • 템플릿: 판매
  • 자동 녹음: 아니요
PowerShell 명령을 보려면 확장

로그인

메시지가 표시되면 Teams 관리자 자격 증명을 입력합니다.

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

오디오 Files 만들기

를 wav 파일이 컴퓨터에 저장되는 경로로 바꿉 d:\\ 다.

$content = [System.IO.File]::ReadAllBytes('d:\sales-hold-in-queue-music.wav')
$audioFileSalesHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "sales-hold-in-queue-music.wav" -Content $content).ID

공유 통화 기록 템플릿 만들기

통화 큐 템플릿에 대한 자동 녹음/녹화 만들기

사용자 ID 가져오기

$userAdeleID = (Get-CsOnlineUser -Identity "sip:adele@contoso.com").Identity
$userSalesBillID = (Get-CsOnlineUser -Identity "sip:bill@contoso.com").Identity
$userSalesMaryID = (Get-CsOnlineUser -Identity "sip:mary@contoso.com").Identity

지원되는 언어 목록 가져오기

Get-CsAutoAttendantSupportedLanguage

통화 큐 만들기

New-CsCallQueue -Name "Sales" -AgentAlertTime 15 -AllowOptOut $true -MusicOnHoldAudioFileID $audioFileSalesHoldInQueueMusicID -OverflowAction Forward -OverflowActionTarget $userAdeleID -OverflowThreshold 200 -TimeoutAction Forward -TimeoutActionTarget $userAdeleID -TimeoutThreshold 120 -RoutingMethod Attendant -ConferenceMode $true -User @($userSalesBillID, $userSalesMaryID) -LanguageID "en-US"

지원(Microsoft Shifts)

  • 자동 전화 교환 뒤에 중첩됨: 예 -
  • 통화: 지원 자동 전화 교환을 통해 내부적으로 및 PSTN을 통해 - 리소스 계정이 필요합니다.
  • 언어: 영어 영국
  • 인사말: 오디오 파일 재생
    • 파일 이름: support-greeting.wav
  • 보류 중인 음악: 오디오 파일 재생
    • 파일 이름: support-hold-in-queue-music.wav
  • 전화 응답: Microsoft Shifts 지원 팀
    • Support@contoso.com
  • 회의 모드: 켜기
  • 라우팅 방법: 가장 긴 유휴 상태
  • 프레즌스 기반 라우팅: N/A – 가장 긴 유휴 상태 때문에 기본적으로 켜기
  • 통화 에이전트는 통화 걸기 옵트아웃할 수 있습니다. 아니요
  • 통화 에이전트 경고 시간: 15
  • 호출 오버플로 처리: 200
    • 리디렉션: 공유 음성 메일 지원
      • 오디오 파일 재생(support-shared-voicemail-greeting.wav)
      • 전사 사용
  • 통화 시간 제한 처리: 45분
    • 리디렉션: 공유 음성 메일 지원
      • TTS: "계속 기다리게 되어 죄송합니다. 이제 음성 메일로 전화를 전송하고 있습니다."
      • 전사 사용
  • 에이전트 처리 없음
  • 콜백: 예
  • 서비스 수준: 30초
  • 인증 사용자
  • 규정 준수 기록
  • 공유 통화 기록
  • 자동 녹음/녹화
PowerShell 명령을 보려면 확장

로그인

메시지가 표시되면 Teams 관리자 자격 증명을 입력합니다.

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

오디오 파일 만들기

를 wav 파일이 컴퓨터에 저장되는 경로로 바꿉 d:\\ 다.

$content1 = [System.IO.File]::ReadAllBytes('d:\support-greeting.wav')
$audioFileSupportGreetingID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-greeting.wav" -Content $content1).ID

$content2 = [System.IO.File]::ReadAllBytes('d:\support-hold-in-queue-music.wav')
$audioFileSupportHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-hold-in-queue-music.wav" -Content $content2).ID

$content3 = [System.IO.File]::ReadAllBytes('d:\support-shared-voicemail-greeting.wav')
$audioFileSupportSharedVoicemailGreetingID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-shared-voicemail-greeting.wav" -Content $content3).ID

지원 팀 그룹 ID 가져오기

$teamSupportID = (Get-Team -DisplayName "Support").GroupID

지원되는 언어 목록 가져오기

Get-CsAutoAttendantSupportedLanguage

통화 큐 만들기

New-CsCallQueue -Name "Support" -AgentAlertTime 15 -AllowOptOut $false -DistributionLists $teamSupportID -WelcomeMusicAudioFileID $audioFileSupportGreetingID -MusicOnHoldAudioFileID $audioFileSupportHoldInQueueMusicID -OverflowAction SharedVoicemail -OverflowActionTarget $teamSupportID -OverflowThreshold 200 -OverflowSharedVoicemailAudioFilePrompt $audioFileSupportSharedVoicemailGreetingID -EnableOverflowSharedVoicemailTranscription $true -TimeoutAction SharedVoicemail -TimeoutActionTarget $teamSupportID -TimeoutThreshold 2700 -TimeoutSharedVoicemailTextToSpeechPrompt "We're sorry to have kept you waiting and are now transferring your call to voicemail." -EnableTimeoutSharedVoicemailTranscription $true -RoutingMethod LongestIdle -ConferenceMode $true -LanguageID "en-US"

라이선스 유형 가져오기

Get-MgSubscribedSku

리소스 계정 만들기 및 할당

통화 큐가 자동 전화 교환 뒤에 중첩되므로 전화 번호가 필요하지 않습니다.

  • ApplicationID
    • 자동 전화 교환: ce933385-9390-45d1-9512-c8d228074e07
    • 통화 큐: 11cd3e2e-fccb-42ad-ad00-878b93575e07

다음에 (PHONESYSTEM_VIRTUALUSER) 표시된 라이선스 유형은 cmdlet에 나열 Get-MgSubscribedSku 된 라이선스 유형이어야 합니다.

New-CsOnlineApplicationInstance -UserPrincipalName Support-RA@contoso.com -DisplayName "Support" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "Support-RA@contoso.com" -UsageLocation US

Set-MgUserLicense -UserId "Support-RA@contoso.com" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "Support-RA@contoso.com").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Support").Identity

New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceID) -ConfigurationID $callQueueID -ConfigurationType CallQueue

시설(Teams 채널)

  • 자동 전화 교환 뒤에 중첩됨: 아니요
  • PSTN에서 직접 호출: 아니요(내부 호출에만 해당)
  • 언어: 프랑스어 FR
  • 인사말: 없음
  • 보류 중인 음악: 기본값
  • 전화 응답: 팀: 시설
  • 전화 응답 채널: 지원 센터
    • 채널 소유자: Fred@contoso.com
  • 회의 모드: 켜기
  • 라우팅 방법: 라운드 로빈
  • 현재 상태 기반 라우팅: 켜기
  • 통화 에이전트는 통화 걸기 옵트아웃할 수 있습니다. 아니요
  • 통화 에이전트 경고 시간: 15
  • 호출 오버플로 처리: 200
    • 연결 끊기
  • 통화 시간 제한 처리: 45분
    • 연결 끊기
  • 에이전트 처리 없음
  • 콜백: 예
  • 서비스 수준: 30초
  • 인증 사용자
  • 규정 준수 기록
  • 공유 통화 기록
  • 자동 녹음/녹화
PowerShell 명령을 보려면 확장

로그인

메시지가 표시되면 Teams 관리자 자격 증명을 입력합니다.

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

시설 팀 그룹 ID 가져오기

$teamFacilitiesGroupID = (Get-Team -DisplayName "Facilities").GroupID

시설 지원 센터 팀 채널 ID 가져오기

Get-TeamChannel -GroupId $teamFacilitiesGroupID
$teamFacilitiesHelpDeskChannelID = "{assign ID from output of above command}"

시설 지원 센터 채널 소유자 사용자 ID 가져오기

$teamFacilitiesHelpDeskChannelUserID = (Get-TeamChannelUser -GroupId $teamFacilitiesGroupID -DisplayName "Help Desk" -Role Owner).UserId

통화 리소스 계정 ID를 대신하여 가져오기

$oboResourceAccountID = (Get-CsOnlineUser -Identity "MainAA-RA@contoso.com").Identity

지원되는 언어 목록 가져오기

Get-CsAutoAttendantSupportedLanguage

통화 큐 만들기

New-CsCallQueue -Name "Facilities" -AgentAlertTime 15 -AllowOptOut $false -ChannelId $teamFacilitiesHelpDeskChannelID -ChannelUserObjectId $teamFacilitiesHelpDeskChannelUserID  -ConferenceMode $true -DistributionList $teamFacilitiesGroupID -LanguageID "fr-FR" -OboResourceAccountIds $oboResourceAccountID -OverflowAction DisconnectWithBusy -OverflowThreshold 200 -RoutingMethod RoundRobin -TimeoutAction Disconnect -TimeoutThreshold 2700 -UseDefaultMusicOnHold $true 

라이선스 유형 가져오기

Get-MgSubscribedSku

리소스 계정 만들기 및 할당

통화 큐가 자동 전화 교환 뒤에 중첩되므로 전화 번호가 필요하지 않습니다.

  • ApplicationID
    • 자동 전화 교환: ce933385-9390-45d1-9512-c8d228074e07
    • 통화 큐: 11cd3e2e-fccb-42ad-ad00-878b93575e07

다음에 (PHONESYSTEM_VIRTUALUSER) 표시된 라이선스 유형은 cmdlet에 나열 Get-MgSubscribedSku 된 라이선스 유형이어야 합니다.

New-CsOnlineApplicationInstance -UserPrincipalName Facilities-RA@contoso.com -DisplayName "Facilities" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "Facilities-RA@contoso.com" -UsageLocation US

Set-MgUserLicense -UserId "Facilities-RA@contoso.com" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "Facilities-RA@contoso.com").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Facilities").Identity

New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceID) -ConfigurationID $callQueueID -ConfigurationType CallQueue

Teams 자동 전화 교환 및 통화 큐 계획

Microsoft Teams 전화

cmdlet을 통해 자동 전화 교환 만들기