Configuración: cola de llamadas a través de PowerShell

Requisitos previos

  • Asegúrese de que tiene derechos de administración de inquilinos.
  • Los agentes, listas de distribución y canales de Teams mencionados en este artículo ya se han creado.
  1. Determine si el MicrosoftTeams módulo de PowerShell ya está instalado.

    Get-InstalledModule -Name MicrosoftTeams
    

    Si el MicrosoftTeams módulo de PowerShell ya está instalado, la salida del comando será similar a:

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

    Continúe con el Paso 2.

    Si el MicrosoftTeams modelo de PowerShell aún no está instalado, vaya al Paso 3.

  2. Actualizar el MicrosoftTeams módulo

    Update-Module MicrosoftTeams
    

    Continúa con los escenarios

  3. Instale el MicrosoftTeams modeule de PowerShell 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
      

Escenarios

Ventas (usuarios y grupos)

  • Anidado detrás del operador automático: Sí
  • Llamadas: solo a través del operador automático de ventas: no se requiere una cuenta de recursos
  • Idioma: inglés (EE. UU.)
  • Saludo: Ninguna (el operador automático de ventas recibe las llamadas)
  • Música en espera: Reproducir un archivo de audio
    • Nombre de archivo: sales-hold-in-queue-music.wav
  • Respuesta de llamadas: usuarios
  • Respuesta de llamadas: grupo
  • Modo de conferencia: Activado
  • Método de enrutamiento: Round Robin
  • Enrutamiento basado en presencia: Activado
  • 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
  • Administración del tiempo de espera de llamadas: 120 segundos
  • Sin control de agentes
  • Devolución de llamada: No
  • Nivel de servicio: 20 segundos
  • Usuario de autenticación
  • Directiva de aplicaciones de voz: Ventas
  • Grabación de cumplimiento: No
  • Historial de llamadas compartido: Sí
    • Plantilla: Ventas
  • Grabación automática: No
Expandir para ver los comandos de PowerShell

Inicio de sesión

Cuando se le solicite, escriba sus credenciales de administrador de Teams.

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

Crear Files 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

Crear plantilla de historial de llamadas compartido

Plantilla Crear grabación automática para la cola de llamadas

Obtener id. de usuario

$userAdeleID = (Get-CsOnlineUser -Identity "sip:[email protected]").Identity
$userSalesBillID = (Get-CsOnlineUser -Identity "sip:[email protected]").Identity
$userSalesMaryID = (Get-CsOnlineUser -Identity "sip:[email protected]").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"

Soporte técnico (Turnos de Microsoft)

  • Anidado detrás del operador automático: Sí -
  • Llamadas: Mediante el operador automático de soporte técnico, internamente y a través de RTC: se requiere una cuenta de recursos
  • 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: equipo de soporte técnico de Turnos de Microsoft
  • 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
  • Sin control de agentes
  • Devolución de llamada: Sí
  • Nivel de servicio: 30 segundos
  • Usuario de autenticación
  • Grabación de cumplimiento
  • Historial de llamadas compartido
  • grabación automática
Expandir para ver los comandos de PowerShell

Inicio de sesión

Cuando se le solicite, escriba sus credenciales de administrador de Teams.

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

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

Aquí no es necesario un número de teléfono, ya que la cola de llamadas está anidada detrás de un operador automático.

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

El tipo de licencia que se muestra después (PHONESYSTEM_VIRTUALUSER) debe ser uno enumerado por el Get-MgSubscribedSku cmdlet.

New-CsOnlineApplicationInstance -UserPrincipalName [email protected] -DisplayName "Support" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "[email protected]" -UsageLocation US

Set-MgUserLicense -UserId "[email protected]" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "[email protected]").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Support").Identity

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

Instalaciones (canal de Teams)

  • Anidado detrás 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
  • 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
  • Sin control de agentes
  • Devolución de llamada: Sí
  • Nivel de servicio: 30 segundos
  • Usuario de autenticación
  • Grabación de cumplimiento
  • Historial de llamadas compartido
  • grabación automática
Expandir para ver los comandos de PowerShell

Inicio de sesión

Cuando se le solicite, escriba sus credenciales de administrador de Teams.

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

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 "[email protected]").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

Aquí no es necesario un número de teléfono, ya que la cola de llamadas está anidada detrás de un operador automático.

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

El tipo de licencia que se muestra después (PHONESYSTEM_VIRTUALUSER) debe ser uno enumerado por el Get-MgSubscribedSku cmdlet.

New-CsOnlineApplicationInstance -UserPrincipalName [email protected] -DisplayName "Facilities" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "[email protected]" -UsageLocation US

Set-MgUserLicense -UserId "[email protected]" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "[email protected]").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Facilities").Identity

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

Planear operadores automáticos y colas de llamadas de Teams

Esto es lo que obtienes con Teléfono Microsoft Teams

Crear un operador automático mediante cmdlets