Crear una cola de llamadas a través de cmdlets

Suposiciones

  1. PowerShell está instalado en el equipo

    • Configurar el equipo para Windows PowerShell

    • Módulo MSTeams instalado

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Módulo de Microsoft Graph instalado

      Install-Module -Name Microsoft.Graph -Force -AllowClobber
      
  2. Tiene derechos de administración de inquilinos

  3. Has comprado Teléfono Microsoft Teams

  4. Los agentes, las listas de distribución y los canales de Teams a los que se hace referencia a continuación ya se han creado

Nota: El cmdlet del canal de Teams que se usa a continuación forma parte de la versión preliminar pública del módulo de PowerShell de Teams. Para obtener más información, consulte Instalar la versión preliminar pública de PowerShell de Teams y vea también Notas de la versión de Microsoft Teams PowerShell.

Los usuarios que ya tienen instalado el módulo MicrosoftTeams deben Update-Module MicrosoftTeams asegurarse de que está instalada la versión más actualizada.

Escenario

Se crearán las tres colas de llamadas siguientes:

Información de la cola de llamadas de ventas:

  • Frontal por operador automático: Sí
  • Llamadas directas desde RTC: No
  • Idioma: inglés (EE. UU.)
  • Saludo: Ninguno
  • Música en espera: Reproducir un archivo de audio
    • Nombre de archivo: sales-hold-in-queue-music.wav
  • Respuesta de llamadas: usuarios
    • Bill@contoso.com
    • Mary@contoso.com
  • Modo de conferencia: Activado
  • Método de enrutamiento: Operador
  • Enrutamiento basado en presencia: Desactivado
  • Los agentes de llamadas pueden dejar de realizar llamadas: Sí
  • Hora de alerta del agente de llamadas: 15
  • Administración de desbordamiento de llamadas: 200
    • Redirigir a: Adele@contoso.com
  • Administración del tiempo de espera de llamadas: 120 segundos
    • Redirigir a: Adele@contoso.com

Información de la cola de llamadas de soporte técnico:

  • Frontal por operador automático: Sí
  • Llamadas directas desde RTC: No
  • Idioma: inglés (Reino Unido)
  • Saludo: Reproducir un archivo de audio
    • Nombre de archivo: support-greeting.wav
  • Música en espera: Reproducir un archivo de audio
    • Nombre de archivo: support-hold-in-queue-music.wav
  • Respuesta de llamadas: lista de distribución de soporte técnico
    • Support@contoso.com
  • Modo de conferencia: Activado
  • Método de enrutamiento: el más largo de los inactivos
  • Enrutamiento basado en presencia: N/A: activado de forma predeterminada debido a la inactividad más larga
  • Los agentes de llamadas pueden dejar de realizar llamadas: No
  • Hora de alerta del agente de llamadas: 15
  • Administración de desbordamiento de llamadas: 200
    • Redirigir: admitir correo de voz compartido
      • Reproducir un archivo de audio (support-shared-voicemail-greeting.wav)
      • Transcripción habilitada
  • Administración del tiempo de espera de llamadas: 45 minutos
    • Redirigir: admitir correo de voz compartido
      • TTS: "Sentimos haberte hecho esperar y ahora estamos transfiriendo tu llamada al correo de voz".
      • Transcripción habilitada

Información de la cola de llamadas colaborativas de las instalaciones:

  • Delante del operador automático: No
  • Llamadas directas desde RTC: No (solo llamadas internas)
  • Idioma: francés FR
  • Saludo: Ninguno
  • Música en espera: predeterminada
  • Respuesta de llamadas: equipo: instalaciones
  • Canal de contestador de llamadas: Servicio de asistencia
    • Propietario del canal: Fred@contoso.com
  • Modo de conferencia: Activado
  • Método de enrutamiento: Round Robin
  • Enrutamiento basado en presencia: Activado
  • Los agentes de llamadas pueden dejar de realizar llamadas: No
  • Hora de alerta del agente de llamadas: 15
  • Administración de desbordamiento de llamadas: 200
    • Desconectar
  • Administración del tiempo de espera de llamadas: 45 minutos
    • Desconectar

Inicio de sesión

Se le pedirá que escriba sus credenciales de administrador de Teams.

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

Cola de ventas

Crear archivos de audio

Reemplace "d:\" por la ruta de acceso a la ubicación de almacenamiento de los archivos wav en el equipo.

$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

Obtener id. de usuario

$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

Obtener una lista de idiomas admitidos

Get-CsAutoAttendantSupportedLanguage

Crear cola de llamadas

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"

Obtener tipos de licencia

Get-MgSubscribedSku

Crear y asignar cuenta de recursos

Nota: El número de teléfono no se requiere aquí, ya que la cola de llamadas es front-ended por un operador automático

  • Id. de aplicación
    • Operador automático: ce933385-9390-45d1-9512-c8d228074e07
    • Cola de llamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Nota: El tipo de licencia que se muestra a continuación (PHONESYSTEM_VIRTUALUSER) debe ser uno enumerado por el Get-MgSubscribedSku cmdlet anterior.

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

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

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

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

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

Cola de soporte técnico

Crear archivos de audio

Reemplace "d:\" por la ruta de acceso a la ubicación de almacenamiento de los archivos wav en el equipo.

$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

Obtener el id. de grupo del equipo de soporte técnico

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

Obtener una lista de idiomas admitidos

Get-CsAutoAttendantSupportedLanguage

Crear cola de llamadas

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"

Obtener tipos de licencia

Get-MgSubscribedSku

Crear y asignar cuenta de recursos

Nota: El número de teléfono no es necesario aquí, ya que una cola de llamadas es front-ended por un operador automático

  • Id. de aplicación
    • Operador automático: ce933385-9390-45d1-9512-c8d228074e07
    • Cola de llamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Nota: El tipo de licencia que se muestra a continuación (PHONESYSTEM_VIRTUALUSER) debe ser uno enumerado por el Get-MgSubscribedSku cmdlet anterior.

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

Cola de llamadas colaborativas de Facilities

Obtener id. de grupo del equipo de Instalaciones

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

Obtener id. de canal de equipo del servicio de asistencia de Facilities

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

Obtener identificador de usuario del propietario del canal de asistencia de Facilities

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

Obtener en nombre del identificador de cuenta de recurso de llamada

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

Obtener una lista de idiomas admitidos

Get-CsAutoAttendantSupportedLanguage

Crear cola de llamadas

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 

Obtener tipos de licencia

Get-MgSubscribedSku

Crear y asignar cuenta de recursos

Nota: El número de teléfono no es necesario aquí, ya que una cola de llamadas es front-ended por un operador automático

  • Id. de aplicación
    • Operador automático: ce933385-9390-45d1-9512-c8d228074e07
    • Cola de llamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Nota: El tipo de licencia que se muestra a continuación (PHONESYSTEM_VIRTUALUSER) debe ser uno enumerado por el Get-MgSubscribedSku cmdlet anterior.

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