OmniMessage IMS Frontend
Capa de transporte SIP para OmniMessage - maneja el envío y recepción de mensajes en redes IMS
Qué Hace
Este es un frontend SIP ligero que actúa como una capa de transporte entre redes IMS y el backend de OmniMessage. Todo el procesamiento de mensajes, la lógica de enrutamiento y la lógica de negocio son manejados por OmniMessage - este frontend simplemente:
- Recibe mensajes SIP REGISTER y reenvía los datos del suscriptor a OmniMessage
- Recibe SMS de origen móvil (MO) a través de SIP MESSAGE y reenvía a OmniMessage
- Recupera SMS de terminación móvil (MT) de OmniMessage y envía a través de SIP MESSAGE
- Informa el estado de entrega de vuelta a OmniMessage
- Maneja detalles del protocolo a nivel SIP (encabezados, acuses de recibo, etc.)
Arquitectura
El frontend IMS consta de dos componentes principales:
Manejo del protocolo SIP:
- SIP REGISTER - Extrae datos del suscriptor y los reenvía a OmniMessage
- SIP MESSAGE - Recibe SMS MO y los reenvía a OmniMessage
- SIP MESSAGE - Envía SMS MT de OmniMessage a los suscriptores
- SIP NOTIFY - Maneja notificaciones de eventos
- Respuestas UAC - Captura confirmaciones de entrega y las reenvía a OmniMessage
Capa de transporte del backend de OmniMessage:
insert_location()- Envía datos de registro del suscriptor a OmniMessageinsert_message()- Envía mensajes MO entrantes a OmniMessageget_queue()- Recupera mensajes MT pendientes de OmniMessageprocess_message()- Envía actualizaciones de estado de entrega a OmniMessagefrontend_register()- Registra este frontend con OmniMessage
Todo el procesamiento de mensajes, decisiones de enrutamiento, encolado, almacenamiento y lógica de negocio ocurre en OmniMessage. Este frontend es puramente un adaptador de transporte SIP.
Configuración
Toda la configuración se almacena en el archivo config.yaml.
Parámetros de Configuración
api_base_url - URL base para la API del backend de OmniMessage
- Formato:
https://hostname:port - Ejemplo:
https://10.5.198.200:8443 - Usado para todas las llamadas a la API del backend (insert_location, insert_message, get_queue, etc.)
location - Identificador para esta instancia de frontend IMS
- Formato: Identificador estilo FQDN
- Ejemplo:
smsc01.mnc001.mcc001.3gppnetwork.org - Usado para identificar este frontend en el sistema backend
- Debe ser único entre todos los frontends
s_cscf_sip_uri - URI SIP S-CSCF para enrutar mensajes (opcional)
- Formato:
sip:hostname:port - Ejemplo:
sip:127.0.0.2:5060 - Si se establece, todos los SIP MESSAGE salientes se enrutan a través de este S-CSCF
- Si no se establece, los mensajes se enrutan directamente al dominio IMS
ims_domain - Dominio IMS para el enrutamiento de suscriptores
- Formato: Nombre de dominio IMS
- Ejemplo:
ims.mnc001.mcc001.3gppnetwork.org - Usado para construir URIs SIP para la dirección de suscriptores
- Usado cuando s_cscf_sip_uri no está configurado