O correio de voz do Microsoft Teams deixou de entregar mensagens para uma usuária e o diagnóstico aponta “HostedVoicemail não habilitado”. Abaixo está um guia prático e completo para identificar a causa real e corrigir, com comandos de PowerShell, checklist e testes finais.
Visão geral do problema
Você tem uma usuária que não consegue acessar o correio de voz no Teams. O diagnóstico acusa que HostedVoicemail não está habilitado para a conta, mas as políticas de chamada — tanto a Global (padrão) quanto uma política personalizada — já estão configuradas para permitir correio de voz. Esse descompasso geralmente acontece por um destes motivos:
- Política efetiva diferente da esperada (atribuição de política por grupo com maior precedência, pacote de políticas ou atribuição direta anterior);
- Replicação pendente no serviço (mudanças levam tempo para se propagar por todo o tenant);
- Conflitos entre políticas (Global vs. por Grupo vs. por Usuário);
- Licenciamento incompleto (ausência do Teams Phone System);
- Configuração de correio de voz do usuário corrompida/desatualizada (ex.: idioma, saudação, transcrição);
- Client-side (cache do aplicativo ou sessão antiga impedindo atualização das políticas no cliente).
Como o correio de voz funciona no Teams (resumo técnico)
No Microsoft Teams, o recurso de correio de voz é parte do conjunto de funcionalidades do Teams Phone System. De forma simplificada:
- O usuário precisa de uma licença que inclua Phone System (ex.: Microsoft 365 E5; ou E3 com add-on; ou equivalente em planos Business com recurso de voz);
- Uma Teams Calling Policy com
AllowVoicemail
ajustado para UserOverride ou AlwaysEnabled torna o voicemail disponível; - O sistema provisiona a caixa postal do usuário (camada de Cloud Voicemail), o que pode levar algum tempo após mudanças;
- O cliente Teams (desktop, web, mobile) consome essas políticas e exibe a aba Correio de voz em Chamadas.
Quando uma chamada não é atendida (interna ou externa), o fluxo de desvio para voicemail depende dessas duas dimensões: licença + política. Se qualquer uma delas falha, o diagnóstico pode acusar “HostedVoicemail não habilitado”.
Diagnóstico rápido (checklist)
Antes de ir ao passo a passo detalhado, rode este checklist curto. Ele ajuda a separar problema de configuração de problema de cliente:
- ✔️ A usuária tem licença com Teams Phone System ativa?
- ✔️ A política efetiva de Teams Calling Policy realmente permite voicemail (
AllowVoicemail
= UserOverride ou AlwaysEnabled)? - ✔️ Não há outra política (por grupo ou pacote) com precedência maior desabilitando voicemail?
- ✔️ Já se passaram até 24 horas desde a última alteração de política/licença?
- ✔️ O cliente Teams foi encerrado e reaberto (ou a usuária saiu e entrou novamente)?
- ✔️ Outro usuário com a mesma política consegue usar o correio de voz (A/B test)?
Solução passo a passo (detalhada)
A sequência abaixo refina e aprofunda as etapas sugeridas, com comandos e validações complementares.
Confirmar a política realmente atribuída
Primeiro, descubra quais políticas o usuário tem de fato no momento (atribuição direta, por grupo ou global). Use:
Get-CsUserPolicyAssignment -Identity "sip:user@contoso.com"
Procure pela linha de TeamsCallingPolicy. Anote o nome da política efetiva e a origem (User, Group, Global). Em seguida, confirme se essa política possui voicemail habilitado:
Get-CsTeamsCallingPolicy -Identity "PolicyNameWithVoicemailEnabled" | Select-Object Identity, AllowVoicemail
ou, para a política Global:
Get-CsTeamsCallingPolicy -Identity Global | Select-Object Identity, AllowVoicemail
O valor esperado para AllowVoicemail
é UserOverride ou AlwaysEnabled. Se estiver Disabled, aí está a causa.
Aguardar propagação da política
Alterações em políticas de chamada podem levar até 24 horas para surtir efeito em todo o tenant. Em muitos casos atualiza bem antes, mas planeje testes considerando esse intervalo. Enquanto isso, peça à usuária para sair e entrar novamente no Teams (desktop e mobile) e, se possível, testar também no Teams Web (navegador), o que ajuda a distinguir problemas de cache local.
Eliminar conflitos de precedência
No Teams, a precedência típica é: Usuário > Grupo (maior prioridade) > Global. Assim, mesmo que a política Global permita voicemail, uma atribuição de grupo ou usuário pode estar sobrescrevendo. Revise as atribuições de grupo (pacotes de políticas também entram aqui). Se suspeitar de conflito, uma estratégia segura é remover temporariamente a política do usuário para forçar o uso da Global:
# Remover a política de chamada do usuário (volta para Global)
Grant-CsTeamsCallingPolicy -Identity "sip:user@contoso.com" -PolicyName $null
Confirmar novamente a política efetiva
Get-CsUserPolicyAssignment -Identity "sip:user@contoso.com"
Se com a Global (que você já sabe estar correta) o voicemail passa a funcionar após a replicação, então o problema estava em uma atribuição de nível mais alto (usuário/grupo) conflitando.
Reaplicar a política manualmente
Se a política correta não estiver em vigor, ou você quiser forçar sua reatribuição, use:
Grant-CsTeamsCallingPolicy -PolicyName "PolicyNameWithVoicemailEnabled" -Identity "sip:user@contoso.com"
Após o grant, aguarde o tempo de replicação. Em seguida, valide novamente com Get-CsUserPolicyAssignment
e teste no cliente.
Verificar licenciamento
Sem o Teams Phone System a caixa postal não é provisionada. Confirme o licenciamento da usuária no portal do Microsoft 365 ou via PowerShell (Graph). Um exemplo com Microsoft Graph PowerShell:
# Exemplo (ilustrativo): listar planos de serviço ativos da usuária
Get-MgUserLicenseDetail -UserId user@contoso.com |
Select-Object -ExpandProperty ServicePlans |
Select-Object ServicePlanName, ProvisioningStatus
Procure pelo plano correspondente ao Phone System (e, se for o caso, pelos planos de PSTN, como Chamadas por Roteamento Direto ou Calling Plan). Se o licenciamento não incluir Phone System, corrija e aguarde a replicação.
Comparar com outro usuário
Para isolar se o problema é de conta, aplique a mesma política em outro usuário com licenciamento idêntico. Se o segundo usuário recebe voicemail normalmente, o problema está provavelmente circunscrito à conta original (provisionamento, cache do cliente, configurações específicas de voicemail).
Ajustar/redefinir configurações do correio de voz
Se o voicemail foi desativado ou alterado recentemente, pode haver resíduos de configuração (saudações/idioma/transcrição). Um “refresh” nas configurações ajuda:
# Exemplos de ajustes úteis no correio de voz do usuário
Set-CsOnlineVoicemailUserSettings -Identity "user@contoso.com" -EnableTranscription $true
Set-CsOnlineVoicemailUserSettings -Identity "user@contoso.com" -GreetingLanguage "pt-BR" -PromptLanguage "pt-BR"
(Use os códigos de idioma apropriados para sua organização, ex.: pt-PT)
Após isso, peça para a usuária sair/entrar novamente no Teams e fazer um teste de chamada não atendida.
Abrir chamado na Microsoft, se necessário
Se, após todas as etapas anteriores, o voicemail continuar indisponível, crie um pedido de suporte no Centro de Administração do Microsoft 365. Inclua:
- UPN da usuária e região/idioma;
- Dumps de comandos (sem dados sensíveis):
Get-CsUserPolicyAssignment
eGet-CsTeamsCallingPolicy
; - Screenshots do cliente mostrando a ausência da guia “Correio de voz” em Chamadas;
- Horários exatos dos testes (com fuso horário);
- Confirmação do licenciamento aplicado e há quanto tempo.
Referência rápida de comandos e o que observar
Comando | Objetivo | O que esperar |
---|---|---|
Get-CsUserPolicyAssignment -Identity "sip:user@contoso.com" | Ver políticas efetivas (e origem: User/Group/Global) | Confirme qual TeamsCallingPolicy está realmente ativa |
Get-CsTeamsCallingPolicy -Identity "PolicyName" | Inspecionar parâmetros da política | AllowVoicemail = UserOverride ou AlwaysEnabled |
Grant-CsTeamsCallingPolicy -Identity ... -PolicyName ... | Atribuir/remover política (força precedência) | Use $null para voltar à Global em caso de conflito |
Get-MgUserLicenseDetail -UserId user@contoso.com | Verificar licenças e planos de serviço | Confirme a presença do Phone System e o status Success |
Set-CsOnlineVoicemailUserSettings ... | Reajustar configurações do voicemail | Útil após mudanças de idioma/saudação/transcrição |
Precedência e conflitos: como identificar rápido
Um erro comum é acreditar que “a Global está certa, então todos herdam”. Mas se há atribuição direta ou por grupo com prioridade alta, o usuário não usará a Global. Sinais de conflito:
Get-CsUserPolicyAssignment
mostra uma política de chamada diferente daquela que você ajustou;- A política certa existe, mas o parâmetro
AllowVoicemail
não é o que o usuário está consumindo; - Outro usuário no mesmo grupo apresenta o mesmo problema (aponta para uma atribuição de grupo problemática).
Dica: para testes, remova a atribuição do usuário (volta para Global) e valide o comportamento. Se funcionar, reatribua conscientemente a política correta e elimine grupos conflitantes.
Client-side: reduzir falsos negativos
Às vezes tudo está certo no servidor, mas o cliente não atualizou. Para acelerar, peça à usuária:
- Abrir o Teams e Sair (menu do perfil) e, depois, entrar novamente;
- Fechar o aplicativo completamente (incluindo ícone na bandeja/systray) e reabrir;
- Testar no Teams Web (navegador)
- Se possível, testar também no celular (aplicativo do Teams) após sair/entrar.
Esses passos isolam cache local e ajudam a confirmar se a política já chegou ao cliente.
Validações pós-correção (teste funcional)
- No Teams, vá em Chamadas > Correio de voz e confirme se a aba aparece e se há histórico;
- Faça uma chamada de teste não atendida para a usuária (de outro ramal/conta) e deixe uma mensagem curta;
- Verifique se a mensagem aparece na aba de correio de voz e/ou por e-mail (quando configurado);
- Edite Saudações e verifique Idioma e Transcrição conforme a política da organização;
- Se houver integração para encaminhar cópias do voicemail por e-mail, confirme a entrega na caixa de entrada.
Causas comuns e como reconhecer
Causa provável | Indício típico | Correção recomendada |
---|---|---|
Política errada efetiva | Get-CsUserPolicyAssignment mostra outra política | Reatribuir com Grant-CsTeamsCallingPolicy ou remover para usar Global |
Licença sem Phone System | Service plan ausente ou Disabled | Aplicar licença com Phone System e aguardar replicação |
Replicação pendente | Política correta, mas cliente não mostra voicemail | Aguardar (até 24h), sair/entrar no Teams, testar no Web |
Configuração de voicemail desajustada | Mensagens não aparecem ou idioma incorreto | Set-CsOnlineVoicemailUserSettings para reajustar |
Conflito por grupo/pacote | Outros usuários do grupo com o mesmo problema | Revisar e padronizar atribuições; usar $null temporariamente |
Boas práticas para evitar regressões
- Documente quais políticas “habilitam voicemail” e use nomes claros (ex.: Calling-Voicemail-Enabled);
- Padronize a atribuição via grupos quando possível, com governança de precedência definida;
- Crie um playbook de teste: pós-licenciamento, verifique
Get-CsUserPolicyAssignment
e um teste de chamada não atendida; - Inclua idioma e transcrição no checklist de provisionamento de novos usuários;
- Evite mudanças simultâneas de licença e política sem controlar janelas de replicação;
- Em comunicações ao usuário, explique que podem haver atrasos e que sair/entrar no Teams ajuda.
Cenários especiais
Usuário agente de fila de chamadas (Call Queue)
Se a usuária é agente de uma fila, verifique se o roteamento de chamadas não atendidas dessa fila não está interferindo no voicemail pessoal. O voicemail de filas/URA (Auto Attendant) usa recursos de conta próprios, independentes do voicemail individual.
Roteamento Direto (Direct Routing) x Calling Plan
O tipo de conectividade PSTN não impede o voicemail pessoal, desde que o usuário tenha Phone System e a política permita voicemail. Porém, regras de desvio de chamada de dispositivos/gateways podem afetar o fluxo. Teste chamadas de origem interna para descartar a camada PSTN temporariamente.
Usuário migrou recentemente
Após migrações (de on-premises ou entre políticas), o provisionamento de voicemail pode exigir mais tempo. Os passos de redefinição (Set-CsOnlineVoicemailUserSettings
) ajudam a estabilizar.
Script de verificação rápida (exemplo)
Este snippet de PowerShell automatiza checagens básicas (ajuste para sua realidade):
$upn = "user@contoso.com"
"== Política efetiva =="
Get-CsUserPolicyAssignment -Identity "sip:$upn" | Where-Object {$_.PolicyType -eq "TeamsCallingPolicy"} |
Format-Table PolicyType, PolicyName, PolicySource
"== Parâmetro AllowVoicemail =="
$policy = (Get-CsUserPolicyAssignment -Identity "sip:$upn" | Where-Object {$_.PolicyType -eq "TeamsCallingPolicy"}).PolicyName
if (-not $policy) { $policy = "Global" }
Get-CsTeamsCallingPolicy -Identity $policy | Select-Object Identity, AllowVoicemail | Format-Table
"== Licenciamento (Graph) =="
Get-MgUserLicenseDetail -UserId $upn |
Select-Object -ExpandProperty ServicePlans |
Select-Object ServicePlanName, ProvisioningStatus | Format-Table
Procedimento completo para correção (resumo operacional)
- Confirmar a política realmente atribuída
Get-CsUserPolicyAssignment -Identity "sip:user@contoso.com"
Verifique se a política atribuída contémAllowVoicemail
como UserOverride ou AlwaysEnabled. - Aguardar propagação da política
Alterações podem levar até 24 h para propagar no tenant. - Eliminar conflitos
Garanta que nenhuma outra política (grupo/usuário) esteja desabilitando voicemail. Retire atribuição direta (se necessário) para testar a Global:Grant-CsTeamsCallingPolicy -Identity "sip:user@contoso.com" -PolicyName $null
- Reaplicar a política manualmente
Grant-CsTeamsCallingPolicy -PolicyName "PolicyNameWithVoicemailEnabled" -Identity "sip:user@contoso.com"
- Verificar licenciamento
Confirme a presença do Teams Phone System (E5, E3 + Add-on, etc.). - Comparar com outro usuário
Aplique a mesma política em outra conta para isolar o problema. - Acionar a Microsoft, se necessário
Abra chamado com evidências dos testes e saídas de comandos.
Dicas complementares
- O parâmetro
AllowVoicemail
também pode ser ajustado pelo Teams Admin Center em Voice > Calling policies. - Para acelerar testes, peça ao usuário que saia e entre novamente no Teams (desktop e mobile) ou limpe o cache do cliente.
- Se o correio de voz foi desativado recentemente, o sistema pode precisar recriar a caixa postal; redefinir o correio de voz pelo portal ou via PowerShell (
Set-CsOnlineVoicemailUserSettings
) costuma resolver.
Perguntas frequentes (FAQ)
Preciso de Calling Plan para ter voicemail?
Não necessariamente. O voicemail está atrelado ao Phone System; a conectividade PSTN pode ser por Calling Plan, Roteamento Direto ou mesmo nenhum PSTN (somente chamadas internas). O que importa é a licença de Phone System + política permitindo voicemail.
“HostedVoicemail não habilitado” significa que há um botão para ativar?
Não é um botão único. Esse indicador reflete a combinação de licenciamento e políticas aplicadas. Ao corrigir licença/política e após a replicação, o voicemail volta a ser provisionado.
Quanto tempo levar para “pegar” a mudança?
Planeje até 24 horas, embora muitas vezes aconteça bem antes. Utilize o truque de sair/entrar no Teams e testar no navegador para acelerar a percepção no cliente.
Posso forçar sempre via política de usuário e ignorar a Global?
Pode, mas faça isso com governança de precedência e nomenclatura clara. Em escala, a recomendação é padronizar por grupos e manter a Global coerente para a maioria.
Minha usuária vê a guia “Correio de voz”, mas as mensagens não chegam. E agora?
Valide as regras de desvio do usuário, teste chamadas internas e externas, e reajuste as configurações com Set-CsOnlineVoicemailUserSettings
. Se persistir, colete horários exatos e acione o suporte com evidências.
Exemplo de fluxo de decisão
- Política efetiva permite voicemail? Se não, corrija a política → teste.
- Licença inclui Phone System? Se não, aplique → aguarde → teste.
- Conflitos por grupo/usuário? Se sim, remova atribuição e teste com Global.
- Cliente atualizado? Sair/entrar; testar no Web; limpar cache, se necessário.
- Persistiu? Reajuste
Set-CsOnlineVoicemailUserSettings
→ teste. - Sem solução? Abra chamado com evidências e horários dos testes.
Resumo prático
Quando o voicemail do Teams não funciona e o diagnóstico menciona HostedVoicemail, quase sempre é uma destas três frentes: política efetiva errada, licenciamento incompleto ou replicação/client. Com os comandos e o roteiro acima, você valida a política efetiva, elimina conflitos, assegura a licença correta, força a reatribuição, reajusta as configurações do correio de voz e realiza testes controlados. Se necessário, acione o suporte com dados objetivos. Assim, você restaura o correio de voz com segurança e previsibilidade, evitando recorrências.