
Circuito basado en un microcontrolador para bloquear las llamadas con la identidad oculta
Proyecto realizado por: Gustavo Residencia: Madrid - España EMAIL: cyberian@orangecorreo.es |
Las líneas telefónicas analógicas que tengan habitado el servicio suplementario de “Identificación de Llamada”, soportan un protocolo de señalización red-usuario específico para la transmisión del “número guía llamante. La presente práctica desarrolla un sistema basado en un microcontrolador para la obtención y presentación de dicho número así como la información horaria que lo acompaña.
El indicado protocolo está especificado por ETSI en la norma ETS 300 659-1, que lleva como título “PTSN Protocol Over Local Loop for Display (and Related) Services; Part 1: On hook data transmision”, donde se recogen los requisitos en la interfaz en la situación de teléfono colgado.
En el caso de terminal colgado, la interfaz de bucle analógico utiliza transmisión asociada a la señal de llamada. Esto es, previa a la aplicación de la corriente de llamada se efectúa la transmisión FSK de la identidad del llamante, así como la fecha y la hora del inicio de llamada.
Para la transmisión de tal información, se utiliza el siguiente protocolo estructurado en tres capas:
La capa física es la más baja del protocolo, y la de presentación la más alta.
La capa fisica la veremos en ultimo lugar, ya que es la que menos nos afecta en el diseño del programa para bloquear las llamadas.
La capa de enlace de datos proporciona la función de detección de errores de transmisión y prepara la trama de información. Además, “engancha” y sincroniza el modem receptor del terminal de forma previa al envío de datos.
El formato de la capa 2 (enlace de datos) empleado es el siguiente:
Señal de toma |
Señal de marca |
Tipo de mensaje |
Longitud del mensaje |
Mensaje de la capa 3 |
Checksum (detección de errores) |
DIRECCIÓN DE TRANSMISIÖN
Señal de toma del canal: activa el modem del terminal y consiste en el envío de un bloque de 300 bits continuos alternándose los “0's” y los “1's”. El primer bit transmitido es un cero y el último es un 1.
Señal de marca: sincroniza el modem receptor en el equipo terminal preparándolo para recibir datos. Consiste en 180 ± 25 bits (lógica 1)
Tipo de mensaje: Identifica el mensaje que se trata de enviar. Su longitud está fijada en un octeto y se codifica en binario. La siguiente tabla muestra la codificación de los tipos de mensajes, y sombreado se cita el utilizado para el servicio de identificación de llamada:
Tipo (binario) |
Tipo (hexadecimal) |
Nombre del mensaje |
0000 0100 |
04H |
Reservado |
1000 0000 |
80H |
Establecimiento |
1000 0010 |
82 H |
Mensaje en espera |
1000 0100 |
84H |
Reservado |
1000 0101 |
85H |
Reservado |
1000 0110 |
86H |
Información de Tarificación |
1111 0001 1111 1111 |
F1H FFH |
Reservado para uso del operador de red |
Longitud del Mensaje: Indica el número de octetos del mensaje de la capa de presentación (capa 3) que siguen en la dirección de transmisión (no se incluye el octeto correspondiente al Checksum). Su longitud está fijada a un octeto y se codifica en binario.
Checksum: Se trata del octeto de comprobación de errores en la transmisión y contiene el complemento a 2 en módulo 256 suma de todos los octetos del mensaje empezando desde el tipo de mensaje y acabando justo donde comienza el octeto de Checksum que queda excluido del cálculo.
El protocolo en su capa 2, no soporta la corrección de errores (sólo los detecta) ni la retransmisión de mensaje. Tampoco existe un número de secuencia o reconocimiento de mensaje en la información transmitida.
Un mensaje incorrecto de la capa 2 (enlace de datos), debería ser descartado por el equipo terminal así como cualquier mensaje desconocido.
Cada palabra de datos es encapsulada por un bit de arranque (lógica 0) y otro de parada (lógica 1). O sea, la aplicación de la información se realiza en modo asíncrono.
El orden de transmisión en la línea es: primero el bit de arranque, y el último es el bit de parada.
La señal de datos en la línea es continua. Ahora bien la modulación FSK es estrictamente aplicada durante la transmisión de datos. Por consiguiente, ésta es inmediatamente parada después de haber transmitido el último bit del mensaje de la capa de enlace de datos, por lo que el modem del terminal debe quedar en estado de reposo.
Para evitar la corrupción del octeto final de Checksum por prematuro cese de la modulación FSK, tras el bit de parada (lógica 1), seguirán de 1 a 10 bits de marca (lógica 1).
La capa de presentación define el formato de los mensajes de información y, la codificación y secuencia de los mismos a transmitir desde la red hasta el modem del equipo terminal analógico del usuario. Esta capa queda completamente encapsulada dentro de la capa 2 correspondiente a la capa de enlace de datos.
Para este protocolo se adopta un tipo de mensaje múltiple cuyas características se presentan en la siguiente figura:
Tipo de parámetro |
Longitud del parámetro |
Octetos de información |
|
Tipo de parámetro |
Longitud del parámetro |
Octetos de información |
0 -----------7 |
8 ----------15 |
16 ...... |
|
|
|
|
------------PARÄMETRO 1 ----------- |
•••••••••••• |
------------PARÄMETRO N ---------- |
||||
Tipo de parámetro: Contiene un valor codificado en binario de longitud 1 octeto que identifica el parámetro de que se trata
Longitud del parámetro: Contiene el número de octetos de información correspondientes al tipo de parámetro indicado, que siguen a continuación en el mensaje. Se codifica en binario.
Octetos de información: Pueden ser 1 o más octetos (hasta 253). El contenido de los octetos puede ir codificado en binario o en IRA (Alfabeto Internacional de Referencia: Rec. T.50 de la ITU-T )
A continuación se recoge en la siguiente tabla los parámetros actualmente definidos en la red de Telefónica de España, S.A.U. conforme a la ETS 300 659-1, actualmente definidos en la red para el servicio de identificación de llamada:
Tipo (binario) |
Tipo (hex.) |
Longitud |
Nombre del Parámetro |
0000 0001 |
01H |
8 |
Fecha y hora |
0000 0010 |
02H |
máx. 20 |
Identidad línea llamante |
0000 0100 |
04H |
1 |
Razón de ausencia de la identidad llamante |
A continuación, se indica el propósito y la codificación de los parámetros del protocolo.
Parámetro “Fecha y hora”
El propósito de este parámetro es proporcionar información al usuario de la fecha y hora en la cual se ha generado el mensaje en la red.
|
Contenido |
Octeto 1 |
Código parámetro (1) |
Octeto 2 |
Longitud del parámetro (8) |
Octeto 3 |
Mes (primer dígito) |
Octeto 4 |
Mes (segundo dígito) |
Octeto 5 |
Día (primer dígito) |
Octeto 6 |
Día (segundo dígito) |
Octeto 7 |
Hora (primer dígito) |
Octeto 8 |
Hora (segundo dígito) |
Octeto 9 |
Minuto (primer dígito) |
Octeto 10 |
Minuto (segundo dígito) |
Los días pueden ir desde 01 a 31.
Los meses pueden ir desde 01 (Enero) hasta 12 (Diciembre)
Las horas pueden ir desde 00 hasta 23
Los minutos pueden ir desde 00 hasta 59
Cada octeto del parámetro se codifica en alfabeto IRA.
Parámetro “Identidad de la Línea Llamante ”
El propósito de este parámetro es identificar el origen de la llamada.
En la siguiente tabla se muestra la codificación:
|
Contenido |
Octeto 1 |
Código parámetro (2) |
Octeto 2 |
Longitud del parámetro (6 – 20) |
Octeto 3 |
Primer dígito |
Octeto 4 |
Segundo dígito |
Octeto 5 |
Tercer dígito |
• • • |
• • • |
Octeto 22 |
Vigésimo dígito |
Los dígitos del número llamante se codifican en IRA.
Parámetro “Razón de ausencia del Número Llamante”
El propósito de este parámetro, es indicar al usuario llamado en su terminal la razón por la que no se le presenta el número de la línea llamante.
Este parámetro es mutuamente excluyente con la presentación del número llamante dentro del mismo mensaje. En la siguiente tabla se muestra su codificación:
|
Contenido |
Octeto 1 |
Código del parámetro: 0000 0100 (04H) |
Octeto 2 |
Longitud del parámetro:0000 0001(01H) |
Octeto 3 |
No disponible en la red: 0100 1111 (“O”) |
El carácter que identifica la razón de ausencia del número llamante se codifica en alfabeto IRA.
Capa física
La capa 1 especifica las características físicas, eléctrica y funcionales de la línea analógica para la transmisión de información.
La Interfaz de Línea Analógica de la red de Telefónica de España, S.A.U., cumple las siguientes características:
Tipo de enlace: Simplex, 2 hilos (sentido red-usuario)
Esquema de transmisión: Línea analógica, modulación por desplazamiento de frecuencia de fase coherente (DFSK)
Lógica 1(marca): 1300 Hz ± 1,5 %
Lógica 0(espacio): 2100 Hz ± 1,5 %
Codificación de datos : IRA (Alfabeto Internacional de Referencia: Rec. T.50 de la ITU-T )
Velocidad de transmisión: 1200 bit/s
Aplicación de datos: En serie, binario, asíncrono.
Duración del bit: 833 ± 50 μs
Nivel de transmisión: - 13,5 dBm ± 1,5% en el punto de aplicación de los datos, con una impedancia de terminación de 600 Ω.
|
|
Esquema en listo para imprimir PDF |
|
Archivo ASM con comentarios para comprender el funcionamiento del programa |
|
Archivo para grabar el microcontrolador HEX |
Lista de componentes:
==RESISTENCIAS (por defecto en Ohmmios, 1/4 de potencia, y tolerancia normal) ==
R14: 1K
R13: 1K
R1: 680
R10: 39K
R8: 6K8
R11: 10
R7: 100K
R9: 10
R6: 680K, tolerancia 1%
R4: 200K, tolerancia 1%
R5: 160K, tolerancia 1%
R2,R3: 470K, tolerancia 1%
R12: 680
==CONDENSADORES==
C1: 680pF
C2: 680pF
C15: 220uF/25v
C14: 100nF/25v
C13: 100nF/16v
C12: 100uF/16v
C10: 22pF
C11: 22pF
C8: 22pF
C9: 22pF
C7: 100uF/200V
C5: 10nF
C7: 1uF/250V (detector de llamada)
C3: 100nF/100v
C4: 100nF/100v
==SEMICONDUCTORES==
U4: 7805
1N4148 o similar (proteccion picos relé)
U3: 4N35 o equivalente. optoacoplador
DZ1: zener 5V.
P1: puente diodos 350V minimo
T1: transistor 2N2369
detector CALLER ID: CMX602B
microcontrolador PIC 16F84A
resto de diodos: cualquier rectificador sirve.
==OTROS==
Led verde/naranja/amarillo/ (encendido)
LED2: Led rojo (bloqueo)
CR1: cristal 3.579MHz (cristal CMX602)
CR2: cristal 3.579MHz (cristal PIC)
RL1: Rele 5V/dos circuitos
Transformador MTLM-1200E (microSpire)
conector telefonico IN
conector telefonico OUT
Placa de circuito impreso
Disposicion de los componentes
Al recibir una llamada con la identidad oculta procede a desconectar el telefono.
Notas sobre algunos componentes de los que forman el montaje:
-El integrado CMX602B lo tienen en Madrid en "Sagitron", y en "Digital S.A."
Sagitron:
C/ Monton de Trigo, 2, esquina Avda de la Industria. 28760 Tres Cantos - Madrid.
918063800, 936342810
Digital S.A.
ELECTRONICA DIGITAL S.A. PILAR DE ZARAGOZA, 45 Electricidad (Material-Artículos), Madrid
http://www.digital-sa.com/tienda/
-Las resistencias a la entrada del CMX602 deben ser del 1% de tolerancia (muy precisas).
-Los condensadores de 100uF/200V, y 1uF/250V deben ser de este voltaje (o mas).
-El 4N35 es un optoacoplador que puede ser sustituido por cualquiera equivalente.
-El transformador de acoplo a la entrada del CMX602 no es muy importante, pudiendose
poner cualquiera o incluso no poniendolo (aunque recomiendo ponerlo para aislar el circuito
de la linea).
Puede servir el "MTLM 1200E" de "microSpire"
http://www.microspire.com