Si alguna vez has cacharreado con un módem, sabrás que sólo hay dos hilos por los que se transmiten datos: uno para transmitir y otro para recibir. En 1985, al fundador de Hayes Microcomputer Products, Dale Heatherington, se le ocurrió que sería muy cómodo poder controlar el módem a través de comandos. El problema es tener que usar un sólo camino tanto para hablar con el módem como con el destino al que nos conectemos. Dale propuso usar una secuencia de caracteres que le dijera al módem que lo siguiente que le mandamos son comandos para él, no datos para el destino. La secuencia propuesta fue +++ y se le bautizó como secuencia de escape. El módem está siempre escuchando (modo datos) y cuando detecta la secuencia de escape, interpreta los siguientes caracteres como comandos para él (pasa a modo comando).
Lo que ocurre es que no es raro que en los datos que pasan por el módem aparezca la secuencia +++, lo que provocaría que el módem pasara a modo comando y la impresión para el usuario sería que se ha cortado la comunicación. La solución propuesta fue exigir un tiempo de guarda tras la secuencia de escape para que esta se considerase válida. Así, un usuario escribirá la secuencia de escape y tras una pausa, el módem le indicaría que está en modo comando. En cambio, si la secuencia de escape viene entre los datos, no existirá ese tiempo de guarda y el módem seguirá comunicando. Es una solución aparentemente simple, pero muy funcional y que hizo que el Smartmodem de Hayes revolucionara el mundo de las comunicaciones de datos.
Hayes registró en octubre de 1985 la patente Modem With Improved Escape Sequence With Guard Time Mechanism (módem con secuencia de escape mejorada con un mecanismo de tiempo de guarda) y un año después envió a las compañías que estaban usando su sistema facturas por millones de dólares, ya que había decidido cobrar un dólar por cada módem que usase la secuencia de escape con tiempo de guarda, con efectos retroactivos.
Los fabricantes de módem baratos que no querían o no podían permitirse un dólar más de coste por cada unidad, inventaron la secuencia de escape independiente del tiempo (TIES - Time Independent Escape Sequence). No es más que la misma idea, pero con una secuencia algo más compleja: +++AT[cualquier comando]<cr>. Pero claro, esto no evita el problema de que en los datos aparezca esta secuencia. Según estimaciones de Hayes, esto ocurriría una vez cada gigabyte. Teniendo en cuenta los volúmenes de datos que se movían entonces, esto suponía que unas seis veces al año cada usuario sufriría un inexplicable cuelgue del módem, cuando en realidad lo que había ocurrido es que había pasado a modo comando tras detectar la secuencia de escape. La leyenda dice que los empleados de Hayes ponían mensajes en Usenet que decían: “do you need a new modem? +++ATH”. Cualquier usuario con un módem que usara TIES sufría una desconexión al leer dicho mensaje.

















y digo yo. En todos las gramáticas que conozco que presentan secuencias de escape, hay una secuencia de escape que significa “ignora esta secuencia de escape, realmente lo que quería era enviar el activador de la secuencia de escape”.
Así, en lenguaje C \ es el iniciador de una secuencia de escape en una cadena y \\ es el código para imprimir un \ sin significado especial. Para el html está el ampersand (que no escribo para evitar confundir al navegador)
¿no había algo así para los modems (+++ entrar en modo comando y ++++++ para enviar 3 signos más por ejemplo)?
Creo recordar (que alguien me corrija si me equivoco) que lo que se hace es simplemente evitar que aparezca la secuencia de escape insertando cualquier otro carácter cuando aparecen dos + seguidos. Si recibimos dos + seguidos ya sabemos que tenemos que descartar el siguiente carácter porque es de relleno.