Teams: falta el dial pad (teclado de marcado) — requisitos, comandos y solución paso a paso

¿No ves el teclado de marcado en Microsoft Teams aunque tienes licencias, número y modo Teams Only? Aquí tienes una guía práctica y completa para que el dial pad vuelva a aparecer y puedas realizar llamadas PSTN sin dolor de cabeza.

Índice

Resumen del problema

Un usuario con las licencias correspondientes, un número telefónico asignado y en modo Teams Only no visualiza el dial pad (teclado de marcado) en la aplicación de Teams. Esto suele deberse a que falta cumplir uno o más requisitos clave de la modalidad de telefonía usada, o a que la configuración aún no se ha propagado al cliente.

Qué habilita realmente el dial pad

El dial pad aparece cuando se cumplen simultáneamente tres condiciones:

  • Licenciamiento de voz activo en el usuario (por ejemplo, Phone System / Teams Phone, y Calling Plan si corresponde).
  • Enterprise Voice (EV) habilitado para ese usuario.
  • Número telefónico asignado al usuario en formato E.164 válido y, si usas Direct Routing, con una Voice Routing Policy efectiva que apunte a una ruta/puerta de enlace funcional.

Estar en Teams Only es recomendable, pero por sí solo no enciende el dial pad. Los tres puntos anteriores son los que lo activan en el cliente.

Requisitos por modalidad de telefonía

Direct Routing

  1. Licencia de voz asignada (p. ej., Phone System o Business Voice además de la licencia base de Microsoft 365).
  2. Enterprise Voice (EV) habilitado en el usuario.
  3. Voice Routing Policy concedida al usuario (y que esa política apunte a una ruta/puerta de enlace válida).
  4. Número asignado al usuario en formato E.164 (por ejemplo, tel:+6871231234;ext=1234 si aplica extensión).

Comandos de ejemplo para Direct Routing

# Habilitar Enterprise Voice y establecer el número (Direct Routing)
Set-CsUser -Identity user@contoso.com `
  -OnPremLineURI "tel:+6871231234;ext=1234" `
  -EnterpriseVoiceEnabled $true

Conceder la política de enrutamiento de voz

Grant-CsOnlineVoiceRoutingPolicy -Identity [user@contoso.com](mailto:user@contoso.com) -PolicyName "Local-VRP" </code></pre>

<h3>Calling Plan de Microsoft</h3>
<ol>
  <li><strong>Phone System + Calling Plan</strong> asignados al usuario.</li>
  <li><strong>Número de Microsoft</strong> correctamente asignado al usuario (formato E.164).</li>
</ol>

<h3>Operator Connect</h3>
<p>Aunque no fue parte del planteamiento original, es muy común hoy en día. Si usas Operator Connect (OC):</p>
<ol>
  <li><strong>Phone System</strong> (o el paquete equivalente) asignado al usuario.</li>
  <li><strong>Número</strong> asignado vía tu operador conectado a Teams (E.164).</li>
  <li>En OC <em>no</em> necesitas Voice Routing Policy propia; la ruta la aporta el operador. EV debe quedar activo.</li>
</ol>

<h2>Checklist de diagnóstico rápido</h2>
<ul>
  <li>☐ Verifica que el usuario tenga Phone System/Business Voice (y Calling Plan si no usas Direct Routing).</li>
  <li>☐ Confirma que <strong>Enterprise Voice = True</strong> y que la <strong>Voice Routing Policy</strong> correcta está concedida.</li>
  <li>☐ Asegura que el <strong>número</strong> está asignado al usuario en <strong>E.164</strong> (p. ej., <code>tel:+&lt;números&gt;</code>).</li>
  <li>☐ Revisa que la aplicación <strong>“Llamadas”</strong> esté permitida y anclada en las <em>Teams app policies</em> (si la app está bloqueada o no anclada, el dial pad puede no mostrarse).</li>
  <li>☐ Cierra sesión en Teams, borra la caché y vuelve a iniciar; los cambios de voz pueden tardar <strong>15–60 min</strong> (a veces hasta <strong>24 h</strong>) en propagarse.</li>
  <li>☐ Prueba en Teams de escritorio y en <strong>Teams web</strong> para descartar un problema de cliente.</li>
  <li>☐ (Opcional) Para buzón de voz, el usuario necesita <strong>Exchange Online</strong> además de la telefonía.</li>
</ul>
<p>Importante: Sin cumplir los puntos anteriores, el dial pad no aparece aunque el usuario esté en Teams Only y tenga un número.</p>

<h2>Guía paso a paso para resolverlo</h2>

<h3>Paso uno: confirma los fundamentos</h3>
<ul>
  <li><strong>Licencias</strong>: además de tu licencia base (E3/E5/Business), confirma que el usuario tiene Phone System/Teams Phone. Si la conectividad PSTN la gestiona Microsoft, también debe tener Calling Plan.</li>
  <li><strong>Modo Teams</strong>: se recomienda <em>Teams Only</em>. Aunque no es la causa habitual del dial pad ausente, evita rutas conflictivas.</li>
</ul>

<h3>Paso dos: comprueba Enterprise Voice y el número</h3>
<p>Con PowerShell del módulo MicrosoftTeams:</p>
<pre><code class="language-powershell"># Ver datos esenciales del usuario
Get-CsOnlineUser -Identity user@contoso.com |
  Select-Object DisplayName, EnterpriseVoiceEnabled, LineURI, OnPremLineURI, HostedVoiceMail, OnlineVoiceRoutingPolicy
</code></pre>
<ul>
  <li><strong>EnterpriseVoiceEnabled</strong> debe ser <code>True</code>.</li>
  <li><strong>LineURI / OnPremLineURI</strong> debe mostrar un <code>tel:+&lt;número&gt;</code> válido.</li>
  <li>En Direct Routing, <strong>OnlineVoiceRoutingPolicy</strong> debe tener algún valor y corresponder a una ruta válida.</li>
</ul>

<h3>Paso tres: valida la modalidad</h3>
<ul>
  <li><strong>Direct Routing</strong>: usa <code>Set-CsUser</code> para establecer el URI y habilitar EV, y <code>Grant-CsOnlineVoiceRoutingPolicy</code> para asignar la política.</li>
  <li><strong>Calling Plan</strong>: asegúrate de que el número de Microsoft esté asignado al usuario (E.164). El dial pad no aparece hasta que ese número esté activo.</li>
  <li><strong>Operator Connect</strong>: verifica que el operador haya completado la asignación del número y que el usuario tenga Phone System.</li>
</ul>

<h3>Paso cuatro: revisa la app “Llamadas” y las políticas de Teams</h3>
<p>En <em>Teams app permission policies</em>, la app <strong>“Calls”</strong> no debe estar bloqueada. En <em>Teams app setup policies</em>, “Llamadas” debe estar anclada para aparecer en la barra lateral. También revisa la <em>Teams Calling Policy</em> (llamadas privadas permitidas).</p>
<pre><code class="language-powershell"># Conceder una App Setup Policy que ancle "Llamadas"
Grant-CsTeamsAppSetupPolicy -Identity user@contoso.com -PolicyName "Contoso-CallsPinned"

(Opcional) Revisar una Calling Policy

Get-CsTeamsCallingPolicy -Identity Global </code></pre>

<h3>Paso cinco: limpia caché y prueba clientes</h3>
<ul>
  <li><strong>Nuevo Teams</strong>: desde el menú de perfil, cierra sesión y usa la opción para borrar datos de la aplicación. Vuelve a iniciar sesión.</li>
  <li><strong>Prueba cruzada</strong>: abre Teams en navegador con sesión limpia. Si el dial pad aparece en web pero no en escritorio, el problema suele ser caché o cliente.</li>
</ul>

<h3>Paso seis: respeta los tiempos de propagación</h3>
<p>Los cambios de voz requieren replicación en la plataforma. Lo habitual es entre 15 y 60 minutos, pero puede tardar hasta 24 horas. Evita modificar múltiples parámetros a la vez; aplica un cambio, espera y valida.</p>

<h2>Ejemplos de configuración por modalidad</h2>

<h3>Direct Routing desde cero</h3>
<ol>
  <li>Asigna Phone System al usuario.</li>
  <li>Habilita EV y establece el número:
    <pre><code class="language-powershell">Set-CsUser -Identity user@contoso.com `
  -OnPremLineURI "tel:+34911222333" `
  -EnterpriseVoiceEnabled $true
</code></pre>
  </li>
  <li>Concede la Voice Routing Policy correcta:
    <pre><code class="language-powershell">Grant-CsOnlineVoiceRoutingPolicy -Identity user@contoso.com -PolicyName "Spain-DR"

Espera la propagación y valida en el cliente.

Calling Plan

  1. Asigna Phone System + Calling Plan.
  2. Asigna el número de Microsoft en formato E.164.
  3. Verifica con PowerShell que EnterpriseVoiceEnabled sea True y que el LineURI contenga el número.
  4. Comprueba que la app “Llamadas” está permitida y anclada.

Operator Connect

  1. Asigna Phone System al usuario.
  2. Solicita y asigna el número a través del operador (portal de Teams o del operador, según flujo).
  3. Valida que el número aparece en el perfil del usuario y que EV está en True.

Formato E.164 y extensiones

El formato E.164 es +<país><número> sin espacios ni guiones, por ejemplo +34911222333. Si necesitas extensión interna, en Direct Routing puedes usar ;ext=1234: tel:+34911222333;ext=1234. Este formato asegura que la plataforma reconozca y enrrute correctamente el número.

Validaciones rápidas con PowerShell

# Estado de EV, número y política de voz
Get-CsOnlineUser -Identity user@contoso.com |
  Select-Object DisplayName, UserPrincipalName, EnterpriseVoiceEnabled, LineURI, OnPremLineURI, OnlineVoiceRoutingPolicy

Ver políticas y rutas disponibles (Direct Routing)

Get-CsOnlineVoiceRoutingPolicy | Select-Object Identity, Description
Get-CsOnlinePSTNGateway | Select-Object Fqdn, Enabled, SipSignalingPort

(Opcional) Llamadas privadas habilitadas

Get-CsTeamsCallingPolicy -Identity Global | Select-Object Identity, AllowPrivateCalling 

Tabla de diagnóstico por síntomas

SíntomaCausa probableCómo comprobarAcción correctiva
No aparece “Llamadas” en la barraApp “Calls” bloqueada o no ancladaRevisar App permission/setup policies del usuarioPermitir la app y anclarla; cerrar sesión y reabrir
Aparece “Llamadas” pero sin dial padEV deshabilitado o sin número asignadoGet-CsOnlineUser y revisar EV/LineURIHabilitar EV y asignar número E.164
Direct Routing sin dial padSin Voice Routing Policy o ruta inválidaVer OnlineVoiceRoutingPolicy y puertas de enlaceConceder VRP correcta y validar gateway
Usuario con licencias pero sin llamadasCalling Policy deshabilita llamadasRevisar AllowPrivateCallingUsar una Calling Policy que permita llamadas
Funciona en web, falla en escritorioCaché corrupta o cliente desactualizadoProbar sesión limpia en navegadorCerrar sesión, borrar caché y actualizar app
Número correcto pero sigue sin aparecerPropagación pendienteTiempo desde el último cambio < 24 hEsperar y volver a iniciar sesión

Errores habituales y cómo evitarlos

  • Asignar solo el número sin EV: en Direct Routing, el número por sí solo no basta. EV debe estar en True.
  • VRP sin rutas activas: una Voice Routing Policy que apunta a un gateway deshabilitado no habilitará el dial pad.
  • Formato de número incorrecto: usar guiones o espacios puede invalidar la asignación. Respeta E.164.
  • App “Llamadas” bloqueada por política: aunque tengas todo correcto en voz, si la app está bloqueada, el usuario no verá el dial pad.
  • Esperar instantaneidad: la replicación lleva tiempo; evita cambios en cascada sin validar cada paso.

Escenarios especiales

  • Agentes de colas de llamadas: ser agente de Call Queue no habilita el dial pad por sí mismo; este depende de EV, licencia y número.
  • Usuarios con cuentas de recurso: los Resource Accounts no inician sesión y no muestran dial pad; verifica que el número no se haya movido a un RA.
  • Híbrido con Skype for Business: si todavía hay coexistencia, asegurar que el usuario está realmente en Teams Only y que no hay políticas heredadas que bloqueen las llamadas.
  • Dispositivos compartidos: las licencias para Common Area Phone y Shared Devices tienen condiciones particulares; revisa la SKU correcta y el perfil del dispositivo.

Plantillas de comandos útiles

Adáptalas a tu entorno; se asume que ya instalaste y conectaste el módulo MicrosoftTeams.

# Direct Routing: habilitar EV y asignar número + VRP
Set-CsUser -Identity user@contoso.com `
  -OnPremLineURI "tel:+6871231234;ext=1234" `
  -EnterpriseVoiceEnabled $true
Grant-CsOnlineVoiceRoutingPolicy -Identity user@contoso.com -PolicyName "Local-VRP"

Validación rápida del estado de voz del usuario

Get-CsOnlineUser -Identity [user@contoso.com](mailto:user@contoso.com) |
fl DisplayName,EnterpriseVoiceEnabled,LineURI,OnPremLineURI,OnlineVoiceRoutingPolicy

(Opcional) Comprobar una Voice Routing Policy concreta

Get-CsOnlineVoiceRoutingPolicy -Identity "Local-VRP" | fl 

Políticas de Teams que afectan la visibilidad

ElementoImpactoDónde revisarQué esperar
App “Llamadas”Oculta o muestra el área de llamadasApp permission/setup policiesPermitida y anclada
Calling PolicyHabilita/inhabilita llamadas de usuarioTeams Calling PoliciesAllowPrivateCalling = True
Voice Routing PolicySolo Direct RoutingVoice > RoutingRuta válida asignada

Preguntas frecuentes

¿Estar en Teams Only garantiza el dial pad? No. Teams Only evita conflictos, pero el dial pad depende de licencia, EV y número asignado (y VRP en Direct Routing).

¿Cuánto tarda en aparecer tras los cambios? Entre 15 y 60 minutos normalmente; en ocasiones hasta 24 horas.

¿Necesito un plan de llamadas si tengo Direct Routing? No. Con Direct Routing usas tu SBC y rutas propias; sí necesitas Phone System/Teams Phone y EV habilitado.

¿Qué pasa si mi política de aplicaciones bloquea “Llamadas”? El dial pad no se mostrará. Permite la app y ancla la pestaña.

¿La marcación por extensión funciona? Puedes especificar ;ext= en el LineURI de Direct Routing, pero la accesibilidad por extensión depende de tu plan de numeración y normalización.

Procedimiento de cierre si aún no aparece

  1. Captura la salida de:
    • Get-CsOnlineUser -Identity <usuario> (ver EnterpriseVoiceEnabled, LineURI/OnPremLineURI, OnlineVoiceRoutingPolicy).
    • La licencia exacta del usuario en el portal (Phone System/Teams Phone y Calling Plan si aplica).
    • La configuración de la app “Llamadas” en las políticas asignadas al usuario.
  2. Confirma modalidad (Direct Routing / Calling Plan / Operator Connect) y adjunta la política de voz aplicada o el operador correspondiente.
  3. Indica cuándo hiciste el último cambio para estimar si es un caso de propagación.

Resumen accionable

  • Revisa modalidad y licencias: Phone System siempre; además Calling Plan si lo gestiona Microsoft.
  • Garantiza EV = True y asigna un número E.164 al usuario.
  • En Direct Routing, concede la Voice Routing Policy adecuada y valida rutas/gateways.
  • Asegura que la app “Llamadas” esté permitida y anclada.
  • Reinicia sesión, limpia caché y espera la propagación.

Contenido esencial para copiar y pegar

Comandos de ejemplo

# Habilitar Enterprise Voice y establecer el número
Set-CsUser -Identity user@contoso.com `
  -OnPremLineURI "tel:+6871231234;ext=1234" `
  -EnterpriseVoiceEnabled $true

Conceder la política de enrutamiento de voz (Direct Routing)

Grant-CsOnlineVoiceRoutingPolicy -Identity [user@contoso.com](mailto:user@contoso.com) -PolicyName "Local-VRP" 

Checklist de verificación

  • ☐ Usuario con Phone System/Business Voice (y Calling Plan si no usas Direct Routing).
  • ☐ EV = True y Voice Routing Policy correcta concedida (si aplica).
  • ☐ Número asignado en E.164 (p. ej., tel:+<números>).
  • ☐ App “Llamadas” permitida y anclada en Teams app policies.
  • ☐ Cerrar sesión, borrar caché y reabrir; esperar 15–60 min (hasta 24 h).
  • ☐ Probar en cliente de escritorio y web.
  • ☐ (Opcional) Exchange Online para buzón de voz.

Si tras completar el checklist el dial pad sigue sin aparecer, comparte la salida de los comandos (EV habilitado, política de voz aplicada y número asignado) y las licencias concretas del usuario para afinar el diagnóstico.


Enlace rápido mental: el dial pad no es un “adorno” del cliente; es la consecuencia de tener licencia de voz, EV operativo y un número asignado con rutas válidas. Asegura esos fundamentos y el teclado aparecerá.

Índice