Resumen
- En RFC 3601,
phone-stringreúne elementos DTMF, pausa, espera de tono y separadores escritos. El formulario local puede incorporar salida de central, selección de operador, contraseña y datos posteriores a la conexión. - Un control fiable separa procedencia, clasificación, contexto, autorización, acciones emitidas, señalización, conexión y resultado. Ningún nivel puede declarar cumplido el siguiente.
La hoja de resultados de una migración suele premiar lo que puede contar deprisa: filas leídas, cadenas aceptadas, duplicados eliminados y errores de formato. Ese tablero puede estar completamente verde y no decir nada sobre una llamada. El motivo está en el propio tipo de dato. Una cadena que parece número telefónico quizá no describa un destino; puede ordenar a un equipo que espere, pause, envíe señales y entregue una clave a un servicio automático.
RFC 3601, publicado en septiembre de 2003 como Standards Track, normalizó una representación textual para secuencias de marcación y para direcciones GSTN/E.164 marcables. Llama Dial Sequence a una serie de elementos DTMF y acciones ejecutadas por una persona o dispositivo. Su phone-string admite dígitos, #, *, A-D, p como pausa, w como espera de tono y los separadores visuales y ..
La gramática no iguala esos símbolos. Los separadores solo facilitan la lectura y no deben activar ninguna acción. Una implementación puede insertarlos o quitarlos. Pausa y tonewait, en cambio, cambian la ejecución. Suprimir guiones durante una comparación puede conservar el sentido; borrar todas las letras para “quedarse con los números” puede convertir un programa en otro.
Tampoco existe una semántica temporal única. RFC 3601 recomienda interpretar una pausa como un segundo y una espera de tono como una detención hasta oír tono u otra señal de que pueden procesarse más caracteres. Incluso una indicación de descolgado puede servir. Pero el documento deja la interpretación exacta al dispositivo. La misma cadena, aceptada por dos marcadores, puede producir tiempos y transiciones diferentes.
El primer límite probatorio aparece ahí. El validador conoce caracteres y orden; no observa acciones. Para probar la ejecución hacen falta versión del agente, configuración, duración real, señal detectada y elemento enviado después. Un evento “tonewait completo” pertenece al detector local. No acredita quién respondió, si hubo conexión ni qué recibió el sistema remoto.
El segundo límite separa secuencia y dirección. RFC 3601 define gstn-phone como forma global o local. La global comienza con + y representa direcciones numéricas E.164 marcables. Sin embargo, el documento explica que una dirección E.164 abstracta completa contiene elementos no marcables y no puede convertirse íntegramente a esta notación. El signo más delimita un espacio de números globales; no convierte cualquier secuencia en identidad universal.
La forma local deja ver la dependencia operativa. Puede contener un código de salida y un número a marcar. El código puede incluir el dígito para obtener línea externa, acceso a operador de larga distancia o contraseña de servicio. Una copia byte por byte conserva la cadena pero no el PBX, el país, la política del operador ni el estado de itinerancia que la hacen funcionar.
RFC 3966 trazó después una frontera aún más fuerte. La URI tel nombra un número; no describe los pasos para alcanzarlo, no implica semántica de marcación y tampoco promete alcance desde todos los lugares. Las cadenas de marcación quedaron fuera de su alcance. Los números locales requieren phone-context, pero ese contexto señala el ámbito de validez y no es un prefijo que garantice una conversión a E.164.
RFC 4967 creó más tarde user=dialstring para transportar esas instrucciones mediante SIP/SIPS. Exige un contexto y que una cadena de marcación se distinga de un identificador de usuario con los mismos caracteres. RFC 6116 mantiene otra barrera: ENUM parte de un E.164 plenamente cualificado con + y no debe recibir los dígitos marcados localmente. Es posible marcar cadenas distintas para acercarse al mismo número global.
Por eso una migración no debe convertir todo valor telefónico en URI tel. Primero debe clasificar: identificador, global-phone, local-phone, dial sequence, subdirección o post-dial. Solo después puede separar destino, acciones y datos sensibles. Si el formato de destino no expresa una acción, descartarla necesita una decisión explícita; esconderla dentro de un supuesto identificador es peor.
La fase post-dial contiene una condición que los datos estáticos no pueden probar. RFC 3601 la define para secuencias emitidas después de establecer conexión con el dispositivo destino, por ejemplo para navegar un menú. Que una base almacene esas cifras no demuestra que se estableciera la conexión. El registro de ejecución debe enlazar un recibo de respuesta, los DTMF posteriores y la reacción del servicio.
También hay un secreto en juego. Un ejemplo del RFC incluye identificador de buzón y PIN. La sección de seguridad advierte que transmitir una cadena sin protección puede revelar códigos privados. El campo que una organización trata como dato de contacto puede contener credenciales listas para ejecutar.
Esa mezcla amplía la superficie de exposición. Índices de búsqueda, volcados de CRM, telemetría, copias para análisis y capturas de soporte reproducen el valor completo porque su etiqueta parece inocua. El control correcto separa la dirección pública, el plan de acciones y una referencia protegida al secreto. Los registros guardan huella, estructura y eventos, no el PIN en claro.
La evidencia debe avanzar por capas. Primero, fuente, campo original, huella y momento. Segundo, clasificación y versión del parser. Tercero, contexto administrativo y época de configuración. Cuarto, transformación exacta de cada carácter. Quinto, autorización para ejecutar. Después, un recibo para cada DTMF, pausa y espera. Finalmente, señalización, conexión, navegación y resultado requieren sus propios identificadores y tiempos.
Sin esa cadena, el tablero mezcla hechos incompatibles. “Importado” no significa clasificado. “Válido” no significa autorizado. “Marcado” no significa conectado. “Contestó” no identifica necesariamente a la parte prevista. “Se enviaron dígitos” no prueba que el menú aceptara la operación. La precisión no exige una conclusión pesimista; exige que cada recibo diga solo lo que observó.
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
