Saltar al contenido principal

Servidor de Aplicaciones IMS de Omnitouch

Servidor de aplicaciones IMS que proporciona servicios completos de aplicaciones de telefonía, incluyendo enrutamiento de llamadas, servicios suplementarios, carga en línea y gestión de suscriptores.

Enlaces Rápidos​

Operaciones y Monitoreo​

Configuración​

  • Guía de Configuración - Referencia completa de configuración para Event Socket, Panel de Control, API, Troncales SIP y Diameter
  • Interfaz Sh - Recuperación de datos de suscriptores desde HSS/Repositorio
  • Bloques de Datos del Repositorio - RepositoryData por documento (MMTel, ODB, personalizado) expuesto como variables de plan de marcado
  • Carga en Línea (Ro) - Integración de OCS y control de crédito
  • SS7 MAP - Consultas de HLR para roaming y desvío de llamadas

Enrutamiento de Llamadas y Servicios​

  • Configuración del Plan de Marcado - Fundamentos del plan de marcado XML, variables y lógica de enrutamiento de llamadas
  • Traducción de Números - Normalización E.164 y traducción específica por país
  • Servicios Suplementarios - Desvío de llamadas, bloqueo de CLI y llamadas de emergencia
  • SRVCC - Continuidad de Llamadas de Voz de Radio Única: esquema de prefijo STN-SR y transferencia de sesión PS a CS
  • Buzón de Voz - Servicio de buzón de voz (depósito/recuperación) con notificaciones SMS, saludos personales, reenvío de mensajes, retención/vencimiento y buzones federados multi-TAS
  • Prompts de TTS - El audio de los prompts se genera en el momento del despliegue por los playbooks de Ansible de Omnicore; OmniTAS solo lo reproduce

Cumplimiento​

Visión General del Procesamiento de Llamadas​

Visión General de Características​

Funcionalidad Principal​

  • Procesamiento de Llamadas Compatible con IMS - Funcionalidad completa del Servidor de Aplicaciones IMS 3GPP
  • Integración de Diameter - Interfaces Sh (datos del suscriptor) y Ro (carga en línea)
  • Gestión de Troncales SIP - Soporte para múltiples puentes con monitoreo y conmutación por error
  • Enrutamiento de Llamadas - Plan de marcado flexible basado en XML con soporte integral de variables
  • Traducción de Números - Normalización E.164 para múltiples países (AU, US, PF, ampliable)

Servicios Suplementarios​

  • Desvío de Llamadas - Todas las variantes (CFA, CFB, CFNRy, CFNRc) con soporte de MMTel-Config
  • Bloqueo de CLI - Retención de ID de llamada basada en prefijos y encabezados SIP
  • Llamadas de Emergencia - Enrutamiento dedicado para servicios de emergencia con omisión de OCS
  • Buzón de Voz - Servicio completo de buzón de voz: depósito, recuperación, notificaciones SMS, saludos personales, reenvío, vencimiento y buzones federados multi-TAS
  • Conferencias IMS - Conferencias multiparte compatibles con 3GPP (RFC 4579, RFC 4575)

Monitoreo y Operaciones​

  • Interfaz Web del Panel de Control - Interfaz de monitoreo integral (HTTPS en el puerto 443)
    • Registros de suscriptores en tiempo real
    • Registros de Detalle de Llamadas con búsqueda avanzada y filtrado
    • Monitoreo de llamadas activas
    • Estado de puentes y pares Diameter
    • Registros del sistema y métricas
    • Herramientas de prueba (Sh, OCS, HLR, Traducción de Números, Simulador de Llamadas)
  • API REST - API documentada en OpenAPI/Swagger para acceso programático (puerto 8444)
  • Métricas de Prometheus - Amplias métricas a través de 3 puntos finales (9094, 9090, 9093)

Puntos de Integración​

  • HSS/Repositorio (Sh) - Recuperación de perfil de suscriptor y MMTel-Config
  • OCS (Ro) - Control de crédito en tiempo real con reautorización periódica
  • HLR (SS7 MAP) - Recuperación de MSRN para suscriptores en roaming
  • SMSc - Notificaciones de buzón de voz y llamadas perdidas
  • OpenAI TTS - Generación dinámica de prompts
  • SBCs/Puentes - Soporte para múltiples troncales SIP

Inicio Rápido​

Estructura de Configuración​

Archivos de Configuración​

Toda la configuración está en config/runtime.exs:

# Event Socket - Interfaz de control de llamadas
config :tas,
fs_event_socket: %{
host: "127.0.0.1",
port: 8021,
secret: "YourSecretPassword"
}

# IPs de origen permitidas para el enrutamiento de llamadas
config :tas,
allowed_sbc_source_ips: ["10.5.198.200"],
allowed_cscf_ips: ["10.8.3.34"]

# Traducción de números
config :tas,
number_translate: %{
country_code: :AU, # :AU, :US, :PF
localAreaCode: "617"
}

# Carga en línea
config :tas,
online_charging: %{
enabled: true,
periodic_ccr_time_seconds: 10,
schedule_hangup_auth: false,
skipped_regex: ["^2222", "^911"] # Omitir OCS para estos destinos
}

# Llamadas de emergencia
config :tas,
emergency_call_codes: ["911", "112", "000", "sos"]

# Buzón de voz (depósito + recuperación impulsado por ESL)
config :tas,
voicemail: %{
timezone: "UTC",
say_language: "fr",
storage_dir: "/usr/local/freeswitch/storage/voicemail",
# prompts omitidos aquí (los prompts de voz se generan mediante TTS a través de :prompts); outbound_socket,
# grabar y menú predeterminado en el código - ver la documentación de Buzón de Voz
# prompts: %{...},
smsc: %{
smsc_url: "https://10.80.14.219:8443",
source_msisdn: "2222"
}
}

Consulta la Guía de Buzón de Voz para la configuración completa y el flujo, y la Guía de Configuración para la referencia completa de parámetros.

Arquitectura de Monitoreo y Acceso​

Puntos de Acceso​

  • Panel de Control: https://your-server-ip/ (configurado en config/runtime.exs)
  • API REST: https://your-server-ip:8444/api/swaggerui
  • Métricas de Prometheus:
    • http://your-server-ip:9094/metrics (motor TAS, Diameter, OCS, HLR)
    • http://your-server-ip:9090/metrics (Sistema, puentes, núcleo de telefonía)
    • http://your-server-ip:9093/esl?module=default (calidad de medios RTP/RTCP)

Plantillas de Plan de Marcado​

Las plantillas XML del plan de marcado se encuentran en priv/templates/:

  • mo_dialplan.xml - Llamadas Originadas Móvil
  • mt_dialplan.xml - Llamadas Terminadas Móvil
  • mo_emergency_dialplan.xml - Llamadas de Emergencia

Consulta Configuración del Plan de Marcado para la documentación detallada del plan de marcado.

Estructura de Documentación​

Este README proporciona una visión general de alto nivel. La documentación detallada está organizada por tema:

Por Rol​

Operadores & Administradores:

  1. Comienza con Guía de Operaciones para monitoreo y tareas diarias
  2. Revisa Referencia de Métricas para configurar monitoreo y alertas
  3. Utiliza el Panel de Control en https://your-server-ip/ para tareas operativas

Integradores de Sistemas & Ingenieros:

  1. Comienza con Guía de Configuración para la configuración del sistema
  2. Revisa Configuración del Plan de Marcado para la lógica de enrutamiento de llamadas
  3. Configura interfaces: Interfaz Sh, Carga en Línea, SS7 MAP
  4. Implementa servicios: Servicios Suplementarios, Buzón de Voz

Desarrolladores:

  1. Revisa la documentación de la API REST (OpenAPI/Swagger)
  2. Consulta Referencia de Métricas para la integración de Prometheus
  3. Revisa Guía de Configuración para la configuración de la API

Por Tema​

Procesamiento de Llamadas:

Datos del Suscriptor:

Configuración del Sistema:

Servicios de Valor Añadido:

Requisitos del Sistema​

Requisitos​

  • Runtime de Elixir/OTP
  • PostgreSQL o SQLite para almacenamiento de CDR
  • Acceso al Núcleo IMS (S-CSCF)
  • Conectividad de red a:
    • DRA/HSS (Diameter: Sh y opcionalmente Ro)
    • Puentes/SBCs SIP
    • Opcional: Puente MAP SS7, SMSc, API de OpenAI TTS

Soporte y Documentación​

  • Problemas y Solicitudes de Funciones: Contacta a tu ingeniero de integración
  • Métricas y Monitoreo: Consulta docs/metrics.md
  • Documentación de API: Accede a Swagger UI en https://your-server-ip:8444/api/swaggerui
  • Panel de Control: Accede en https://your-server-ip/

Licencia​

Propietaria - Omnitouch Systems