Segreteria telefonica di Microsoft Teams non funziona: HostedVoicemail non abilitato, come risolvere

Se in Microsoft Teams la segreteria telefonica non è accessibile e la diagnostica segnala “HostedVoicemail non abilitato”, questa guida ti aiuta a verificare policy, licenze e possibili conflitti. Troverai anche comandi PowerShell pronti all’uso per ripristinare rapidamente la voicemail.

Indice

Panoramica della situazione

Un’utente di Microsoft Teams non riesce ad accedere alla voicemail. La diagnostica amministrativa indica che HostedVoicemail non è abilitato e suggerisce di impostare il parametro AllowVoicemail della Teams Calling Policy su UserOverride o AlwaysEnabled.

In Teams, l’abilitazione della segreteria telefonica è determinata dalla combinazione di tre fattori:

  • Policy di chiamata dell’utente (Teams Calling Policy), in particolare il parametro AllowVoicemail.
  • Licenze assegnate (es. Teams Phone, precedentemente “Phone System”).
  • Impostazioni utente (regole di risposta, inoltro, gruppi di chiamata) e possibili conflitti con altre funzionalità voce (call queue, auto attendant, busy-on-busy).

Risposta e soluzioni proposte

Segui i passaggi nell’ordine indicato per ridurre i tempi di diagnosi ed evitare interventi inutili.

PassoCosa farePerché è utile
1. Verificare la policy assegnataEseguire Get-CsUserPolicyAssignment -Identity "sip:user@contoso.com" e controllare che la Teams Calling Policy in uso sia quella con voicemail abilitato.Esclude errori di assegnazione o typo nel nome policy.
2. Re‑applicare forzatamente la policyGrant-CsTeamsCallingPolicy -PolicyName "PolicyNameWithVoicemailEnabled" -Identity "sip:user@contoso.com"Aggiorna l’associazione e forza la replica nei backend.
3. Attendere la propagazioneLe modifiche alle policy possono richiedere fino a 24 ore per propagarsi.Evita troubleshooting prematuro; i servizi in cloud applicano cache e replicazione.
4. Controllare conflitti tra policySe anche la Global Calling Policy ha la voicemail attiva, verificare che non esista un’altra policy con priorità superiore che la disabilita.Teams risolve i conflitti usando priorità e modalità di applicazione (per‑user vs per‑org).
5. Verificare le licenze dell’utenteL’utente deve avere un piano che includa Teams Phone System; senza licenza, la segreteria non viene inizializzata.La voicemail è un componente del servizio Phone System.
6. Eseguire test incrociatoProva la stessa policy su un altro utente o crea un utente test con licenze identiche.Distingue un problema specifico dell’account da un problema di configurazione generale.
7. Aprire ticket Microsoft 365Se il problema persiste, aprire un ticket dal Microsoft 365 Admin Center.Il supporto dispone di log e strumenti di escalation non accessibili alla community.

Come funziona davvero la voicemail in Teams

La segreteria telefonica di Teams è erogata dal servizio cloud di voicemail di Microsoft e viene controllata dalla Teams Calling Policy. Il parametro cruciale è AllowVoicemail con tre modalità:

  • AlwaysEnabled: la voicemail è sempre attiva per l’utente. Le chiamate senza risposta vanno alla casella vocale al termine del ring timeout.
  • UserOverride: la voicemail è disponibile, ma l’utente può modificarne il comportamento nelle impostazioni di Teams (inoltro, gruppi, regole di risposta).
  • AlwaysDisabled: la voicemail è disattivata per l’utente; le chiamate senza risposta non vengono recapitate alla casella vocale.

Il messaggio di diagnosi “HostedVoicemail non abilitato” è la descrizione sintetica della condizione risultante: se la policy effettiva risolve su AlwaysDisabled (o su un conflitto che ne impedisce l’attivazione), la casella vocale non si inizializza.

Verifiche rapide lato interfaccia amministrativa

  • In Teams Admin Center → Users → Policies controlla la colonna Calling policy e verifica che sia assegnata la policy attesa.
  • Apri la pagina dell’utente e, nella sezione Voice, verifica numerazione, licenze voce e regole di risposta.
  • Controlla eventuali Group policy assignment o policy package che potrebbero prevalere sulla policy globale.

Verifica approfondita con PowerShell

Per interventi rapidi e ripetibili è consigliabile usare PowerShell con il modulo MicrosoftTeams (versione 5.x o successiva) e autenticazione moderna.

Connessione sicura

# Modulo MicrosoftTeams aggiornato
Install-Module MicrosoftTeams -Scope CurrentUser

Connessione al tenant (usa un account con permessi adeguati)

Connect-MicrosoftTeams -TenantId  

Controllo della policy effettivamente assegnata all’utente

# Sostituisci con l'UPN o SIP dell'utente
$User = "sip:user@contoso.com"

Elenca tutte le policy per-user assegnate all'utente

Get-CsUserPolicyAssignment -Identity $User | Select-Object PolicyType, PolicyName | Format-Table -Auto 

Verifica che esista una riga con PolicyType uguale a TeamsCallingPolicy e che PolicyName corrisponda alla policy che intendi usare.

Verifica del valore AllowVoicemail nella policy

# Nome della calling policy che risulta assegnata o che intendi assegnare
$PolicyName = "PolicyNameWithVoicemailEnabled"

Controlla il parametro AllowVoicemail

Get-CsTeamsCallingPolicy -Identity $PolicyName | Select-Object Identity, AllowVoicemail, BusyOnBusyEnabledType 

Accertati che AllowVoicemail sia UserOverride o AlwaysEnabled. Se così non fosse, aggiorna la policy oppure creane una dedicata.

Correzione e riassegnazione forzata

# Opzione A: aggiorna la policy esistente
Set-CsTeamsCallingPolicy -Identity $PolicyName -AllowVoicemail AlwaysEnabled

Opzione B: crea una nuova policy "per scopo"

New-CsTeamsCallingPolicy -Identity "Voice-Voicemail-On" -AllowVoicemail AlwaysEnabled

Assegna la policy (riapplica anche se già presente per forzare la replica)

Grant-CsTeamsCallingPolicy -PolicyName "Voice-Voicemail-On" -Identity $User 

Controllare l’efficacia dopo la replica

Dopo l’assegnazione, verifica nuovamente:

Get-CsUserPolicyAssignment -Identity $User | Where-Object {$_.PolicyType -eq "TeamsCallingPolicy"} | Format-Table -Auto

In caso di assegnazioni multiple (globali, per gruppo, per utente), ricorda che l’ordine di precedenza è: per‑utente > per‑gruppo (in base al rank) > global. In situazioni dubbie, un’assegnazione per‑utente esplicita è la via più veloce per sbloccare l’utente e isolare la causa.

Comprendere e risolvere i conflitti di policy

Le cause più comuni di conflitto che portano alla disattivazione della voicemail sono:

  • Policy differente applicata da un gruppo: un assegnamento di gruppo con rank più alto sovrascrive la tua policy. Soluzione: assegna temporaneamente la policy desiderata per‑utente; poi rivedi i rank di gruppo.
  • Policy globale modificata: la Global è stata impostata su AlwaysDisabled. Soluzione: ripristina la Global o applica per‑utente/per‑gruppo una policy dedicata con voicemail attiva.
  • Impostazioni utente che deviano la chiamata: con UserOverride l’utente può inoltrare a gruppo/delegato, impedendo l’inoltro a voicemail. Soluzione: rivedi le regole di risposta lato client.

Licenze richieste e verifica pratica

Perché la segreteria telefonica funzioni, l’utente deve essere abilitato alla fonia di Teams. In pratica:

  • Serve una licenza che includa Teams Phone (in passato “Phone System”).
  • Per ricevere i messaggi di segreteria anche in posta elettronica con trascrizione, è necessaria una cassetta postale in Exchange Online.

Esempio di controllo licenze con Microsoft Graph PowerShell (opzionale, da usare se già abilitato in azienda):

# Facoltativo: verifica licenze con Microsoft Graph
Install-Module Microsoft.Graph -Scope CurrentUser
Connect-MgGraph -Scopes "User.Read.All"
(Get-MgUserLicenseDetail -UserId user@contoso.com).SkuPartNumber

Nota: se non desideri usare Graph, verifica le licenze direttamente dal portale di amministrazione Microsoft 365 nella scheda dell’utente.

Controlli e test lato utente

Quando AllowVoicemail è impostato su UserOverride, l’utente può configurare le regole di risposta in Teams. I seguenti casi impediscono il recapito alla voicemail:

  • Inoltro a un delegato o gruppo di chiamata con suoneria prolungata: la chiamata non raggiunge la casella vocale entro il timeout.
  • Inoltro sempre verso un numero esterno: la chiamata non rientra in Teams, quindi nessuna voicemail viene generata.
  • Busy-on-busy impostato in modo da rifiutare le chiamate: un rifiuto può non instradare alla voicemail se le regole non lo prevedono.

Invita l’utente a impostare “Se non rispondo, invia alla segreteria telefonica” e ridurre temporaneamente il ring timeout se disponibile nelle opzioni client.

Scenari avanzati e interazioni con la piattaforma voce

  • Agenti di Call Queue o Auto Attendant: le chiamate arrivate tramite una coda o un IVR seguono le regole della Voice App. Le impostazioni personali dell’agente non sempre si applicano. Verifica che i flussi delle code non devino la chiamata prima della casella vocale personale.
  • Deleghe e gruppi: se l’utente è delegato per altri o inserito in gruppi di chiamata, la chiamata può essere accettata da terzi prima che scatti la voicemail.
  • Numero assegnato: l’assenza di numero PSTN non impedisce la voicemail per chiamate interne, ma senza Teams Phone la casella vocale non viene inizializzata.

Raccolta log e cosa cercare

Per analizzare problemi persistenti, raccogli i log locali di Teams:

# Scorciatoia da client desktop
Ctrl + Alt + Shift + 1

Nei log, filtra su parole chiave utili:

  • voicemailPolicy: mostra la risoluzione della policy e il valore di AllowVoicemail.
  • VoicemailProvider o CloudVoicemail: indica lo stato del provider di casella vocale cloud.
  • CallForwarding, GroupCallPickup, Delegates: segnalano regole di inoltro che potrebbero deviare le chiamate.

Conserva un timestamp dell’errore e, se possibile, un call ID di una chiamata test non andata in voicemail: saranno utili in un eventuale ticket.

Script di verifica rapida

Lo script seguente implementa un controllo end‑to‑end minimale per un utente target e, se necessario, imposta una policy con voicemail forzata su AlwaysEnabled.

param(
  [Parameter(Mandatory=$true)][string]$UserUpn,
  [string]$PolicyName = "Voice-Voicemail-On"
)

Connessione al modulo Teams

if (-not (Get-Module -ListAvailable -Name MicrosoftTeams)) {
Install-Module MicrosoftTeams -Scope CurrentUser -Force
}
Import-Module MicrosoftTeams
Connect-MicrosoftTeams

1) Policy assegnata

$assigned = Get-CsUserPolicyAssignment -Identity $UserUpn | Where-Object {$_.PolicyType -eq "TeamsCallingPolicy"}

2) Crea/valida policy di destinazione

$policy = Get-CsTeamsCallingPolicy -Identity $PolicyName -ErrorAction SilentlyContinue
if (-not $policy) {
$policy = New-CsTeamsCallingPolicy -Identity $PolicyName -AllowVoicemail AlwaysEnabled
} elseif ($policy.AllowVoicemail -ne "AlwaysEnabled") {
Set-CsTeamsCallingPolicy -Identity $PolicyName -AllowVoicemail AlwaysEnabled
}

3) Assegna forzatamente la policy

Grant-CsTeamsCallingPolicy -Identity $UserUpn -PolicyName $PolicyName

4) Riepilogo

Get-CsUserPolicyAssignment -Identity $UserUpn | Where-Object {$_.PolicyType -eq "TeamsCallingPolicy"} | Format-Table -Auto 

Usalo in un ambiente di test o con change management approvato. L’assegnazione per‑utente è intenzionalmente “forte” per aggirare eventuali conflitti temporanei.

Domande frequenti

Perché la diagnostica parla di “HostedVoicemail” e non di “AllowVoicemail”?

Il messaggio riassume lo stato effettivo della casella vocale: se AllowVoicemail non consente l’attivazione (o se un conflitto ne impedisce l’inizializzazione), la piattaforma segnala che la voicemail “hosted” non è abilitata.

Meglio UserOverride o AlwaysEnabled?

AlwaysEnabled elimina dubbi e conflitti nelle fasi di ripristino. UserOverride è preferibile a regime, perché consente all’utente di personalizzare le regole di risposta. In contesti con utenti meno esperti, AlwaysEnabled riduce i casi di inoltri involontari.

Serve per forza Exchange Online?

Per la consegna dei messaggi e la trascrizione via e‑mail, sì: occorre una cassetta postale in Exchange Online. Se la posta non è in cloud, l’utente potrà usare la voicemail nell’app Teams ma non riceverà i messaggi in Outlook.

Quanto tempo richiede la propagazione delle policy?

La replica è asincrona e può richiedere diverse ore. In produzione, attendi un intervallo adeguato prima di concludere che la modifica non abbia avuto effetto e, in parallelo, riassegna per‑utente per accelerare la risoluzione.

Checklist operativa

  • Connesso al modulo MicrosoftTeams con un account con privilegi.
  • Verificata la Teams Calling Policy effettiva dell’utente.
  • Controllato che AllowVoicemail sia UserOverride o AlwaysEnabled.
  • Applicata o riapplicata la policy per‑utente.
  • Verificate licenze per Teams Phone e, se necessario, Exchange Online.
  • Ispezionate le regole di risposta lato client e le interazioni con call queue/deleghe.
  • Eseguito un test incrociato su un secondo utente.
  • Raccolti log e dettagli di una chiamata di prova.
  • In assenza di esito, aperto ticket dal Microsoft 365 Admin Center.

Suggerimenti aggiuntivi

  • Controllo rapido in Teams Admin Center: nella scheda Users → Policies verifica che la colonna “Calling policy” mostri la policy corretta.
  • PowerShell Modern Authentication: usa il modulo MicrosoftTeams versione ≥ 5.x e autenticati con Connect-MicrosoftTeams -TenantId <GUID> per garantire permessi adeguati.
  • Exchange Online voicemail: se la voce è migrata a Teams voicemail, assicurati che non restino criteri legacy di Unified Messaging che possano interferire.
  • Logs lato client: se l’utente continua a vedere errori, raccogli i log di Teams (Ctrl + Alt + Shift + 1) e cerca voci “voicemailPolicy”.

Casi tipici e soluzioni mirate

SintomoCausa probabileRisoluzione consigliata
“Non riusciamo ad accedere alla segreteria telefonica”AllowVoicemail effettivo disabilitato o replica incompletaImposta AlwaysEnabled su una policy dedicata e riassegna per‑utente; attendi la propagazione e riesegui la prova
Chiamate che squillano a lungo ma non vanno mai in voicemailRegole di risposta che inoltrano a gruppo/delegato, ring timeout eccessivoImposta “inoltra alla segreteria se non rispondo” e riduci temporaneamente il ring timeout
Voicemail attiva ma nessun messaggio in postaMailbox non in Exchange Online o regole di postaVerifica licenza Exchange, eventuali regole di Posta in arrivo e la cartella “Posta indesiderata”
Seconda chiamata rifiutata senza voicemailBusy‑on‑busy configurato per rifiutareRegola Busy‑on‑busy nella Teams Calling Policy o modifica le regole di risposta

Quando aprire un ticket al supporto

Se hai confermato policy, licenze e impostazioni lato utente, ma la casella vocale resta inaccessibile, apri un ticket dal Microsoft 365 Admin Center includendo:

  • UPN dell’utente e area geografica del tenant.
  • Timestamp e call ID di almeno due chiamate di prova fallite.
  • Output dei comandi principali (Get-CsUserPolicyAssignment, Get-CsTeamsCallingPolicy, eventuali screen delle regole di risposta).
  • Archivio dei log client generati con Ctrl + Alt + Shift + 1.

Conclusioni operative

La dicitura “HostedVoicemail non abilitato” è quasi sempre la conseguenza di una policy o di una licenza non coerente. Il percorso più rapido è: conferma la policy effettiva, imposta AllowVoicemail su AlwaysEnabled tramite una policy dedicata, riassegna per‑utente, verifica le regole di risposta e ripeti un test incrociato. Se persiste, coinvolgi il supporto fornendo log e call ID: ridurrai drasticamente i tempi di diagnosi.


Indice