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, Trunks SIP y Diameter
  • Interfaz Sh - Recuperación de datos de suscriptores desde HSS/Repositorio
  • 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 de Dialplan - Fundamentos de dialplan 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
  • 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/expiración y buzones federados multi-TAS
  • TTS Prompts - Configuración de mensajes de texto a voz

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 Trunks SIP - Soporte para múltiples puertas de enlace con monitoreo y conmutación por error
  • Enrutamiento de Llamadas - Dialplan 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, expiración 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 puertas de enlace 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 en 3 puntos finales (8080, 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 mensajes
  • SBCs/Puertas de Enlace - Soporte para múltiples trunks 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: "Pacific/Tahiti",
say_language: "fr",
storage_dir: "/usr/local/freeswitch/storage/voicemail",
# mensajes omitidos aquí (los mensajes de voz son generados por 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"
}
}

Vea 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:8080/metrics (motor TAS, Diameter, OCS, HLR)
    • http://your-server-ip:9090/metrics (Sistema, puertas de enlace, núcleo de telefonía)
    • http://your-server-ip:9093/esl?module=default (calidad de medios RTP/RTCP)

Plantillas de Dialplan

Las plantillas de dialplan XML 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

Vea la Configuración de Dialplan para la documentación detallada del dialplan.

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. Comience con la Guía de Operaciones para monitoreo y tareas diarias
  2. Revise la Referencia de Métricas para configurar monitoreo y alertas
  3. Use el Panel de Control en https://your-server-ip/ para tareas operativas

Integradores de Sistemas & Ingenieros:

  1. Comience con la Guía de Configuración para la configuración del sistema
  2. Revise la Configuración de Dialplan para la lógica de enrutamiento de llamadas
  3. Configure interfaces: Interfaz Sh, Carga en Línea, SS7 MAP
  4. Implemente servicios: Servicios Suplementarios, Buzón de Voz

Desarrolladores:

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

Por Tema

Procesamiento de Llamadas:

Datos de 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 a IMS Core (S-CSCF)
  • Conectividad de red a:
    • DRA/HSS (Diameter: Sh y opcionalmente Ro)
    • Puertas de Enlace/SBCs SIP
    • Opcional: Puente MAP SS7, SMSc, API de OpenAI TTS

Soporte y Documentación

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

Licencia

Proprietaria - Omnitouch Systems