Arquitctura VIVAit Fax

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda
Producto: VIVAit Fax 3.0

1 Introducción

A continuación se describe la arquitectura general del sistema VIVA Fax de MDtel.

2 Arquitectura General

La arquitectura general del sistema es la reflejada en la figura siguiente:

Estructura General.png

2.1 VIVA Fax in a box

Si bien existen dos máquinas, no necesariamente existirán dos servidores físicos; las implantaciones más típicas pasarán por:

1. Instalación en entorno de virtualización del cliente (deberá proporcionar dos máquinas virtuales)

2. Instalación en hardware proporcionado por MDtel, en modo “VIVA Fax in a box”, según figura siguiente

Vivafax inabox.png

3. Específica de cliente, desarrollada ad hoc para proyecto específico

A efectos de alta redundancia en el servicio, es especialmente aconsejable que cada plataforma VIVAit Fax implantada (teniendo en cuenta que en alta disponibilidad existirán dos plataformas, una principal y otra de respaldo) siga esta arquitectura, residiendo ambas máquinas virtuales en el mismo hardware físico.

2.2 Usuario

  • El usuario de Viva Fax:
  • Tiene capacidad de enviar faxes por email, típicamente enviando un correo a numero_fax@fax.cliente.es; el fax enviado será siempre un documento adjunto que el usuario haya incluido en el email
  • Tiene capacidad de enviar faxes mediante impresora virtual Viva Fax (requiere instalación en puesto de trabajo)
  • Recibe faxes mediante email (si es un receptor programado)
  • Recibe información sobre faxes enviados (por cualquiera de los dos canales) por email

2.3 Servidor Email del cliente

  • El servidor de email del cliente:
  • Deberá reenviar los correos (para faxes salientes) con destino “@fax.cliente.es” al servidor HMail server del servidor Viva Fax
  • Recibe correos con destino el usuario para faxes entrantes
  • Recibe correos con destino el usuario para notificaciones de faxes salientes

2.4 Servidor VIVA Fax

Es el “corazón” del servicio, se encarga de todos los procesos principales


  • Sus principales componentes son:


*Hmail server: Servidor de correo electrónico que gestiona los correos entrantes (que serán faxes salientes). En el Hmail server se establecen reglas que permiten descartar correos no válidos (para evitar spam o envios no autorizados) y se catalogan los correos (para entornos multi tenant
*Base de datos Firebird: Gestiona el estado de todos los envios y recepciones; los distintos procesos examinan el estado de cada registro y lo actualizan tras realizar sus correspondientes procesos
*Aplicaciones de apertura de ficheros adjuntos: Para poder interpretar los diferentes formatos (pdf, txt, doc, xls, ppt…) deberán existir las correspondientes aplicaciones
*Vigilante: Proceso que se encarga de que todos los procesos importantes del servidor se encuentren arrancados; caso de que alguno haya caido lo rearranca
*Viva Fax correo: Gestiona los correos recibidos por Hmail server, extrayendo el documento adjunto y enviando el mismo a la impresora Viva Fax
*Impresora Viva Fax: Activada por Viva Fax correo, convierte el fichero que se adjunto a apf y posteriormente a pdf (mediante pdfconverter)
*Viva Fax Servidor:
- Recibe los faxes entrantes (se conecta a MySQL de conector de red para determinar si hay nuevos faxes y descargándoselos por SCP)
- Sube los faxes salientes al conector de red

2.5 Conector de Red

Servidor basado en:

  • Ubuntu 12.04
  • Asterisk 11
  • MySQL
  • Librerias DAHDI y Libpri
  • Fax SpanDSP (sustituye a “HylaFax en arquitectura antigua)
  • Webservice de comunicación con servidor Viva Fax

Proporciona conectividad a la red telefónica mediante cualquier acceso:

  • Accesos RDSI básicos o primarios mediantes tarjetas Digium o Gateways
  • Accesos IP (trunk SIP)

Se ha comprobado el correcto funcionamiento del protocolo T.38 para gestión de faxes vía IP

El conector de red se comunica con el servidor Viva Fax, siendo en general elemento pasivo del mismo…es el servidor Viva Fax el que consulta, copia, usa el WebService…

3 Casos

3.1 Envío de fax por Email

CASO ENVIOFAXPOREMAIL.png

3.2 Envío de fax mediante Impresora VIVA Fax

CASO ENVIOFAX2.png

3.3 Recepción de Fax

RECEPCION FAX.png


4 Diagramas de estados servidor VIVA Fax

4.1 Faxes salientes por Email

El diagrama de estados de faxes salientes por Email es el que se muestra a continuación:

Saliente por email2.png

4.2 Faxes salientes por Impresora Virtual

Los estados de los faxes salientes por Impresora Virtual son :

Saliente por impresora2.png

4.3 Faxes Entrantes

Faxes entrantes3.png

5 Estructuras de base de datos

5.1 Base de datos servidor VIVA Fax

TABLA ENVIADORES
Nombre
Campo
Tipo Descripción
ID INTEGER
DDI VARCHAR(9)
EMAIL VARCHAR(255)
RESPONSABLE VARCHAR(15)
EXTENSION VARCHAR(6)
UBICACION VARCHAR(30)
PORTADA VARCHAR(255)
TABLA FAXES
Nombre
Campo
Tipo Descripción
ID INTEGER
FECHA_INI
FECHA_LLAM_INI
FECHA_LLAM_FIN
SALIENTE SMALLINT
FICHERO VARCHAR(255)
ESTADO INTEGER
RESULTADO INTEGER
INTENTOS INTEGER
ORIGEN VARCHAR(20)
DESTINO VARCHAR(20)
ID_REMOTO VARCHAR(20)
PAGINAS INTEGER
CANAL INTEGER
BPS INTEGER
ECM SMALLINT
IMP_IMPRESORA VARCHAR(40)
IMP_ORIENTACION_VERTICA Smallint
IMP_CABECERA VARCHAR(20)
IMP_PIE VARCHAR(20)
IMP_MULTIPAGINA SMALLINT
IMP_AJUSTAR SMALLINT
CLIENTE VARCHAR(20)
EMAIL VARCHAR(255)
APLICACION VARCHAR(20)
FECHA_NOTIFICACION
PAGINAS_ENVIADAS INTEGER
TAMANIO INTEGER
ASUNTO VARCHAR(100)
DESTINATARIO VARCHAR(100)
CONFIRMACION SMALLINT
PORTADA VARCHAR(255)
REMITENTE VARCHAR(100)
FICHERO_ORIGINAL VARCHAR(255)


TABLA GATEWAYS
Nombre
Campo
Tipo Descripción
ID INTEGER
HOST VARCHAR(40)
DDI VARCHAR(9)
EMAIL VARCHAR(255)
RESPONSABLE VARCHAR(15)
NOMBRE VARCHAR(40)
HOST_SALIDA VARCHAR(40)
UBICACION VARCHAR(30)
EXTENSION VARCHAR(6)
TABLA GRUPOS
Nombre
Campo
Tipo Descripción
EMPRESA VARCHAR(200)
INSCRIPCION VARCHAR(200)
CIF VARCHAR(50)
GRUPO VARCHAR(20)
PORTADA VARCHAR(255)
TABLA H_FAXES
Nombre
Campo
Tipo Descripción
ID INTEGER
FECHA_INI TIMESTAMP
FECHA_LLAM_INI TIMESTAMP
FECHA_LLAM_FIN TIMESTAMP
SALIENTE SMALLINT
FICHERO VARCHAR(255)
ESTADO INTEGER
RESULTADO INTEGER
INTENTOS INTEGER
ORIGEN VARCHAR(20)
DESTINO VARCHAR(20)
ID_REMOTO VARCHAR(20)
PAGINAS INTEGER
CANAL INTEGER
ESTADO INTEGER
BPS INTEGER
ECM SMALLINT
IMP_IMPRESORA VARCHAR(40)
IMP_ORIENTACION_VERTICAL SMALLINT
IMP_CABECERA VARCHAR(20)
IMP_PIE VARCHAR(20)
IMP_MULTIPAGINA SMALLINT
IMP_AJUSTAR SMALLINT
CLIENTE VARCHAR(20)
EMAIL VARCHAR(255)
APLICACION VARCHAR(20)
FECHA_NOTIFICACION
PAGINAS_ENVIADAS INTEGER
TAMANIO INTEGER
ASUNTO VARCHAR(100)
DESTINATARIO VARCHAR(100)
CONFIRMACION SMALLINT
PORTADA VARCHAR(255)
REMITENTE VARCHAR(100)
FICHERO_ORIGINAL VARCHAR(255)


TABLA RECEPTORES
Nombre
Campo
Tipo Descripción
EMAIL VARCHAR(255)
EXTENSION VARCHAR(20)
TELEFONO VARCHAR(20)
CLIENTE VARCHAR(20)
IMP_IMPRESORA VARCHAR(40)
IMP_AJUSTAR VARCHAR(6)
IMP_MULTIPAGINA VARCHAR(6)
IMP_ORIENTACION_VERTICAL VARCHAR(10)
IMP_CABECERA VARCHAR(100)
IMP_PIE VARCHAR(100)
TABLA REMITES_CONOCIDOS
Nombre
Campo
Tipo Descripción
EMAIL VARCHAR(255)
NUM_FAX VARCHAR(20)
TABLA USUARIOS
Nombre
Campo
Tipo Descripción
FAX VARCHAR(20)
TELEFONO VARCHAR(20)
GRUPO VARCHAR(20)
EMAIL VARCHAR(100)
USU_NOTES VARCHAR(100)

5.2 Base de datos servidor Conector de Red

El nombre de la base de datos es TARGET.

TABLA FAXLOG
Nombre
Campo
Tipo Descripción
Id int(11) Id de la tabla; es clave
call_date varchar(8) Fecha de inicio
duracion int(11) Duración
usuario varchar(100) Sin uso
ani varchar(25) Número llamante; en función de si es fax entrante o saliente será un número de fax del cliente o un número de fax remoto
dnis varchar(25) Número llamado; en función de si es fax entrante o saliente será un número de fax del cliente o un número de fax remoto
jobid varchar(20) Id de trabajo; uso interno
paginas int(11) Número de páginas del fax
tipo varchar(20) Enviado o recibido (ENV o RECV)
archivo varchar(100) Ruta completa incluido nombre del fichero

Ej “/var/spool/vivafax/recibidos/nombre.pdf”

procesado smallint(6) Indica si el servidor Viva Fax ya ha procesado el fax (sea entrante o saliente)

0 -> Pendiente de procesar
1 -> Procesado

faxstatus varchar(100) ¿SIEMPRE NULL????!!!!!!!!!!!!!!!!!!


NOTA.-Los registros de esta tabla son borrados por Viva Fax una vez que procesa cada fax, razón por la cual será normal verla vacía o con muy pocas entradas; no sirve para examinar información de histórico.

6 Mecanismos de redundancia

Los mecanismos de redundancia disponibles son de sencilla implementación y pasan por:

  • A nivel de plataforma VIVAit Fax, será necesario implantar dos plataformas, que de hecho estarán en todo momento operativas y funcionando, y sobre las que se podría establecer balanceo de carga.
  • A nivel de conexión con el servidor de correo del cliente para faxes salientes, será necesario configurar dos registros MX, en los que controlando la prioridad dirigiremos los faxes a una plataforma o a la otra.
  • A nivel de conexión con el operador de faxes entrantes, será necesario que éste enrute los faxes a la plataforma de respaldo en caso de caída de la plataforma principal.

6.1 Redundancia para faxes entrantes

El siguiente esquema muestra el funcionamiento del sistema de redundancia para faxes entrantes.

Redundancia VIVAFax ENTRANTES -1.png

El operador enrutará por defecto los faxes entrantes al conector de red de la plataforma principal; en caso de fallo en la conexión con éste (ya sea accesos RDSI PRI, trunk SIP ...) el operador gestionará el envío de los faxes al conector de red de la plataforma alternativa.

En caso de fallo del servidor de la plataforma principal, los mensajes seguirán llegando al conector de red principal, y quedarán almacenados hasta recuperar la disponibilidad del servidor, no perdiéndose en ningún caso; adoptando la topología "VIVAit Fax in a box" indicada anteriormente se minimiza la posibilidad de existencia de esta casuística.

6.2 Redundancia para faxes salientes

El siguiente esquema muestra el funcionamiento del sistema de redundancia para faxes salientes.

Redundancia VIVAFax SALIENTES .png

El registro MX para correo electrónico gestionará el envío de los correos electrónicos al servidor de la plataforma principal; en caso de fallo de éste se enviarán al servidor de la plataforma alternativa.

En caso de fallo del Conector de red de la plataforma principal, los mensajes seguirán llegando al servidor principal, y qedarán almacenados hasta recuperar la disponibilidad del conector de red, no perdiéndose en ningún caso; adoptando la topología "VIVAit Fax in a box" indicada anteriormente se minimiza la posibilidad de existencia de esta casuística.