🇪🇸
Omnileads Docs
ComunidadForo
Español
Español
  • 👶Introducción a OMniLeads
    • Características Generales de OMniLeads
    • Arquitectura y componentes
  • 🚀Instalación de OMniLeads
    • Deploy utilizando Docker
      • Deploy en Docker-Destkop
      • Deploy en Docker para VPS Cloud o VM
      • Deploy en Docker para VPS Cloud o VM con Bucket Externo
    • Deploy utilizando Ansible
      • Deploy en AIO (All-In-One)
      • Deploy en AIT (All-In-Three)
      • Deploy en HA (High Availability)
      • Backups, Restores, Upgrades y Rollbacks
      • Migración desde CentOS7
    • OMniLeads Enterprise
    • Deploy en Entornos de Desarrollo
    • First Login
    • Certificados TLS/SSL
    • Monitoreo y Observabilidad
    • Consideraciones de Seguridad
  • ⚙️Configuración inicial
  • 🪪Autenticación LDAP
  • 🎞️Video Llamadas (Pro)
    • Configuración Inicial
    • Wordpress Plugin
    • Webphone Demo
    • Embebiendo el Webphone
  • 🎯CX Survey (Pro)
    • Reportería
  • 📈Reportes Premium (Pro)
    • Reportes de Actividad
    • Analizando Resultados
  • 🔊Text To Speech - TTS (Pro)
  • ☎️Configuración del Canal de Voz
    • Parámetros generales del SIP trunk
  • 🆗Configuración del Canal de Whatsapp (Pro)
    • OMniLeads y GupShup
    • Dar de Alta Whatsapp Business en GupShup
    • Plantillas de Mensajes y Grupos Horarios
    • Proveedores
    • Lineas
  • 🚧Wallboard for Business (Pro)
    • Creación de un Wallboard
    • Agregando Widgets y Páginas "realtime"
    • Explorando Widgets y Métricas
  • 📤Mensajes Masivos (Pro)
    • Creación de Envios
    • Campañas de Turnos
    • Exportación de Resultados
  • 💬Campañas de Contacto
    • Campaña Entrante
      • Enrutamiento de llamadas entrantes
      • Derivación de llamadas entrantes desde la PBX hacia OMniLeads
      • Enrutamiento condicionado por rango de tiempo
      • IVR - Interactive Voice Response
      • Identificación de llamada entrante
      • Ejecución de dialplan personalizado
    • Campaña Manual
    • Campaña Preview
    • Campaña Dialer
    • Campaña de Whatsapp
  • 🎧Manual de agente
    • Login Logout
    • Llamadas manuales desde listado de contactos
    • Llamadas preview
    • Llamadas en dialer
    • Llamadas entrantes
    • Llamadas entre agentes
    • Listado de Contactos
    • Mensajes de Whatsapp
  • 🛑Métricas, grabaciones y supervisión
    • Grabaciones
    • Reportes de campañas entrantes
    • Reportes de campañas salientes
    • Reporte general de llamadas
    • Reportes de agente
    • Reportes de Whatsapp
    • Reportes de Conversaciones
    • Supervisión
  • 📊Auditoría de gestiones
  • ☎️Integración entre OMniLeads y PBXs
  • 🛠️Gestiones del administrador IT
  • 🧩Integración con CRM
    • Interacción desde OMniLeads hacia el CRM
    • Interacción desde el CRM hacia OMniLeads
  • 🔐Consideraciones sobre seguridad
  • 📌OMniLeads RESTful API
    • API de sesión de Agente en Asterisk
  • 🗒️Release Notes
  • ❤️Comunidad
  • 🎇Acerca De
Con tecnología de GitBook
En esta página
  • Migrando OMniLeads desde CentOS-7 🔄
  • Restaurando la información
  • Personalizaciones de Asterisk Dialplan
  1. Instalación de OMniLeads
  2. Deploy utilizando Ansible

Migración desde CentOS7

Migrando OMniLeads desde CentOS-7 🔄

Desde los inicios del Proyecto, las instalaciones se han basado en sistemas operativos CentOS7. Sin embargo, dada su pronta fecha de expiración (end-of-life), el equipo de OMniLeads ha trabajado arduamente para soportar sistemas operativos modernos como Ubuntu Server, Debian Server, Rocky Linux, entre otros.

A partir de la adopción de una Arquitecturas basada en Contenedores y métodos de instalación totalmente automatizados, las tareas de Administración y Mantenimiento IT se han simplificado de manera significativa debido a la clara abstracción de las dependencias de capas subyacentes.

Para lograr una correcta migración desde una instancia OMniLeads en CentOS7 hacia su arquitectura basada en contenedores, es necesario realizar un Fresh Install de OMniLeads sobre otro host (o grupo de hosts según el método de instalación involucrado) asegurando que las variables listadas en el inventory.yml deben tener la necesaria correspondencia con su contraparte en la instancia de CentOS7. A saber:

  • ami_user

  • ami_password

  • postgres_password

  • postgres_database

  • postgres_user

  • dialer_user

  • dialer_password

IMPORTANTE: Para el procedimiento, debemos considerar que la versión de la imágen de Postgres a desplegar con OMniLeads debe ser "omnileads/postgres:230624.01". Por lo tanto, se debe agregar el siguiente cambio en la variable de groupvars_all/all inherente al servicio:

#################### containers img tag  ################################

#postgres_img: docker.io/postgres:14.9-bullseye
postgres_img: docker.io/omnileads/postgres:230624.01

En OMniLeads sobre CentOS7, se debe ejecutar el siguiente comando a los efectos de obtener el backup de archivos correspondientes. Es importante aclarar que el backup resultante será subido al correspondiente Object Storage que la nueva instancia de OMniLeads utilizó en su despliegue "fresh":

export NOMBRE_BACKUP=some_file_name
pg_dump -h ${PGHOST} -p ${PGPORT} -U ${PGUSER} -Fc -b -v -f /tmp/${NOMBRE_BACKUP}.sql -d ${PGDATABASE} --no-acl
export AWS_ACCESS_KEY_ID=$your_new_instance_bucket_key
export AWS_SECRET_ACCESS_KEY=$your_new_instance_bucket_secret_key
export S3_BUCKET_NAME=$your_new_instance_bucket_name

Como hemos visto en la sección de Backups, el objetivo sería poder restaurar los backups de audios personalizados, audios telefónicos, backup de base de datos, etc, sobre el nuevo deploy de OMniLeads.

Para migrar la información a un OMniLeads bajo el método de instalación AIO, exportamos la variable de S3_ENDPOINT como se muestra a continuación:

export S3_ENDPOINT=http://$OML_AIO_IP:9000 

Para el caso de un OMniLeads bajo el método de instalación AIT (cluster), exportamos la variable de S3_ENDPOINT de la siguiente manera:

export S3_ENDPOINT=http://$OML_DATA_IP:9000 

Si en cambio, se decide por utilizar un Object Storage Externo, el dato lo deberemos obtener desde el proveedor correspondiente:

export S3_ENDPOINT=https://$object_storage_url 

Finalmente, procedemos a subir todos los backups desde OMniLeads sobre CentOS7 jacia el Bucket definido en el paso anterior:

aws --endpoint ${S3_ENDPOINT} s3 sync /opt/omnileads/media_root s3://${S3_BUCKET_NAME}/media_root
aws --endpoint ${S3_ENDPOINT} s3 sync /opt/omnileads/asterisk/var/spool/asterisk/monitor/ s3://${S3_BUCKET_NAME}
aws --endpoint ${S3_ENDPOINT} s3 cp /tmp/pgsql-backup-$NOMBRE_BACKUP.sql  s3://${S3_BUCKET_NAME}/backup/

Restaurando la información

debemos modificar los últimos dos parámetros del inventory.yml correspondiente a nuestra carpeta de tenants. Ésto último es necesario para indicar que el bucket no maneja certificados confiables, y para configurar el timestamp del backup a restaurar:

restore_file_timestamp: $NOMBRE_BACKUP 

De esta manera, ejecutando el siguiente script con la action "restore", se procederá a reinstaurar el backup tomado en el paso previo sobre la nueva instancia desplegada y contar asi con un ambiente migrado:

./deploy.sh --action=restore --tenant=<tenant-folder>

Ahora, se debe revertir a la imágen original de Postgres, lo cual implica restabelcer el contenido de group_vars/all a su estado previo:

#################### containers img taf  ################################

postgres_img: docker.io/postgres:14.9-bullseye
#postgres_img: omnileads/postgres:230624.01

Finalmente, ejecutamos el upgrade:

./deploy.sh --action=upgrade --tenant=$your_inventory_folder_name

Personalizaciones de Asterisk Dialplan

OMniLeads se basa en contenedores (imágenes), por lo tanto todo cambio de código efectuado dentro del container es "efímero".

Última actualización hace 1 año

Para dotar al sistema de modificaciones permanentes (dialplan, scripts, configuraciones particulares), se recomienda utilizar imágenes personalizadas. Un ejemplo de cómo lograr dicho objetivo se expone en el siguiente .

Para mayor información, sugerimos visitar la documentación expuesta en el .

🚀
repo
repositorio oficial del proyecto