Arquitctura VIVAit Fax
Producto: | VIVAit Fax 3.0 |
---|
Sumario
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:
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
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
3.2 Envío de fax mediante Impresora VIVA Fax
3.3 Recepción de Fax
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:
4.2 Faxes salientes por Impresora Virtual
Los estados de los faxes salientes por Impresora Virtual son :
4.3 Faxes Entrantes
5 Estructuras de base de datos
5.1 Base de datos servidor VIVA Fax
Nombre Campo |
Tipo | Descripción |
---|---|---|
ID | INTEGER | |
DDI | VARCHAR(9) | |
VARCHAR(255) | ||
RESPONSABLE | VARCHAR(15) | |
EXTENSION | VARCHAR(6) | |
UBICACION | VARCHAR(30) | |
PORTADA | VARCHAR(255) |
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) | |
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) |
Nombre Campo |
Tipo | Descripción |
---|---|---|
ID | INTEGER | |
HOST | VARCHAR(40) | |
DDI | VARCHAR(9) | |
VARCHAR(255) | ||
RESPONSABLE | VARCHAR(15) | |
NOMBRE | VARCHAR(40) | |
HOST_SALIDA | VARCHAR(40) | |
UBICACION | VARCHAR(30) | |
EXTENSION | VARCHAR(6) |
Nombre Campo |
Tipo | Descripción |
---|---|---|
EMPRESA | VARCHAR(200) | |
INSCRIPCION | VARCHAR(200) | |
CIF | VARCHAR(50) | |
GRUPO | VARCHAR(20) | |
PORTADA | VARCHAR(255) |
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) | |
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) |
Nombre Campo |
Tipo | Descripción |
---|---|---|
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) |
Nombre Campo |
Tipo | Descripción |
---|---|---|
VARCHAR(255) | ||
NUM_FAX | VARCHAR(20) |
Nombre Campo |
Tipo | Descripción |
---|---|---|
FAX | VARCHAR(20) | |
TELEFONO | VARCHAR(20) | |
GRUPO | VARCHAR(20) | |
VARCHAR(100) | ||
USU_NOTES | VARCHAR(100) |
5.2 Base de datos servidor Conector de Red
El nombre de la base de datos es TARGET.
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 |
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.
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.
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.