¿Cómo incluyo extensiones en el tel: URI?

6 minutos de lectura

avatar de usuario
Jarede

Actualmente tengo una página web que ofrece números de teléfono, algunos de estos números de teléfono tienen extensiones, así que he escrito el HTML de esta manera:

<a href="https://stackoverflow.com/questions/9482633/tel:+44-1234-567;ext=88">+44-1234-56788</a> / <a href="tel:+44-1234-567;ext=99">+44-1234-56799</a

Cuando llego a esta página en mi navegador de Android y toco uno de los números de teléfono, se carga en el marcador de mi teléfono (reino Unido Samsung Galaxy s2 stock) como:

+44-1234-567;ext=88

lo cual no creo que sea correcto. Seguramente debería omitir el ;ext= palabra.

¿He leído mal el RFC para implementar tel?

  • El hecho de que haya leído la especificación correctamente no significa que el marcador del teléfono la haya implementado correctamente. ☹

    – JC Salomón

    2 de marzo de 2015 a las 17:44

  • ¿Alguien ha probado todas estas respuestas en iPhone y Android? Supongo que más del 90% de las llamadas de clic para llamar provendrían de dispositivos iOS y Android bastante recientes. Es posible que tenga más del 50 % de visitantes de escritorio en su sitio, pero es probable que esas personas estén marcando a mano.

    – caramelo cuadrado

    1 de diciembre de 2020 a las 23:26

Parece que la forma correcta de hacerlo es usar una coma:

<a href="https://stackoverflow.com/questions/9482633/tel:441234567,88">+44-1234-567 ext.88</a>

Recién probado con iPhone y Android OS 2.1. Usando ;ext=88 convierte el extensión bit en un número que se marca con la extensión (por lo que marca algo como 35888 en lugar de 88).

  • Esta respuesta definitivamente es incorrecta ya que eliminó el “+” por completo. No entiendo por qué tantos usuarios votaron esto, vea mi respuesta a continuación para conocer la versión correcta.

    – Alex T.

    11 de junio de 2020 a las 14:34

avatar de usuario
jordan bradford

Comentario para ¿Cómo incluyo extensiones en el tel: URI?

A partir de junio de 2021 el RFC3966 ;ext= Android todavía no implementa la sintaxis y iOS la implementa de manera poco elegante.

Usando ;ext=123 como ejemplo:

  • Android: después de que la llamada se conecta, aparece una ventana modal preguntando Send the following tones? 396123 con No y Yes botones. “¿Enviar los siguientes tonos?” es una descripción técnica precisa de lo que sucederá si el usuario toca Yespero probablemente no sea la mejor redacción para el usuario medio.
  • Android convierte ;ext=123 dentro 396123 porque trata las letras de la misma manera que si estuvieras marcando algo como 1-800-FLOWERSy esta es una implementación rota de la sintaxis.
  • iOS proporciona una opción a la izquierda del botón Desconectar que dice Dial “ext=…”. Cuando toque este “botón”, marcará el número de extensión. Esto es poco elegante y tiene mala usabilidad porque el “botón” no parece un botón, es solo texto sin formato, y porque no puede ver el número de extensión.
  • Además, cuando toca por primera vez un enlace telefónico en iOS, aparece un botón en la parte inferior de la pantalla que reescribe parcialmente el número de teléfono en un formato local, pero que también conserva la mayor parte del ;ext= sintaxis, por ejemplo Call +1 (555) 555-5555;ext123. Esto tampoco es elegante, y además es feo.

Si en su lugar utiliza sólo un ; que se supone que significa “esperar”, como en “esperar hasta que finalice el mensaje del operador automático y luego marcar automáticamente la extensión”:

  • iOS: tocar el enlace muestra un botón que indica Call +1 (555) 555-5555;123 que es un poco menos feo que el botón descrito anteriormente.
  • iOs proporciona el mismo “botón” de marcación de extensión descrito anteriormente, excepto que el número de extensión es visible, p. Dial “123”. Todavía tiene los otros problemas de usabilidad.
  • iOS no marca automáticamente la extensión después de que finaliza el mensaje.
  • Android: después de que la llamada se conecta, aparece una ventana modal preguntando Send the following tones? 123 con No y Yes botones.
  • Android no marca automáticamente la extensión después de que finaliza el mensaje.

Así que por ahora, a partir de junio de 2021 parece que la única manera de incluir extensiones en tel: enlaces que realmente funcionarán es usar cualquiera ; para “esperar” o , por “pausa”:

  • <a href="tel:+1-555-555-5555;123">555-555-5555 ext. 123</a> — esto proporcionará un componente de interfaz de usuario que el usuario puede invocar para marcar la extensión. La usabilidad del componente de la interfaz de usuario depende del sistema operativo; ninguno de los dos es genial, pero se puede decir que el de Android es mejor.
  • <a href="tel:+1-555-555-5555,123">555-555-5555 ext. 123</a> — esto marcará automáticamente la extensión un par de segundos después de que se conecte la llamada. Nota: Este mecanismo no funcionará con sistemas de correo de voz que no acepten la entrada del usuario hasta que finalice el mensaje del operador automático.

avatar de usuario
ldrrp

De acuerdo con la documentaciónpuedes agregar lo que quieras así que 12345678;ext=123

Ver RFC 3966

  • ¿Por qué fue votado negativo? Es de 2012 pero es una fuente válida.

    – adicto al sistema

    02/03/2017 a las 21:37

  • W3.Org relaciona el RFC 3966 mencionado anteriormente como el esquema más ampliamente compatible w3.org/TR/mwabp/#bp-interaction-uri-schemes

    – adicto al sistema

    2 de marzo de 2017 a las 21:47


En todos los ejemplos que vi, el valor de ext está contenido en el número completo. Así que trate de incluir 88 en el href valor:

<a href="https://stackoverflow.com/questions/9482633/tel:+44-1234-56788;ext=88">+44-1234-56788</a>

avatar de usuario
www.GapstowDesign.com

Para aquellos que aún se preguntan acerca de este problema: he encontrado que es mejor usar este formato:

<a href="https://stackoverflow.com/questions/9482633/tel:+13235798328;22">

  • Me encanta cómo cada respuesta a esta pregunta es completamente diferente jajaja

    –Keith Pickering

    10 de abril de 2020 a las 14:59

avatar de usuario
adicto al sistema

Estándares en thenewcode de hace 3 meses sugiero usar una pausa de microdatos.

<a href="https://stackoverflow.com/questions/9482633/tel:+13235798328p22">

Relacionado: Los diferentes estándares persisten en diferentes plataformas externas y pueden cambiar el procesamiento de URI. Haz clic para llamar
las funciones en los documentos de Google Developers no especifican

Ejemplo:
Skype de la oficina usa x para representar la extensión dentro de skype.

  • Me encanta cómo cada respuesta a esta pregunta es completamente diferente jajaja

    –Keith Pickering

    10 de abril de 2020 a las 14:59

avatar de usuario
dulcescuadrados

Siento que esta es una especie de respuesta de escape, pero si esto aún no se implementa de manera consistente en todos los dispositivos, probablemente sea mejor no incluir la extensión y dejar que las personas la marquen a mano:

<a href="tel:+441234567">+44-1234-567 ext. 88</a>

o

<a href="tel:+441234567">+44-1234-567</a> ext. 88

Es mejor hacer que el usuario trabaje más que enviar a la mitad de sus usuarios a la extensión incorrecta.

¿Ha sido útil esta solución?