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