OmniMessage IMS Frontend
Camada de transporte SIP para OmniMessage - lida com a entrada e saída de mensagens em redes IMS
O que Faz
Este é um frontend SIP leve que atua como uma camada de transporte entre redes IMS e o backend OmniMessage. Todo o processamento de mensagens, lógica de roteamento e lógica de negócios é tratado pelo OmniMessage - este frontend simplesmente:
- Recebe mensagens SIP REGISTER e encaminha dados de assinantes para o OmniMessage
- Recebe SMS Originados em Dispositivos Móveis (MO) via SIP MESSAGE e encaminha para o OmniMessage
- Recupera SMS Terminados em Dispositivos Móveis (MT) do OmniMessage e envia via SIP MESSAGE
- Relata o status de entrega de volta ao OmniMessage
- Lida com detalhes do protocolo SIP (cabeçalhos, confirmações, etc.)
Arquitetura
O frontend IMS consiste em dois componentes principais:
Manipulação do protocolo SIP:
- SIP REGISTER - Extrai dados do assinante e encaminha para o OmniMessage
- SIP MESSAGE - Recebe SMS MO e encaminha para o OmniMessage
- SIP MESSAGE - Envia SMS MT do OmniMessage para os assinantes
- SIP NOTIFY - Lida com notificações de eventos
- Respostas UAC - Captura confirmações de entrega e encaminha para o OmniMessage
Camada de transporte do backend OmniMessage:
insert_location()- Envia dados de registro do assinante para o OmniMessageinsert_message()- Envia mensagens MO recebidas para o OmniMessageget_queue()- Recupera mensagens MT pendentes do OmniMessageprocess_message()- Envia atualizações de status de entrega para o OmniMessagefrontend_register()- Registra este frontend com o OmniMessage
Todo o processamento de mensagens, decisões de roteamento, enfileiramento, armazenamento e lógica de negócios ocorre no OmniMessage. Este frontend é puramente um adaptador de transporte SIP.
Configuração
Toda a configuração é armazenada no arquivo config.yaml.
Parâmetros de Configuração
api_base_url - URL base para a API do backend OmniMessage
- Formato:
https://hostname:port - Exemplo:
https://10.5.198.200:8443 - Usado para todas as chamadas da API do backend (insert_location, insert_message, get_queue, etc.)
location - Identificador para esta instância do frontend IMS
- Formato: identificador no estilo FQDN
- Exemplo:
smsc01.mnc001.mcc001.3gppnetwork.org - Usado para identificar este frontend no sistema backend
- Deve ser único entre todos os frontends
s_cscf_sip_uri - URI SIP S-CSCF para roteamento de mensagens (opcional)
- Formato:
sip:hostname:port - Exemplo:
sip:127.0.0.2:5060 - Se definido, todas as mensagens SIP MESSAGE de saída são roteadas através deste S-CSCF
- Se não definido, as mensagens são roteadas diretamente para o domínio IMS
ims_domain - domínio IMS para roteamento de assinantes
- Formato: nome do domínio IMS
- Exemplo:
ims.mnc001.mcc001.3gppnetwork.org - Usado para construir URIs SIP para endereçamento de assinantes
- Usado quando s_cscf_sip_uri não está configurado