Iniciar uma conversa

Como enviar e receber SMS pelo IceWarp Server?

O servidor de SMS do IceWarp Server permite enviar e receber torpedos via Email, usando modem GSM (3G) ou serviço de envio via HTTP (gateway). É extremamente útil para diversas funções, como promoções (recebimento de torpedos), mobile commerce (envio de mala direta via SMS), envio de alertas para monitoramento de servidores, ativação de funções como boot do servidor via SMS, etc.

Antes de mais nada, verifique se sua licença para o módulo SMS não está expirada. Caso esteja expirada, entre em contato com licencas em icewarp.com.br enviando seu license.xml para que possamos fornecer 30 dias de trial.

O sistema opera de duas possíveis formas:

1 - através de modem GSM
2 - através de requests HTTP

Detalharemos como configurar cada cenário, seguido de dicas de como configurar o envio de SMSs e recebimento.

1) Através de modem GSM

No caso de um modem GSM (testado com modems 3G USB da Tim, Claro, Vivo e Oi), configure o mesmo na aba Geral, conforme tela a seguir. Observe que informarmos a porta de comunicação (que pode ser verificada no gerenciador de dispositivo do Windows), escolhemos tipo GSM e definimos também o número do SMS Center (que pode ser visto no software fornecido pela operadora de telefonia, procure por "Centro SMS").

Números do SMS Center são de responsabilidade das operadores e não podemos fornecer garantias quanto à validade dos mesmos.

No caso da TIM, seguem alguns SMS Centers por região:

TSP - +551181138200 - Todo Estado de SP
TRJ - +552181138200 - Estados Do RJ e ES
TNO - +559181119200 - Estados do AM, PA, MA, AP e RR
TCO - +556181136200 - Estados do AC, TO, GO, DF, MS, MT e RO
TRS - +555181136200 - Todo o Estado do RS
TSL - +554199138200 - PR, SC e Pelotas (RS)
TLE - +553191938200 - MG, BA e SE
TNE - +558199238200 - CE, RN, AL, PE, e PI

No caso da OI, temos o SMS Center: +550310000010

No caso da Vivo, SMS Center: +550101102010



Vale ressaltar a importância de manter o software da operadora de telefonia desativado, para evitar conflito.

Na tela acima, note que cada gateway tem seu ID, que pode ser referenciado via URL para enviar mensagens através de um gateway específico, ou atrelar, nas propriedades da conta de um usuário, qual gateway ele deve usar (com controle de quantos torpedos cada conta enviou). Você pode, ainda, fixar o FROM, para garantir replies.

2) Através de requests HTTP

É possível utilizar serviços como Clickatell para o envio de torpedos, ou até fazer com que um IceWarp Server encaminhe mensagens para outro servidor IceWarp que possua um modem GSM acoplado.

Veja whitepaper (em inglês) sobre como configurar o gateway da Clickatell no IceWarp Server. Você pode obter uma conta de avaliação na maioria dos sistemas como Clickatell e configurar a chamada no IceWarp, em Serviço SMS / guia Geral / botão Adicionar, além é claro, do usuário ter o serviço SMS ativado em sua conta (o que deve ocorrer por padrão devido ao fato do Modo de acesso estar definido por default para Todas contas).

A sintaxe comumente usada é:

http://api.clickatell.com/http/sendmsg?user=usuario&password=senha&api_id=xxxx&to=%number%&data=%data%&concat=%parts%

Claro, necessário adaptar os devidos campos (user, password e api_id), conforme orientação do Whitepaper.

Atenção: Notamos que o serviço padrão da Clickatell costuma enfrentar problemas para enviar SMSs apenas para celulares Nextel, assim como números que tenham sido portados (alterado a operadora e mantido mesmo número). Há uma solução, entretanto, que envolve solicitar à Clickatell um profile especial que consegue enviar SMSs para Nextel, além das demais operadores. O custo é um pouco mais alto, de aproximadamente 2 créditos (cerca de US$ 0,12 por SMS). Solicite algo como "I requested special profile for ported numbers in Brazil, that is able to send SMSs to Nextel devices".

Uma ótima opção, por nós recomendada, é a SMS Cel (http://www.smscel.com.br), empresa nacional que não tem problemas para realizar envios para qualquer operadora, incluindo Nextel. Caso haja interesse, favor abrir um chamado juntoa o suporte IceWarp, a fim de colocarmos você em contato com os responsáveis por tal sistema, garantindo um período de avaliação e suporte personalizado.

A sintaxe do gateway via SMS Cel fica da seguinte forma:

http://web.smscel.com.br/sms/painel/models/getsmscparty.php?user=usuario@dominio.com.br&password=sua_senha&codpessoa=xxxx&to=%number%&msg=%data%&enviarimediato=S

Bastando substitur os campos user, password e codpessoa, conforme valores recebidos pela operadora.

Ressaltamos a importância de não realizar o chamado spam, envio de SMSs para pessoas que não autorizaram tal envio, o que pode lhe causar sérios problemas.

Temos também clientes usando diversas outras operadoras, como Human e Mobile Pronto. Veja as respectivas sintaxes.

* MobiPronto

http://www.mpgateway.com/v_2_00/smspush/enviasms.aspx?Credencial=xxxx&Principal_User=yyyy&Aux_User=F1&Mobile=%number%&Send_Project=N&Message=%data%

* Zenvia (antiga Human)

http://system.human.com.br/GatewayIntegration/msgSms.do?dispatch=send&account=xxxx&code=yyyy&to=%number%&msg=%data%

xxxx = account / userid
yyyy = senha

A Human, que passou a ser chamada de Zenvia, tem restrições ao uso do sistema deles para fins pessoais ou envio de mala direta.

Há diversos outros sistemas no mercado, bastando realizar uma busca no Google por "gateway SMS" e localizar sistemas que permitem realizar o envio via chamada HTTP. Caso tenha alguma sugestão de operadora, favor nos informar.

O Routomessaging, citado no manual do IceWarp, é uma opção interessante, porém apresenta problemas de envio para aparelhos Nextel e, diferentemente da Clickatell, até agora não nos forneceu uma solução. De toda forma, a sintaxe nesse sistema é:

http://smsc5.routotelecom.com/SMSsend?user=xxxx&pass=xxxxx&number=%number%&message=%data%&type=LongSMS

Configurações para envio de SMSs (modem ou gateway) - Conta ajudante

Você pode alocar cópias para SMS, em Filtros, Regras e cópias/encaminhamento de contas. Basta usar a sintaxe sms:número (ex: sms:2199221133). Para que seus usuários possam enviar SMS via email, é necessário criar uma conta de e-mail especial em seu IceWarp Server. Note, conforme tela a seguir, que criamos uma conta chamada SMS (alias) e no campo Encaminha p/: informamos sms:%%extensionnosep%%



Na aba Caixa de Correio da conta, marque a opção NULA, de forma que esta conta não armazena mensagens, servindo apenas para encaminhar mensagens para SMS.

Agora, a partir do Cliente Web, você pode enviar uma mensagem que será enviada como SMS para qualquer telefone celular (contato que suportado pela operadora). A sintaxe é sms:numero

Em versões mais recentes do IceWarp, no menu Novo(a), existe uma opção "SMS", bastando usar a mesma e informar o número de destino (caso use gateway Clickatell, especifique com código do páis, ex: 552188888888).

Para enviar SMS a partir de um programa de email (como Outlook), utilize uma das seguintes sintaxes:

"sms:+552199992222"@darnis.com
ou
Vineeta <"sms:+552199992222"@exemplo.com>
ou
"Vineeta Darnis" <"sms:+552199992222"@exemplo.com>

Recebimento de Torpedos

Veja a aba Msgs de Entrada, no módulo SMS. É possível criar regras, como

"Quando assunto combina com string teste, encaminhar para teste@icewarpdemo.com".

Na aba mensagens de entrada há duas opções interessantes, que permitem receber SMSs em sua caixa de e-mail.

Uma verifica por #email# dentro do SMS e, caso encontrado, o SMS será entregue para a respectiva conta de email. A outra é um método inteligente que grava um histórico de todas as mensagens enviadas (remetente e número de destino) e, caso um SMS de entrada chegue de um número para o qual anteriormente enviado uma mensagem, o histórico é lido e a mensagem é enviada para aquele remetente (dentro de um período de tempo). Isso torna possível enviar SMS e receber um reply sem ter que definir quais regras.

O recebimento funciona de forma automática caso use modem GSM. No caso de gateway HTTP, é necessário adquir um número entrante e realizar algumas configurações adicionais.

Outras dicas

- Outro aspecto interessante é a aba Mensagens de saída que lhe oferece uma série de possibilidades, como arquivar mensagens de SMS enviadas como email, verificar o remetente, conteúdo do SMS e escrever regras de reescrita para o número de destino. Você pode verificar se uma mensagem de saída SMS já está saindo através de um gateway específico e caso negativo, baseado no prefixo do número, roteá-la através de um gateway específico. Há detalhes no manual (f1 help), na parte de SMS Rewrite e regras de saída.

Veja um exemplo que faz com que SMSs enviados para os EUA usem o gateway "Clickatell EUA" (este seria o "ID" do gateway). Note que são necessárias duas regras, uma que detecta usuários sem gateway default e adiciona o gateway Clickatell e outras que substituir o gateway default pela Clickatel.

Na primeira regra usamos o seguinte regex: ^(\+1)([^@]*) -> $1$2@Clickatell EUA

Na segunda regra, usamos o seguinte: ^(\+1)([^@]*)@(.*) -> $1$2@Clickatell EUA

Veja as telas:



E a regra seguinte:


- Na v10, a autenticação é requerida sempre, caso o usuário não tenha autenticado SMTP. A autenticação SMTP, na v10, ocorre mesmo quando acessando via Cliente Web, portanto você não deve ter problemas.

De toda forma, você pode incluir o usuário na guia Autenticação do módulo de SMS, no console, caso o usuário não esteja autenticando SMTP ou até não exista no servidor.

Caso queira incluir um endereço SMS em um tipo de conta que não possui autenticação, como mailing lists ou notificações, use a seguinte sintaxe:

<sms:numero?user=email@dominio.com.br&pass=senha>, especificando dados de uma conta válida.

No caso acima, a contagem do envio do SMS seria feita para a conta que você especificou na autenticação. Uma outra opção é colocar a autenticação direto na conta SMS: criada no item "Conta ajudante", referenciado acima, porém nesse caso todos os envios são autenticados com uma única conta.

Finalmente, mais uma opção para fugir da autenticação em contas que não sejam do tipo usuário, é desativar a autentição do SMS via API, usando o seguinte comando na raíz do IceWarp:

tool modify system C_SMSService_RequireAuth 0

Cuidado, pois nesse caso, a autenticação não será requerida. Sempre pode ser interessante criar mecanismos adicionais de proteção, por exemplo, em mailing lists, a proteção por senha (client moderator), a opção "somente membros podem enviar mensagens" ou uma Regra que restrinja envio para aqueles que autenticam SMTP (caso não ocorra autenticação SMTP, rejeitar).

- Para alertas de servidores, pode ser útil criar contas de notificação que encaminham para o seu <sms>, já que você pode definir tamanho máximo da mensagem, separar mensagens em vários SMSs e fazer com que o assunto, data, corpo da mensagem, etc. constem no assunto/no SMS (basta marcar as checkboxes de Inserir no assunto na guia Opções de uma conta de notificação).

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Flávio Zarur Lucarelli

  2. Publicado
  3. Atualizado

Comentários