sábado, 24 de enero de 2009

Cruce de llamadas

En respuesta al anterior post, he desempolvado mi libro de redes de comunicaciones para explicar de forma simplificada cómo funciona el establecimiento de llamada en telefonía móvil, e intentar entonces averiguar las posibles razones para que se produzca un "cruce de llamadas" (es decir, que la persona al otro lado no sea quien debiera ser).

Para permitir la movilidad de los usuarios, se instalan estaciones base (las temidas antenas) cubriendo de forma más o menos homogenea el territorio al que se quiere dar cobertura. Estas estaciones base son básicamente antenas, y no realizan ninguna "función inteligente". Las estaciones base están conectadas a un "Centro de Conmutación del Servicio Móvil" - MSC -, que es el elemento que aporta la "inteligencia" al sistema. Para cada área geográfica se instala un MSC, que está a su vez interconectado con otros MSC y con la red de telefonía fija.


Para permitir a los usuarios la movilidad dentro del sistema, cada MSC tiene en resumen dos bases de datos: la HLR (Home Location Register) y la VLR (Visitors Location Register). De la Wikipedia:
"El HLR (Home Location Register, o registro de ubicación base) es una base de datos que almacena la posición del usuario dentro de la red, si está conectado o no y las características de su abono (servicios que puede y no puede usar, tipo de terminal, etcétera). Es de carácter más bien permanente; cada número de teléfono móvil está adscrito a un HLR determinado y único, que administra su operador móvil".
"El VLR (Visitor Location Register o registro de ubicación de visitante) es una base de datos más volátil que almacena, para el área cubierta por un MSC, los identificativos, permisos, tipos de abono y localizaciones en la red de todos los usuarios activos en ese momento y en ese tramo de la red. Cuando un usuario se registra en la red, el VLR del tramo al que está conectado el usuario se pone en contacto con el HLR de origen del usuario y verifica si puede o no hacer llamadas según su tipo de abono. Esta información permanece almacenada en el VLR mientras el terminal de usuario está encendido y se refresca periódicamente para evitar fraudes (por ejemplo, si un usuario de prepago se queda sin saldo y su VLR no lo sabe, podría permitirle realizar llamadas)".

De modo que cuando Alice enciende su móvil en la playa de Canet, el teléfono se conecta con el MSC de Sagunto a través de la estación base instalada junto al puerto deportivo de Canet. El MSC de Sagunto la registrará en su VLR (información local) y notificará a PepePhone, que actualizará su HLR en Valencia (donde está la información completa sobre el número de Alice y los servicios que tiene contratados).

Un rato después, Bob, que está en un concierto de Whitesnake en Barcelona, decide llamar a Alice cuando suena "Slide it in". El procedimiento para conectar a Alice y a Bob es el siguiente:
  1. El MSC de Barcelona le dice a PepePhone que hay una llamada para Alice.
  2. PepePhone consulta el HLR (info. fija), dónde pone que Alice está conectada al MSC de Sagunto.
  3. El MSC de Barcelona le dice al MSC de Sagunto que hay una llamada para Alice.
  4. El MSC de Sagunto consulta el VLR (info. local), y encamina la llamada a la playa de Canet.
  5. Alice escucha "Slide it in" :)
Veamos ahora algunos posibles fallos de este sistema que se nos podrían ocurrir a botepronto (fallos muy poco usuales, ya que el sistema está diseñado para evitarlos con diversos mecanismos):
  1. Alice está viajando en coche por la autopista hacia Valencia. Como se está moviendo, las estaciones base a las que está conectado su móvil en cada momento van cambiando. En un momento dado, deja de conectarse a estaciones base del área de Sagunto y comienza a conectarse a las de Puzol. El MSC de Sagunto deberá borrar la información sobre Alice, que ahora tendrá que estar registrada en el MSC de Puzol. Durante el intervalo de tiempo que dure esa operación, Alice estará virtualmente "con el móvil apagado o fuera de cobertura" - es decir, inaccesible.
  2. Se produce algún tipo de inusual error en el registro de Alice en la VLR de Sagunto, intercambiando los identificadores con los de Charlie, otro abonado de la zona. Cuando Bob llame a Alice, el sistema encaminará la llamada hasta Charlie.
  3. PepePhone responde erróneamente a la consulta "¿Dónde está Alice?", respondiendo en su lugar por la situación de Doris. El sistema encaminará la llamada de Bob a Doris.

viernes, 16 de enero de 2009

¿Puede realmente suceder que llames a un teléfono móvil y responda alguien con otro número distinto?