]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - doc/Informe7508.lyx
Comitt...
[z.facultad/75.08/llamadas.git] / doc / Informe7508.lyx
index e8736bf1c60bf47f88987405941385633990f21b..214d6f8ee38e78f4ea22d37154d2bbe175b66dcf 100644 (file)
@@ -52,7 +52,7 @@ Leandro Lucarella (77891)
 Ricardo Markiewicz (78226)
 \layout Date
 
-Primera Entrega, 28 de Junio del 2004
+26 de Octubre del 2004
 \layout Standard
 
 
@@ -73,19 +73,35 @@ El programa en su totalidad va a ser ejecutado por un 
  configuración diferente es posible pero queda en manos del administrador.
 \layout Itemize
 
-En los archivos de llamada se valida que sean numeros, y para validar la
+En los archivos de llamada se valida que sean números, y para validar la
  fecha no se tiene en cuenta casos particulares como el 29, 30, 31 de febrero.
 \layout Itemize
 
-Todos los meses pueden tener 31 dias.
+Todos los meses pueden tener 31 días.
 \layout Itemize
 
 Aficonf utiliza números para describir las acciones Nuevo y Buscar.
  La opción Borrar es ofrecida requiriendo un número de ID a borrar dependiendo
  de los resultados de la búsqueda, y dando una opción (-1) para cancelar
  la acción.
+\layout Itemize
+
+El instalador utiliza el archivo afinstal.conf, situado en el directorio
+\family typewriter 
+$PATH_INSTALADOR/conf
+\family default 
+, para determinar que componentes se encuentran instalados.
+ Internamente, en base a la información de paths proporcionada por este
+ archivo, busca su los binarios realmente se encuentran en el OS, y en caso
+ contrario permite volver a reinstalarlo/s.
 \layout Section
 
+
+\begin_inset LatexCommand \label{sec:Problemas-relevantes}
+
+\end_inset 
+
 Problemas relevantes
 \layout Itemize
 
@@ -104,32 +120,34 @@ As
 ~$HOME/.antifraude
 \family default 
 , para ser mas consistentes con la manera de trabajar en Unix.
- Lo ideal ubiera sido utilizar 
+ Lo ideal hubiera sido utilizar 
 \family typewriter 
 /etc/antifraude
 \family default 
-, pero como no podríamos suponer root access preferimos directamente trabajar
- en el home del usuario.
+, pero como no podríamos suponer acceso de 
+\emph on 
+root
+\emph default 
+ preferimos directamente trabajar en el directorio del usuario.
 \layout Section
 
 Instalación
-\layout Standard
+\layout Comment
 
 Copiar del README cuando este terminado y extenderlo un poco si se considera
  necesario.
 \layout Section
 
-Comandos Desarollados
+Comandos Desarrollados
 \layout Subsection
 
 AFIMONIO
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Solicitado
+Solicitado.
 \layout Subsubsection
 
 Archivos de Input
 Archivos de Output
 \layout Standard
 
-El afimonio genera una salida al archivo afimonio.log la cual contiene informació
-n sobre la ejecución del programa.
+El afimonio genera una salida al archivo 
+\family typewriter 
+afimonio.log
+\family default 
+ la cual contiene información sobre la ejecución del programa.
 \layout Standard
 
 Si un archivo es válido, se añade una línea con el siguiente formato: 
-\layout Standard
+\layout LyX-Code
 
-"$fecha $USER afimonio: "Se detecta archivo de llamadas $file" 
+$fecha $USER afimonio: "Se detecta archivo de llamadas $file"
 \layout Standard
 
 Si el archivo tuviera un nombre inválido, la línea seria la siguiente: 
-\layout Standard
+\layout LyX-Code
 
-"$fecha $USER afimonio:"Se rechaza el archivo $file".
+$fecha $USER afimonio: "Se rechaza el archivo $file"
 \layout Standard
 
-donde 
-\layout Standard
+donde:
+\layout Description
 
-$fecha: fecha actual con formato Dia-Mes-Año-Hora:Minuto.
-\layout Standard
 
-$USER: nombre de usuario que ejecuto el script.
-\layout Standard
+\family typewriter 
+$fecha
+\family default 
+ fecha actual con formato Día-Mes-Año-Hora:Minuto.
+\layout Description
 
-$file: nombre del archivo que se procesó.
+
+\family typewriter 
+$USER
+\family default 
+ nombre de usuario que ejecuto el script.
+\layout Description
+
+
+\family typewriter 
+$file
+\family default 
+ nombre del archivo que se procesó.
 \layout Subsubsection
 
 Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
 
-:afimonio/bin$> ./afimonio
-\layout LyX-Code
 
-:afimonio/bin$> nohup ./afimonio & 
-\layout LyX-Code
+\family typewriter 
+./afimonio
+\layout Standard
 
-:afimonio/bin$> ./afimonio_daemon.sh
-\layout LyX-Code
+Corre el programa en primer plano.
+\layout Paragraph
+
+
+\family typewriter 
+nohup ./afimonio &
+\layout Standard
 
-    afimonio_daemon.sh (start|stop|status)
+Corre el programa en segundo plano, evitando que se cierre al morir el padre
+ desasociándolo de la terminal.
+ La salida del programa queda en el archivo 
+\family typewriter 
+nohup.out
+\family default 
+ a menos que se redirija a otro archivo.
 \layout Subsubsection
 
 Código Fuente
-\layout Standard
+\layout Comment
 
 Copy Paste cuando este cerrado.
 \layout Subsection
 
 ANTIFRAUDE
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Solicitado
+Solicitado.
 \layout Subsubsection
 
 Archivos de Input
 \layout Standard
 
-Procesa los archivos de llamadas que encuentre en el momento de invocacion
+Procesa los archivos de llamadas que encuentre en el momento de invocación
  en el directorio 
 \family typewriter 
 $PATH_ANTIFRAUDE/$DATADIR/enproceso
 \family default 
 .
  El demonio 
+\family typewriter 
 \series bold 
-Afimonio
+afimonio
+\family default 
 \series default 
  será quien alimentará al 
+\family typewriter 
 \series bold 
-Antifraude
+antifraude
+\family default 
 \series default 
  con dichos archivos, no obstante se lo puede alimentar con archivos de
- llamdas en forma manual, situándolos en el directorio anteriormente descripto.
+ llamadas en forma manual, situándolos en el directorio anteriormente descripto.
+\layout Standard
+
+Este comando, en el momento de invocacion genera y guarda internamente un
+ listado de los archivos de llamadas presences en el directorio 
+\family typewriter 
+/enproceso
+\family default 
+, ordenándolos por fecha (establecida en el nombre del archivo) en forma
+ ascendente.
+ Dado que utiliza durante toda su ejecución esta lista interna, el 
+\family typewriter 
+\series bold 
+Afimonio
+\family default 
+\series default 
+ puede alimentar al directorio 
+\family typewriter 
+/enproceso
+\family default 
+ con nuevos archivos mientras el 
+\family typewriter 
+\series bold 
+Antifraude
+\family default 
+\series default 
+ corre, pero los mismos no serán tenidos en cuenta (esto es, procesados),
+ hasta la próxima invocación del comando.
 \layout Subsubsection
 
 Archivos de Output
-\layout Itemize
+\layout Description
 
 
-\series bold 
-Antifraude.log:
-\series default 
- Se loguea en este archivo el procesamiento de los registros, warnings provocado
-s por registros no validos y alarmas emitidas por registros que matchean
contra un umbral.
-\layout Itemize
+\family typewriter 
+Antifraude.log
+\family default 
+ En este archivo se guarda información del procesamiento de los registros,
+ advertencias provocados por registros no validos y alarmas emitidas por
registros que cumplen con un umbral.
+\layout Description
 
 
-\series bold 
-Alarmas.txt:
-\series default 
- Se loguean en este archivo las alarmas provocadas por registros en los
- archivos de llamadas, que hayan matcheado un umbral determinado del archivo
- umbrales.param.
+\family typewriter 
+Alarmas.txt
+\family default 
+ En este archivo se guarda información de las alarmas provocadas por registros
+ en los archivos de llamadas, que hayan cumplido un umbral determinado del
+ archivo 
+\family typewriter 
+umbrales.param
+\family default 
+.
 \layout Subsubsection
 
 Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
 
-:antifraude/bin$> perl antifraude.pl
-\layout LyX-Code
 
-:antifraude/bin$> perl antifraude.pl &
+\family typewriter 
+./antifraude.pl
+\layout Standard
+
+El programa procesa las llamadas 
+\family typewriter 
+enproceso
+\family default 
+ como indica el enunciado en primer plano.
+\layout Paragraph
+
+
+\family typewriter 
+perl antifraude.pl
+\layout Standard
+
+Ídem anterior.
+\layout Paragraph
+
+./antifraude.pl &
+\layout Standard
+
+Ídem anterior pero procesa en segundo plano.
 \layout Subsubsection
 
 Código Fuente
-\layout Standard
+\layout Comment
 
 Copy Paste cuando este cerrado.
 \layout Subsection
 
 AFICONF
-\layout Standard
+\layout Subsubsection
 
+Tipo de comando
+\layout Standard
 
-\series bold 
-Tipo de comando:
-\series default 
- Solicitado
+Solicitado.
 \layout Subsubsection
 
 Archivos de Input
 \layout Standard
 
-El comando utiliza los archivos umbrales.param y oridesti.txt situados en
+El comando utiliza los archivos 
+\family typewriter 
+umbrales.param
+\family default 
+ y 
+\family typewriter 
+oridesti.txt
+\family default 
+ situados en 
 \family typewriter 
 ~$HOME/.antifraude/
 \layout Subsubsection
 
-Archivos de Output
+Archivos de Output
+\layout Standard
+
+Solo escribe en 
+\family typewriter 
+umbrales.param
+\family default 
+ de ser solicitado por el usuario, ya sea por la alta o baja de un umbral.
+\layout Subsubsection
+
+Ejemplos de invocación
+\layout Paragraph
+
+
+\family typewriter 
+./aficonf
+\layout Standard
+
+Realiza lo pedido en el enunciado.
+\layout Subsubsection
+
+Código Fuente
+\layout Standard
+
+Copy Paste cuando este cerrado.
+\layout Subsection
+
+CALLGEN
+\layout Subsubsection
+
+Tipo de comando
+\layout Standard
+
+Auxiliar, escrito en 
+\family typewriter 
+perl
+\family default 
+.
+\layout Subsubsection
+
+Justificación de su uso
+\layout Standard
+
+Sirve para realizar lotes de prueba con gran cantidad de entradas y variaciones
+ de forma rápida y cómoda.
+\layout Subsubsection
+
+Archivos de Input
+\layout Standard
+
+Ninguno, toma los datos necesarios por la entrada estándar, aunque es común
+ redireccionarle el archivo 
+\family typewriter 
+oridesti.txt
+\family default 
+.
+ De la entrada estándar toma los códigos de origen y destino.
+ Cada código debe encontrarse en una línea y al comienzo de ésta.
+ Sólo toma los 2 primeros caracteres, e ignora el resto de la línea (para
+ compatibilidad con el archivo oridesti.txt).
+\layout Subsubsection
+
+Archivos de Output
+\layout Standard
+
+Crea una cantidad 
+\family typewriter 
+N
+\family default 
+ (especificada por el usuario) de archivos con nombre y formato de 
+\emph on 
+Archivo de Llamadas
+\emph default 
+ en el directorio actual.
+ Tanto el nombre como la cantidad de líneas y su contenido es generado aleatoria
+mente (respetando el formato mencionado y con valores racionales).
+\layout Subsubsection
+
+Parámetros
+\layout Standard
+
+El comando toma 3 parámetros 
+\series bold 
+opcionales
+\series default 
+:
+\layout LyX-Code
+
+./callgen [cant_archivos [min_lineas [max_lineas]]]
+\layout LyX-Code
+
+
+\begin_inset Float table
+wide false
+collapsed false
+
+\layout Caption
+
+
+\series bold 
+Parámetros del comando CALLGEN
+\layout Standard
+\align center 
+
+\begin_inset  Tabular
+<lyxtabular version="3" rows="4" columns="3">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\series bold 
+Parámetro
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\series bold 
+Descripción
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\series bold 
+Default
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+cant_archivos
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Cantidad de archivos a generar
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+10
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+min_lineas
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Mínima cantidad de lineas en un archivo
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+1000
+\end_inset 
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+max_linaes
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Máxima cantidad de lineas en un archivo
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+5000
+\end_inset 
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset 
+
+
+\end_inset 
+
+
+\layout LyX-Code
+
+\layout Standard
+
+Pueden cambiarse los valores por defecto editando el código fuente del comando,
+ en la sección de configuración que se encuentra al comienzo del mismo.
+ También puede cambiarse el mínimo y máximo año (por defecto 1999 y 2004)
+ y el mínimo y máximo código de central (por defecto 0000 y 9999).
+\layout Subsubsection
+
+Ejemplos de invocación
+\layout Paragraph
+
+
+\family typewriter 
+./callgen
+\layout Paragraph
+
+
+\series medium 
+Se escriben por entrada estándar los códigos de origen/destino, se presiona
+\family typewriter 
+\series default 
+Ctrl-D
+\family default 
+\series medium 
+ para cerrar el descriptor de archivo de la entrada estándar y se generan
+ 10 archivos con entre 1000 y 5000 líneas cada uno.
+\layout Paragraph
+
+
+\family typewriter 
+./callgen 2 < oridesti.txt
+\layout Paragraph
+
+
+\series medium 
+Genera 2 archivos con entre 1000 y 5000 líneas cada uno tomando los códigos
+ de origen/destino del archivo 
+\family typewriter 
+origesti.txt
+\family default 
+.
+\layout Paragraph
+
+
+\family typewriter 
+./callgen 5 10 < oridesti.txt
+\layout Paragraph
+
+
+\series medium 
+Genera 5 archivos con entre 10 y 5000 líneas cada uno tomando los códigos
+ de origen/destino del archivo 
+\family typewriter 
+origesti.txt
+\family default 
+.
+\layout Paragraph
+
+
+\family typewriter 
+./callgen 50 10 50 < oridesti.txt
+\layout Paragraph
+
+
+\series medium 
+Genera 50 archivos con entre 10 y 50 líneas cada uno tomando los códigos
+ de origen/destino del archivo 
+\family typewriter 
+origesti.txt
+\family default 
+.
+\layout Subsubsection
+
+Código Fuente
+\layout Comment
+
+Copy Paste cuando este cerrado.
+\layout Section
+
+Archivos
+\layout Subsection
+
+Archivos del Enunciado
+\layout Subsubsection
+
+
+\family typewriter 
+<comando>.log
+\layout Standard
+
+Los archivos de log generados por los distintos comandos, presentan todos
+ la misma estructura de registro que se detalla a continuación: 
+\family typewriter 
+YYYYMMDD-hhmm $usuario $comando: ¨$Mensaje¨
+\layout Subsubsection
+
+
+\family typewriter 
+oridesti.txt
+\layout Standard
+
+En este archivo se tienen los origenes y destinos en base a los cuales hemos
+ generados los archivos de llamada y los umbrales.
+\layout Standard
+
+
+\begin_inset Float table
+wide false
+collapsed true
+
+\layout Caption
+
+
+\series bold 
+Estructura de oridesti.txt
+\layout Standard
+\align center 
+
+\begin_inset  Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Código
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+2 caracteres
+\end_inset 
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Descripción
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres
+\end_inset 
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset 
+
+
+\end_inset 
+
+
+\layout Subsubsection
+
+
+\family typewriter 
+umbrales.param
+\layout Standard
+
+Este archivo posee los umbrales de llamadas de los cuales se valdra el antifraud
+e.pl para emitir o no alarmas durante el proceso de los archivos de llamadas.
+\layout Standard
+
+
+\begin_inset Float table
+wide false
+collapsed true
+
+\layout Caption
+
+
+\series bold 
+Estructura de umbrales.param
+\layout Standard
+\align center 
+
+\begin_inset  Tabular
+<lyxtabular version="3" rows="8" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Id del registro
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres, número secuencial >= 1
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Número de línea
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres, Numérico
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Origen/Destino
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+2 caracteres, valores posibles segun oridesti.txt
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Tipo de llamada
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+1 caracter, E = Entrante, S = Salida
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Estado
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+1 caracter, A = Activo, I = Inactivo
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Usuario
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres = login del user que graba el reg
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Fecha
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+8 caracteres, formato aaaammdd
+\end_inset 
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Hora
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+6 caracteres, formato hhmmss, hora actual
+\end_inset 
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset 
+
+
+\end_inset 
+
+
+\layout Subsubsection
+
+
+\family typewriter 
+<archivo de llamada>
+\layout Standard
+
+Estos archivos son los que el antifraude procesará en busca de matchs contra
+ los umbrales.
+\layout Standard
+
+
+\begin_inset Float table
+wide false
+collapsed true
+
+\layout Caption
+
+
+\series bold 
+Estructura de un archivo de llamadas
+\layout Standard
+\align center 
+
+\begin_inset  Tabular
+<lyxtabular version="3" rows="8" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<column alignment="center" valignment="top" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Número de línea
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres, Numérico
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Cantidad de Minutos
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres, Numérico
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Fecha de Llamada
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+8 caracteres, formato aaaammdd
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Hora de Llamada
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+6 caracteres, formato hhmmss
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Tipo de Llamada
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+1 carácter, E = Entrante, S = Salida
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Destino
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+2 caracteres, solo informado en llamadas salientes
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Origen
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+2 caracteres, solo informado en llamadas entrantes
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
 \layout Standard
 
-Solo escribe en umbrales.param de ser solicitado por el usuario, ya sea por
- la alta o baja de un umbral.
-\layout Subsubsection
-
-Ejemplos de invocación
-\layout LyX-Code
-
-:aficonf/bin$> ./aficonf
-\layout Subsubsection
+Prestadora
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
-Código Fuente
 \layout Standard
 
-Copy Paste cuando este cerrado.
-\layout Subsection
+N caracteres
+\end_inset 
+</cell>
+</row>
+</lyxtabular>
 
-CALLGEN
-\layout Standard
+\end_inset 
 
 
-\series bold 
-Tipo de comando:
-\series default 
- Auxiliar, escrito en PERL
-\layout Subsubsection
+\end_inset 
 
-Justificación de su uso
-\layout Standard
 
-Sirve para realizar lotes de prueba con gran cantidad de entradas y variaciones
- de forma rápida y cómoda.
 \layout Subsubsection
 
-Archivos de Input
-\layout Standard
 
-Ninguno, toma los datos necesarios por la entrada estándar, aunque es común
- redireccionarle el archivo 
 \family typewriter 
-oridesti.txt
-\family default 
-.
- De la entrada estándar toma los códigos de origen y destino.
- Cada código debe encontrarse en una línea y al comienzo de ésta.
- Sólo toma los 2 primeros caracteres, e ignora el resto de la línea (para
- compatibilidad con el archivo oridesti.txt).
-\layout Subsubsection
-
-Archivos de Output
+alarmas.txt
 \layout Standard
 
-Crea una cantidad N (especificada por el usuario) de archivos con nombre
- y formato de Archivo de Llamadas en el directorio actual.
- Tanto el nombre como la cantidad de líneas y su contenido es generado aleatoria
-mente (respetando el formato mencionado y con valores racionales).
-\layout Subsubsection
-
-Parámetros
+En este archivo el antifraude irá dejando registro de las alarmas emitidas
+ en base a registros que han tenido un match contra los umbrales.
 \layout Standard
 
-El comando toma 3 parámetros 
-\series bold 
-opcionales
-\series default 
-:
-\layout LyX-Code
-
-./callgen [cant_archivos [min_lineas [max_lineas]]]
-\layout LyX-Code
-
 
 \begin_inset Float table
 wide false
-collapsed false
+collapsed true
 
 \layout Caption
 
 
 \series bold 
-Parámetros del comando CALLGEN
+Estructura de alarmas.txt
 \layout Standard
 \align center 
 
 \begin_inset  Tabular
-<lyxtabular version="3" rows="4" columns="3">
+<lyxtabular version="3" rows="10" columns="2">
 <features>
 <column alignment="center" valignment="top" leftline="true" width="0">
-<column alignment="center" valignment="top" leftline="true" width="0">
 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
 <row topline="true" bottomline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -397,19 +1193,25 @@ Par
 
 \layout Standard
 
+Prestadora
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
-\series bold 
-Parámetro
+\layout Standard
+
+N caracteres, campo 'Prestadora', archivo de llamadas
 \end_inset 
 </cell>
+</row>
+<row topline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \layout Standard
 
-
-\series bold 
-Descripción
+Central Telefónica
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
@@ -417,9 +1219,7 @@ Descripci
 
 \layout Standard
 
-
-\series bold 
-Default
+4 caracteres, obtenido a partir del archivo de llamadas
 \end_inset 
 </cell>
 </row>
@@ -429,15 +1229,25 @@ Default
 
 \layout Standard
 
-cant_archivos
+Número de Línea
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+N caracteres, campo 'Numero de Linea' , archivo de llamadas
 \end_inset 
 </cell>
+</row>
+<row topline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \layout Standard
 
-Cantidad de archivos a generar
+Cantidad de minutos
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
@@ -445,7 +1255,7 @@ Cantidad de archivos a generar
 
 \layout Standard
 
-10
+N caracteres, campo 'Cant de Minutos', archivo de llamadas
 \end_inset 
 </cell>
 </row>
@@ -455,41 +1265,43 @@ Cantidad de archivos a generar
 
 \layout Standard
 
-min_lineas
+Regla Aplicada
 \end_inset 
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \layout Standard
 
-Mínima cantidad de lineas en un archivo
+N caracteres, campo 'Id de registro', umbrales.param
 \end_inset 
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \layout Standard
 
-1000
+Fecha de llamada
 \end_inset 
 </cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \layout Standard
 
-max_lines
+8 caracteres, campo 'Fecha de llamada', archivo de llamadas
 \end_inset 
 </cell>
+</row>
+<row topline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \layout Standard
 
-Máxima cantidad de lineas en un archivo
+Hora de llamada
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
@@ -497,97 +1309,88 @@ M
 
 \layout Standard
 
-5000
+6 caracteres, campo 'Hora de llamada', archivo de llamadas
 \end_inset 
 </cell>
 </row>
-</lyxtabular>
-
-\end_inset 
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
 
+\layout Standard
 
+Usuario
 \end_inset 
-
-
-\layout LyX-Code
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
 \layout Standard
 
+N caracteres, siempre login del usuario que graba el reg
+\end_inset 
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
 
-\series bold 
-NOTA:
-\series default 
- Pueden cambiarse los valores por defecto editando el código fuente del
- comando, en la sección de configuración que se encuentra al comienzo del
- mismo.
- También puede cambiarse el mínimo y máximo año (por defecto 1999 y 2004)
- y el mínimo y máximo código de central (por defecto 0000 y 9999).
-\layout Subsubsection
-
-Ejemplos de invocación
-\layout Paragraph
-
-./callgen
-\layout Paragraph
-
-
-\series medium 
-Se escriben por entrada estándar los códigos de origen/destino, se presiona
- Ctrl-D para cerrar el descriptor de archivo de la entrada estándar y se
- generan 10 archivos con entre 1000 y 5000 líneas cada uno.
-\layout Paragraph
-
-./callgen 2 < oridesti.txt
-\layout Paragraph
-
+\layout Standard
 
-\series medium 
-Genera 2 archivos con entre 1000 y 5000 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
-\layout Paragraph
+Fecha
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
-./callgen 5 10 < oridesti.txt
-\layout Paragraph
+\layout Standard
 
+8 caracteres, formato aaaammdd, fecha actual
+\end_inset 
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
 
-\series medium 
-Genera 5 archivos con entre 10 y 5000 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
-\layout Paragraph
+\layout Standard
 
-./callgen 50 10 50 < oridesti.txt
-\layout Paragraph
+Hora
+\end_inset 
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
+\layout Standard
 
-\series medium 
-Genera 50 archivos con entre 10 y 50 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
-\layout Subsubsection
+6 caracteres formato hhmmss, hora actual
+\end_inset 
+</cell>
+</row>
+</lyxtabular>
 
-Código Fuente
-\layout Standard
+\end_inset 
 
-Copy Paste cuando este cerrado.
-\layout Section
 
-Archivos
-\layout Subsection
+\end_inset 
 
-Archivos del Enunciado
-\layout Standard
 
-[ Por cada uno se debe poner nombre y detallar su estructura interna ]
 \layout Subsection
 
 Archivos Auxiliares
 \layout Subsubsection
 
+
+\family typewriter 
 afimonio.conf
 \layout Standard
 
-El archivo de configuración $~/.antifraude/conf/afimonio.conf almacena las
- rutas a los directorios necesarios para la ejecución del script 
+El archivo de configuración 
+\family typewriter 
+~/.antifraude/conf/afimonio.conf
+\family default 
+ almacena las rutas a los directorios necesarios para la ejecución del script
 \family typewriter 
 afimonio
 \family default 
@@ -595,11 +1398,17 @@ afimonio
  
 \layout Subsubsection
 
+
+\family typewriter 
 antifraude.conf
 \layout Standard
 
-El archivo de configuración $~/.antifraude/conf/antifraude.conf almacena las
- rutas a los directorios necesarios para la ejecución del script 
+El archivo de configuración 
+\family typewriter 
+~/.antifraude/conf/antifraude.conf
+\family default 
+ almacena las rutas a los directorios necesarios para la ejecución del script
 \family typewriter 
 antifraude.pl
 \family default 
@@ -607,11 +1416,17 @@ antifraude.pl
  
 \layout Subsubsection
 
+
+\family typewriter 
 aficonf.conf
 \layout Standard
 
-El archivo de configuración $~/.antifraude/conf/aficonf.conf almacena las
- rutas a los directorios necesarios para la ejecución del script 
+El archivo de configuración 
+\family typewriter 
+~/.antifraude/conf/aficonf.conf
+\family default 
+ almacena las rutas a los directorios necesarios para la ejecución del script
 \family typewriter 
 aficonf
 \family default 
@@ -621,7 +1436,12 @@ aficonf
 
 Estos archivos fueron creados para que los diferentes scripts tengan un
  lugar común donde buscar esa información para salvar el problema comentado
- en el punto 1.2.
+ en el punto 
+\begin_inset LatexCommand \vref{sec:Problemas-relevantes}
+
+\end_inset 
+
+.
 \layout Subsection
 
 Set de Prueba (testcalls.tar.gz)
@@ -632,20 +1452,31 @@ do en el archivo
 \family typewriter 
 testcalls.tar.gz
 \family default 
-, situado en el directorio /INST, del paquete de instalación.
+, situado en el directorio 
+\family typewriter 
+/inst
+\family default 
+, del paquete de instalación.
  El set de prueba se copia automáticamente en el momento en que se instale
  el componente 
+\family typewriter 
 \series bold 
-ANTIFRAUDE
+antifraude
+\family default 
 \series default 
 , dejando el escenario listo para procesarlos en el momento en que sea arrancado
  el 
+\family typewriter 
 \series bold 
-AFIMONIO 
+afimonio
+\family default 
 \series default 
 o bien ejecutando el 
+\family typewriter 
 \series bold 
-ANTIFRAUDE
+antifraude
+\family default 
 \series default 
  en forma manual.
 \layout Standard
@@ -658,32 +1489,46 @@ Este set de prueba consta de
 \layout Itemize
 
 14 archivos de llamadas generados con el 
+\family typewriter 
 \series bold 
-CALLGEN
+callgen
+\family default 
 \series default 
 , con entre 1000 y 5000 registros cada uno, y fecha en el rango año 1999
- 2004.
a 2004.
 \layout Itemize
 
-1 archivo de llamadas con registros validos y otros no validos.
+1 archivo de llamadas con registros válidos y otros no válidos.
 \layout Itemize
 
 1 archivo con nombre válido según el formato YYYYMMDDhhmm.nnnn, pero con
- texto dentro suyo, el cual es rechazado por Antifraude.
+ contenido inválido, el cual es rechazado por 
+\family typewriter 
+\series bold 
+antifraude
+\family default 
+\series default 
+.
 \layout Itemize
 
-1 archivo con nombre nó válido rechazado en instancia previa por el Afimonio.
+1 archivo con nombre no válido rechazado en instancia previa por 
+\family typewriter 
+\series bold 
+afimonio
+\family default 
+\series default 
+.
 \layout Standard
 
 Se describen en la siguiente tabla, los archivos y registros que disparan
  alarmas o tienen close matches contra los 25 umbrales distribuidos en el
- paquete de instalacion, via el umbrales.param:
+ paquete de instalación, vía el umbrales.param:
 \layout Standard
 
 
 \begin_inset Float table
 wide false
-collapsed true
+collapsed false
 
 \layout Caption
 
@@ -717,7 +1562,8 @@ Archivo
 
 
 \series bold 
-Linea Nro
+Nro.
+ Línea
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
@@ -727,7 +1573,7 @@ Linea Nro
 
 
 \series bold 
-Matched Umbral
+Umbral
 \end_inset 
 </cell>
 </row>
@@ -893,7 +1739,7 @@ Matched Umbral
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -919,7 +1765,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -997,7 +1843,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1049,7 +1895,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1075,7 +1921,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1101,7 +1947,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1127,7 +1973,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1179,7 +2025,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1205,7 +2051,7 @@ idem
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1283,7 +2129,7 @@ Close match umbral 22, difiere tipo de llamada
 
 \layout Standard
 
-idem
+ídem
 \end_inset 
 </cell>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
@@ -1339,61 +2185,79 @@ idem
 
 \layout Paragraph
 
-Archivo 199908220733.4515
+Archivo 
+\family typewriter 
+199908220733.4515
 \layout Paragraph
 
 
 \series medium 
-Posee registros no validos detallados a continuacion.
- Los registros se contabilizan de 0 a N (Linea 1 = Reg 0)
+Posee registros no válidos detallados a continuación.
+ Los registros se contabilizan de 0 a N (Línea 1 = Reg 0)
 \layout Itemize
 
 
 \series bold 
 Registro 3
 \series default 
- -> Posee un 9no campo 'Bogus'
+ -> Posee un 9no campo 
+\emph on 
+bogus
 \layout Itemize
 
 
 \series bold 
 Registro 27
 \series default 
- -> Posee un 9no campo 'Bogus'
+ -> Posee un 9no campo 
+\emph on 
+bogus
 \layout Itemize
 
 
 \series bold 
 Registro 31
 \series default 
- -> Posee un tipo de llamada 'W' no valida
+ -> Posee un tipo de llamada 
+\family typewriter 
+W
+\family default 
+ no valida
 \layout Itemize
 
 
 \series bold 
 Registro 41
 \series default 
- -> El numero de linea (campo1) no es numerico, es un string 'ABCD'
+ -> El número de línea (campo1) no es numérico, es un string 
+\family typewriter 
+'ABCD'
 \layout Itemize
 
 
 \series bold 
 Registro 52
 \series default 
- -> Tiene insuficiente cantidad de campos (siete)
+ -> Tiene cantidad de campos insuficiente (siete)
 \layout Standard
 
-Estos registros emitirán errores plasmados en el antifraude.log.
- Para verificar esto, realizar un search en el logfile, sobre el nombre
- del archivo, y ubicarse en el sector donde se indica el comienzo del procesamie
-nto del mismo con ¨
+Estos registros emitirán errores plasmados en el 
+\family typewriter 
+antifraude.log
+\family default 
+.
+ Para verificar esto, realizar una búsqueda en el log, sobre el nombre del
+ archivo, y ubicarse en el sector donde se indica el comienzo del procesamiento
+ del mismo con ¨
 \family typewriter 
 Inicio proceso de: 199908220733.4515
 \family default 
 ¨.
 \layout Paragraph
 
-Archivo 200412010000.6666
+Archivo 
+\family typewriter 
+200412010000.6666
 \layout Paragraph
 
 
@@ -1402,20 +2266,28 @@ Es un archivo de texto el cual pasa el control de Afimonio, pero luego sus
  lineas son descartadas por antifraude y dicho error emitido en el antifraude.log
 \layout Paragraph
 
-Archivo 200223.1234
+Archivo 
+\family typewriter 
+200223.1234
 \layout Paragraph
 
 
 \series medium 
 El nombre del archivo no es conforme al formato de nombre estipulado en
- el TP y el mismo es rechazado de antemano por Afimonio.
+ el TP y el mismo es rechazado de antemano por 
+\family typewriter 
+\series default 
+afimonio
+\family default 
+\series medium 
+.
 \layout Section
 
 Apéndice A
-\layout Standard
+\layout Comment
 
-(Esto deberia ser una hoja aparte que solo diga 1.6 Apéndice A) y las hojas
+Esto deberia ser una hoja aparte que solo diga 1.6 Apéndice A) y las hojas
  posteriores son las páginas 3 en adelante del PDF oficial de la catedra,
  sacando la parte de archivos.
- 3-15 más precisamente es lo que iria).
+ 3-15 más precisamente es lo que iria.
 \the_end