Roteamento de SMS
Com o Ozeki SMS Gateway, você pode configurar múltiplas conexões de rede móvel para enviar mensagens SMS. Para controlar qual conexão é usada para enviar um SMS para a rede móvel, você pode usar o roteamento de SMS.
Introdução ao roteamento de SMSEste documento fornece uma introdução ao roteamento de SMS. Ele aborda os conceitos básicos do procedimento de roteamento de SMS no Ozeki SMS Gateway. Você aprenderá sobre a tabela de roteamento; descobrirá o que é uma regra de roteamento e verá exemplos simples de roteamento. Exemplos mais avançados e mais informações estão disponíveis no guia de roteamento de SMS para provedores de serviços SMS, no guia sobre como copiar e encaminhar mensagens SMS para múltiplos destinos e no guia de roteamento de SMS de menor custo. Se desejar modificar os números de telefone e o texto das mensagens durante a leitura, visite a página sobre como modificar uma mensagem SMS em tempo real.
O que é roteamento de SMS?O roteamento de SMS é o procedimento usado pelo Ozeki SMS Gateway para decidir para onde uma mensagem de texto SMS deve ser encaminhada. O roteamento de SMS é baseado em correspondência de padrões e permite a modificação de mensagens. Soluções de roteamento de SMS são usadas por provedores de serviços SMS e grandes organizações.
Roteamento de SMS simples: Direcione facilmente mensagens SMS para destinos desejados usando regras de roteamento diretas. Otimize a entrega de mensagens com configuração mínima.
Roteamento de SMS de menor custo: Maximize a economia de custos roteando inteligentemente mensagens SMS pelos canais mais baratos disponíveis. Reduza os custos de SMS sem comprometer a entrega.
Roteamento de SMS de backup: Garanta um serviço de SMS ininterrupto com roteamento de backup confiável. Mantenha alta disponibilidade e evite perda de mensagens em caso de falhas no canal primário.
Balanceamento de carga com roteamento de SMS: Distribua o tráfego de SMS uniformemente por múltiplos canais para evitar sobrecarga e melhorar o desempenho. Aumente a estabilidade e a responsividade do sistema.
Bloqueio de mensagens SMS internacionais: Evite que SMS internacionais indesejados sejam enviados ou que mensagens não solicitadas atinjam seu sistema. Proteja-se contra spam, fraudes e cobranças excessivas.
Atribuir números de telefone de usuário a rotas: Gerencie eficientemente números de telefone de usuários atribuindo-os a rotas específicas de SMS. Otimize o roteamento de envio e recebimento de SMS e melhore a experiência do cliente.
Para configurar o roteamento de SMS, você precisa iniciar o Aplicativo Ozeki SMS e abrir a tabela de roteamento clicando no botão "Rotas" na barra de ferramentas.
Para configurar o roteamento de SMS, siga estes passos rápidos:
- Abra o Ozeki SMS Gateway no desktop do Windows
- Faça login com o nome de usuário "admin"
- Abra o aplicativo SMS Gateway
- Encontre a barra de ferramentas no topo
- Encontre o botão "Rotas" na barra de ferramentas
- Clique no botão "Rotas" na barra de ferramentas
- Isso abrirá a tabela de roteamento
- Clique em criar nova rota para criar uma rota de SMS
- Preencha o formulário de criação de rota
- Clique em OK para criar a nova rota
- Use as setas vermelhas e verdes para posicionar a regra
O roteamento atribui um "Para conexão" à mensagem. Em outras palavras, ele seleciona a conexão de destino para onde a mensagem deve ser encaminhada. No Ozeki SMS Gateway, tudo é uma "Conexão". Uma conexão é um ponto final de mensagens, que pode enviar e receber uma mensagem. Embora as conexões sejam exibidas em grupos (ex.: usuários de SMS, links de rede móvel, etc), elas são ainda conexões idênticas quando se trata de roteamento.
O roteamento de SMS é o procedimento usado para decidir para onde uma mensagem SMS deve ser encaminhada. Este procedimento é executado quando uma mensagem de entrada é enviada para a tabela de roteamento (Figura 2). A tabela de roteamento executa o algoritmo de roteamento e retorna uma mensagem de saída, que é idêntica à mensagem de entrada, mas tem um "Para conexão" atribuído a ela. Após o procedimento de roteamento, a mensagem de saída é encaminhada para a "Para conexão".
A tabela de roteamento de SMS consiste em regras de roteamento. Uma regra de roteamento tem uma condição de correspondência, um conjunto de comandos de modificação e um destino. Quando um SMS é enviado, ele é primeiro passado para a tabela de roteamento, onde é comparado com as regras de roteamento. Se uma regra "corresponder" ao SMS, ela executa os modificadores e encaminha a mensagem para o destino. A correspondência é feita com base em condições configuradas, como conexão do remetente, número de telefone do remetente, texto da mensagem, período de serviço, etc. As regras de modificação só são aplicadas se o SMS passar nas condições de correspondência. Se as condições de correspondência não forem atendidas, a próxima regra de roteamento é testada na tabela de roteamento.
Como as regras de roteamento de SMS são executadas?
Para cada mensagem enviada, a tabela de roteamento é executada. A execução é feita de cima para baixo: Se uma regra corresponder ao destino ("Para conexão") é atribuída e o roteamento para. A mensagem é encaminhada para o destino selecionado.
Se você abrir a tela inicial, verá duas visualizações da tabela de roteamento principal. No topo, você encontrará uma tabela filtrada, que exibe apenas as "rotas de entrada", e na parte inferior, você verá uma tabela filtrada que exibe apenas as "rotas de saída". Na prática, chamamos uma rota de rota de entrada se a "De conexão" for classificada como uma conexão de rede SMS. Todo o resto é uma rota de saída.
Essa distinção é feita porque a maioria dos usuários pensa em termos de rotas de entrada e saída. Embora não haja diferença entre essas regras no sistema de roteamento Ozeki, é melhor apresentar a tabela de roteamento dessa forma. As pessoas entendem melhor se as rotas forem organizadas por sua conexão de remetente ("De conexão") em grupos e apenas esses grupos filtrados forem apresentados. Se você quiser se tornar um especialista em roteamento, sempre use a tabela de roteamento principal em vez das visualizações filtradas, pois isso lhe dará uma melhor noção do que acontece com uma determinada mensagem.
Se você quiser criar uma regra de roteamento, abra a tabela de roteamento principal clicando no botão "Rotas" na barra de ferramentas e clique em "Criar nova Rota". Isso abrirá o formulário de criação de rota. Observe as abas "Corresponder" e "Modificar" neste formulário. Essas são as páginas onde você pode definir condições de correspondência e comandos de modificação.
Grandes sistemas de SMS podem ter um número muito grande de conexões. Para simplificar a vida, as conexões "De" e "Para" oferecidas são filtradas por padrão. Conexões raramente usadas são ocultadas. Isso pode levar ao fato de que você não encontra sua conexão na lista.
Se você não vir a conexão com a qual deseja trabalhar na lista "De" ou "Para", basta clicar no botão Engrenagem na frente da caixa de combinação que contém a lista de conexões. Isso abrirá um diálogo, onde você pode selecionar outros tipos de conexão para serem apresentados na lista.
Antes de mergulharmos em configurações de roteamento complexas, é uma boa ideia entender a tabela de roteamento padrão. Na tabela de roteamento padrão, você verá duas rotas: out_sms e in_admin. A rota out_sms é usada para encaminhar mensagens dos chamados "usuários de SMS" para "conexões SMS". "Conexões SMS" são um grupo de conexões usadas para conectar seu sistema à rede móvel. A rota in_admin é uma regra criada automaticamente para encaminhar uma cópia de cada SMS recebido para o usuário admin. Você pode notar o modo "Cópia" na tabela de roteamento. Mais informações sobre como enviar uma cópia de um SMS para um determinado usuário podem ser encontradas no guia como encaminhar um SMS recebido para múltiplos destinos.
Para entender como a rota out_sms funciona, criamos duas conexões de cliente SMPP para dois operadores de rede móvel diferentes. Chamaremos essas conexões de SMPP_client_1 e SMPP_client_2. (Neste exemplo, não modificaremos a tabela de roteamento padrão). Enviaremos um SMS do usuário admin, clicando no botão "Novo" na barra de ferramentas. Nesta configuração, um SMS do admin será enviado por SMPP_client_1 ou SMPP_client_2. O sistema selecionará aleatoriamente a primeira conexão SMS disponível para a mensagem de saída. A rota usada é a rota "out_sms", que encaminha SMS de "Qualquer_Usuário_SMS" para "Qualquer_Conexão_SMS".
Quando a rota padrão é usada, o SMS enviado pelo admin é encaminhado pela rota chamada "out_sms"
Vale mencionar que essa seleção aleatória de rota não é exatamente aleatória. Na verdade, um algoritmo de balanceamento de carga distribui a carga entre as conexões de rede móvel com capacidade livre, levando em conta a capacidade previamente medida de cada conexão.
Roteamento de SMS por origem (Exemplo 2)
O próximo exemplo mostra como o roteamento de SMS pode ser usado para atribuir um destino fixo a uma origem específica. Em nosso exemplo, queremos que todas as mensagens SMS enviadas por admin sejam enviadas pelo SMPP_Client_1. Essa configuração é muito usada, pois muitas vezes é necessário que um usuário sempre utilize uma conexão específica de rede móvel. Para alcançar isso, podemos criar uma rota simples de origem para destino.
Para demonstrar como essa configuração funciona, podemos usar o mesmo número de conexões do Exemplo 1. Podemos adicionar uma rota extra à nossa tabela de roteamento que encaminhará SMS de admin para SMPP_Client_1. A rota garantirá que um SMS de admin seja forçado a sair pelo SMPP_client_1. Nesta configuração, o SMPP_client_2 não será usado.
Roteamento de SMS por prefixo de número de telefone (Exemplo 3)
O próximo exemplo demonstra como o roteamento de SMS pode ser feito com base em prefixos de números de telefone. Esta é uma tarefa comum, pois muitas vezes você deseja enviar certas mensagens pertencentes a uma rede identificada por um prefixo de número de telefone para uma determinada conexão. Por exemplo, se você deseja rotear SMS destinados à Hungria, você encaminharia mensagens SMS enviadas para o prefixo +36... para a rede Vodafone Hungria. Você também pode configurar uma segunda rota para prefixos +44... para a rede T-Mobile no Reino Unido.
A figura a seguir demonstra como você pode definir um prefixo de número de telefone como uma condição de correspondência. O exemplo usa uma expressão regular do tipo PCRE. Essa expressão é usada para corresponder ao endereço do destinatário ("Para número de telefone") para decidir se a rota deve ser aplicada ou não.
Roteamento de SMS por correspondência completa de número de telefone (Exemplo 4)
Se você possui um conjunto de números de telefone, pode atribuir um número único aos seus clientes ou usuários. Neste caso, você desejará rotear mensagens SMS recebidas enviadas para um número de telefone específico para um usuário específico. O Exemplo 4 mostra a configuração de roteamento para atingir esse objetivo.
Neste exemplo, adicionamos dois usuários HTTP: http_user_1 e http_user_2 que receberão as mensagens recebidas. Um será atribuído ao número de telefone +3633333333, o outro será atribuído ao número de telefone +3644444444. Agora criamos duas rotas com correspondência completa de número de telefone. Essas rotas encaminharão qualquer SMS enviado para esses números de telefone para os usuários apropriados.
Como você pode ver na figura acima, o campo "De" está definido como "Any_SMS_Connection". Isso ocorre porque queremos que todas as mensagens SMS enviadas para o número de telefone +3633333333 sejam roteadas para http_user_1, independentemente de qual conexão SMS elas chegam. O destino ("Para") para esta rota é fixado como http_user_1. Se você olhar para a figura abaixo, verá que, neste caso, especificamos o número de telefone completo na condição de correspondência do destinatário. Observe que não colocamos a barra (/) antes e depois do número de telefone. Isso ocorre porque não realizamos uma correspondência de padrão de expressão regular neste caso. Simplesmente fazemos uma comparação rigorosa do número de telefone.
A configuração para o usuário HTTP 2 é muito semelhante. A diferença está no campo de destino ("Para") e no número de telefone colocado na caixa de grupo "Endereço para" na página da guia "Correspondência" da regra de roteamento. Você também pode notar que essas duas rotas serão chamadas de route_3 e route_4.
Se você trabalha com muitas rotas, é uma boa ideia adicionar nomes significativos às rotas, para que você possa identificá-las rapidamente. Existem nomes melhores do que os padrões route_3 ou route_4 usados neste exemplo.
Roteamento de SMS por palavras-chave (Exemplo 5)
O próximo exemplo trata do roteamento de SMS com base em palavras-chave no texto da mensagem. Esse recurso é frequentemente usado em jogos de quiz, votação por SMS ou serviços de busca de conteúdo baseados em palavras-chave. Neste exemplo, roteamos qualquer SMS vindo de Any_SMS_Connection contendo a palavra "vote" para o usuário HTTP 2.
Ao olhar para a próxima figura, você pode notar que usamos correspondência de expressão regular. Neste padrão de expressão regular (também chamado de padrão regex), colocamos um padrão .* antes e depois da palavra. Isso informa ao mecanismo regex que a palavra-chave "vote" pode estar em qualquer lugar nas mensagens. Esta condição corresponderá aos seguintes textos de SMS: "Olá, aqui está meu voto: vermelho" ou "vote vermelho" ou "Eu não estou votando".
Você também pode considerar inserir o modificador de não diferenciação de maiúsculas e minúsculas chamado "i", que significa ignorar maiúsculas e minúsculas, se você espera que a palavra-chave seja enviada em letras minúsculas ou maiúsculas. O padrão "/.*vote.*/i" corresponderia a "vote", "Vote", "VOTE" ou "vOtE".
Roteamento de SMS por correspondência de texto e período de tempo (Exemplo 6)
É útil saber que também existe uma condição de correspondência de período de serviço disponível, que pode ser usada para limitar o tempo de vida desta regra. Esta combinação: correspondência de palavra-chave de texto e período de serviço são frequentemente usados juntos para serviços de conteúdo SMS que operam por um determinado período de tempo. Neste exemplo, roteamos qualquer SMS vindo de Any_SMS_Connection contendo a palavra "vote" entre 2021-04-01 00:000:00 e 2021-04-30 24:00:00 para o usuário HTTP 2.
Se você deseja testar o roteamento de SMS sem realmente encaminhar mensagens SMS para a rede móvel, você pode configurar uma conexão simulador SMPP. Um simulador SMPP pode atuar como um servidor SMPP virtual, que aceita mensagens SMS enviadas através de um link SMPP e pode simular relatórios de entrega de SMS.
Leitura adicional sobre comandos de modificação de SMSOs exemplos acima demonstraram condições de correspondência de SMS. Outra forte característica é chamada de modificação de SMS durante o roteamento. A ideia é que uma vez que um SMS é correspondido a uma regra, o SMS pode ser modificado. Este recurso é muito útil, porque não só permite que você tenha controle sobre todas as mensagens que passam pelo seu sistema, mas você também pode corrigir certos erros, como numeração de destino incorreta, ou você pode colocar na lista negra certos conteúdos inaceitáveis. Os seguintes documentos fornecem informações sobre como modificar o conteúdo de SMS.
- Como modificar os destinatários de SMS no roteamento de SMS
- Como enviar cópias de um SMS para vários números de telefone com roteamento de SMS
- Como alterar o ID do remetente de SMS com roteamento de SMS
- Como alterar o texto de SMS com roteamento de SMS
- Como adicionar texto ao final do SMS com roteamento de SMS
- Como trocar o remetente e o destinatário com roteamento de SMS
Um sistema de SMS que pode enviar e receber mensagens SMS.
No mundo do SMS, um sistema bidirecional permite que você tenha uma conversa com
usuários móveis. Você pode enviar mensagens para eles, e eles podem responder de volta para você
através do mesmo sistema.
Não, isso não é possível.
Imagine uma conversa onde você só pode enviar uma frase por vez, sem
memória do que veio antes. Esse é o mundo do SMS!
- Conexões Perdidas: O protocolo SMS não tem um recurso integrado como um "ID de conversa" para vincular mensagens. Cada texto é tratado como uma mensagem única e independente.
- Pistas de Palavras-Chave: A única maneira de potencialmente conectar respostas a mensagens anteriores é incluindo palavras-chave no próprio texto da mensagem. Essas palavras-chave atuariam como pontos de referência para vincular as mensagens.
- Solução Alternativa de Código Longo (apenas SMS IP): Para quem usa conexões SMS IP com um provedor de serviços que suporta códigos longos (números de remetente especiais com mais dígitos), há um truque potencial. Você pode codificar dígitos extras dentro do número do remetente para identificar a mensagem original. No entanto, isso depende de condições específicas e capacidades do provedor de serviços.
Para confiabilidade ideal, considere configurar várias conexões de provedores de serviços SMS
dentro do seu sistema. Cada conexão terá um nome designado para fácil
referência na tabela de roteamento de saída.
A tabela de roteamento de saída atua como seu centro de controle. Aqui, você define
rotas de saída especificando qual conexão irá lidar com cada mensagem.
Para aumentar a confiabilidade, utilize pelo menos duas conexões. Uma combinação, como uma
conexão SMS IP e uma conexão de modem GSM, oferece uma solução poderosa.
Configure o modem GSM como um backup para a conexão SMS IP na tabela de
roteamento de saída.
Se a conexão SMS IP falhar, a tabela de roteamento de saída automaticamente
redireciona as mensagens para o modem GSM. Isso garante a entrega ininterrupta de mensagens,
maximizando a confiabilidade do sistema.
Existe alguma maneira de saber se uma mensagem SMS recebida é uma resposta à minha mensagem anterior?
Infelizmente, a própria tecnologia SMS não oferece uma maneira integrada de identificar se uma mensagem recebida é uma resposta a um SMS enviado anteriormente. Isso torna difícil vincular respostas de forma definitiva.
Aqui estão algumas abordagens que você pode considerar:
- Identificador no Texto da Mensagem: Inclua um identificador único na mensagem original. Isso permite que você possa relacioná-la com a resposta, mas requer cooperação do usuário e não é infalível.
- Correspondência de Timestamp: Compare os horários das mensagens enviadas e recebidas. Embora útil, esse método pode ser impreciso devido a possíveis atrasos.
- Palavras-chave nas Respostas: Incentive os usuários a incluir uma palavra-chave específica em suas respostas. Você pode configurar uma rota de entrada baseada nessa palavra-chave (Condição #3: texto da mensagem) para criar uma associação aproximada com a mensagem original. No entanto, a adesão do usuário é crucial para essa abordagem.
Posso alterar os parâmetros da mensagem durante o roteamento?
Sim, o roteamento de SMS oferece um superpoder surpreendente: a capacidade de editar números de telefone e o conteúdo da mensagem durante o processo de entrega! Isso abre portas para algumas aplicações criativas:
- Aprimoramento de Números: Precisa adicionar um prefixo ou sufixo a um número de telefone? O roteamento pode lidar com isso, garantindo que as chamadas cheguem ao destino correto.
- Publicidade Direcionada: Quer adicionar uma mensagem promocional aos textos enviados? O roteamento permite integrar essas propagandas de forma transparente ao seu fluxo de comunicação existente.