Esta fue la solución que le dimos acá y funciona perfectamente. El mgetty no 
levanta el modem si no coincide con el teléfono que esta autorizado. KLe 
dejamos el know how de nuestra experiencia.

Primeramente tenemos que tener habilitado el servicio de identificador de 
llamadas por parte de nuestro proveedor de servicios en este caso ETECSA.
Ya después de haber instalado mgetty vamos a modificar los siguientes ficheros:

    # nano /etc/mgetty/mgetty.config

En nuestro caso nuestro modem estará escuchando por el puerto serie tty0 y 
añadimos lo siguente:

    # ----- multitech config -----
    port ttyS0
    init-chat "" ATQ0V1E1S0=0&C1&D3X4+FCLASS=0 OK at+vcid=1 OK
    speed 57600
    rings 3
    debug 3
    data-only y

Esplico los paámetros ahora:
port tty0: define el puerto por el cual va a escuchar el modem.
init-chat “” ATQ0V1E1S0=0&C1&D3X4+FCLASS=0 OK at+vcid=1 OK : es la cadena de 
inicialización del modem. El at+vcid=1 activará el identificador de llamada 
para el modem y esto es muy imporante porque es el que le dirá al mgetty desde 
donde se esta originando la llamada.
speed 57600: define la velocidad del puerto. En este caso 57600 bps.
rings 3: Define la cantidad de timbres que esperará el mgetty antes de 
responder la llamada. Ojo: Tienen que ser mayor que 2 porque el identificador 
el proveedor lo da entre el primero y el segundo trimbre.
debug 3: define la complejidad del fichero log de mgetty
data-only y: deshabilita las opciones de fax y que sea solo datos

Teniendo esto vamos a configurar las reglas de que teléfonos se pueden o no 
conectar editando el fichero /etc/mgetty/dialin.conf

    #nano /etc/mgetty/dialin.config

Por defecto todas las llamadas se aceptaran y no hay reglas declaradas y al 
final esta comentado !all lo descomentamos y antes de esa regla empezamos a 
definir separados por coma o por lineas separadas los teléfonos que queramos 
que el mgetty acepte en una conexión. El teléfono que no este en este fichero 
el mgetty no abrira una conexión y seguira dando timbre como una llamada normal.

Ejemplo de fichero:

    # dialin.config (CNDFILE in policy.h)
    #
    # cndfile contains a series of tokens separated by newlines, commas, tabs
    # and spaces. The callerid number is compared with each token in turn,
    # until a match occurs. A match occurs when the token compares equally to
    # the callerid information up to the length of the token. If the token is
    # prefixed with a "!", a match means "do not answer the phone". The token
    # "all" matches any telephone number, and will terminate scanning of the
    # cndfile. If no callerid number is present, it is assumed to have the
    # value "none". A line starting with "#" is a comment. There is an
    # implicit "all" at the end of the file.
    043515887, 043515878
    !all

Los teléfonos que van a recibir tono de modem serán esos que declaramos y hasta 
aquí la explicación.

Si miramos las trazas para una conexión válida veremos lo siguiente:

    #tail -f /var/log/mgetty/mg_ttyS0.log
    05/19 11:04:53 yS0 waiting...
    05/19 11:05:05 yS0 wfr: waiting for ``RING''
    05/19 11:05:05 yS0 wfr: waiting for ``RING''
    05/19 11:05:07 yS0 wfr: waiting for ``RING''
    05/19 11:05:12 yS0 wfr: waiting for ``RING''
    05/19 11:05:17 yS0 send: ATA[0d]
    05/19 11:05:17 yS0 waiting for ``CONNECT'' ** found **
    05/19 11:05:39 yS0 send:
    05/19 11:05:39 yS0 waiting for ``_'' ** found **
    05/19 11:05:41 ##### data dev=ttyS0, pid=13429, caller='043515887', 
conn='57600', name='', cmd='/usr/sbin/pppd', user='/AutoPPP/'

Si lo vemos para una conexión no valida sería así:

    #tail -f /var/log/mgetty/mg_ttyS0.log

    05/19 10:55:08 yS0 waiting…
    05/19 11:04:12 yS0 wfr: waiting for “RING”
    05/19 11:04:12 yS0 wfr: waiting for “RING”
    05/19 11:04:14 yS0 wfr: waiting for “RING”
    05/19 11:04:19 yS0 wfr: waiting for “RING”
    05/19 11:04:24 ##### denied caller dev=ttyS0, pid=13429, caller=’043513722′

Lic. Omar Padrón Capote 
Administrador de Red 
ERMP Cfgos 
Tel. 515887 o 515878 ext 115 


______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a