É possivel encaminhar e receber SMS utilizando placas GSM da DigiVoice, modelo VB0404-GSM.

Vou dar um exemplo de envio de SMS utilizando o Asterisk, iremos criar um arquivo de texto contendo a mensagem que será enviada por SMS, este arquivo será utilizado pelo dialplan do Asterisk, assim que um peer (ramal) digitar o código de envio de sms.

A partir de um ramal, o usuário irá digitar o código para envio de SMS seguido do telefone de destino, no nosso exemplo um número de telefone celular local.

Exemplo:

123488888888 discado a partir de um ramal do PBX-IP Asterisk.

Onde:

1234 é o código e 88888888 o número do telefone celular de destino.

[from-internal-custom]
;envio de sms
exten => _1234.,1,System(find /tmp/sms.cfg)
exten => _1234.,n,NoOP(${SYSTEMSTATUS})
exten => _1234.,n,GotoIf($["${SYSTEMSTATUS}" == "SUCCESS"]?sim:nao)
exten => _1234.,n(sim),ReadFile(SMS=/tmp/sms.cfg)
exten => _1234.,n,DgSendSMS(g1,${EXTEN:4:8},${SMS})
exten => _1234.,n,PlayBack(beep)
exten => _1234.,n,Hangup()
exten => _1234.,n(nao),PlayBack(vm-sorry)
exten => _1234.,n,Hangup()

Para receber um SMS pelo PBX-IP Asterisk podemos utilizar o exemplo abaixo, onde ao ser recebido um SMS o mesmo será salvo no diretório /tmp.

As regras devem pertencer ao contexto de entrada da placa de GSM.

[from-pstn-custom]
;receber sms
exten => dgv_sms,1,NoOP(SMS RECIVED FROM: ${DGV_SMS_FROM} at ${DGV_SMS_DATE}
(${DGV_SMS_TIME}): ${DGV_SMS_TEXT})
exten => dgv_sms,n,System(echo "--- New message ---" >> /tmp/"${DGV_SMS_FROM:3}")
exten => dgv_sms,n,System(echo "From: ${DGV_SMS_FROM}" >> /tmp/"${DGV_SMS_FROM:3}")
exten => dgv_sms,n,System(echo "Received: ${DGV_SMS_DATE}(${DGV_SMS_TIME})" >> 
/tmp/"${DGV_SMS_FROM:3}")
exten => dgv_sms,n,System(echo "Message: ${DGV_SMS_TEXT}" >> /tmp/"${DGV_SMS_FROM:3}")
exten => dgv_sms,n,System(echo " " >> /tmp/"${DGV_SMS_FROM:3}")
exten => dgv_sms,n,Hangup()




O recebimento do SMS ficará conforme o exemplo abaixo:
--- New message ---
From: 01188888888
Received: 12/01/11(10:46:53)
Message: Mensagem enviada pela placa GSM DigiVoice
 

Abraços.

   Wagner Antonio Barth
 wagner@barth.com.br

 

9 Responses to “Asterisk – SMS com placas DigiVoice”

  • Carlos Eduardo Casarin says:

    Teria como eu obter uma resposta da aplicação dizendo se o sms foi enviado com exito ou não?

    • admin says:

      Carlos,

      No momento ainda não tem como recuperar o status de delivery, mas esta em fase de implementação e assim que estiver pronto publico.

      abs.

  • Luis Fernando says:

    Barth, tem como ele ler um arquivo com vários telefones e mandar os sms automaticamente ?

    • admin says:

      Luis,

      Você pode usar o .call do Asterisk para criar um discador utilizando uma lista de números de telefone e a aplicação de SMS.

      abs,

  • Luis Mallozzi says:

    Barth, tem previsão quando a aplicação DgSendSMS vai aceitar multiplos destinos (com a mesma mensagem) ?

    • admin says:

      Luis,

      Conversei com o pessoal do desenvolvimento e esta prevista esta implementação, somente não puderam me dar um prazo de quando estará disponível.
      Assim que tiver uma posição deles estarei publicando um exemplo de utilização.

      Abraços,

      barth

  • Luis Mallozzi says:

    Obrigado Barth. Outra sugestão legal é permitir que possamos recuperar através de uma aplicação (ou função) no dialplan as operadoras do chips GSM. Ajuda bastante no roteamento automático.

    Abraços.

    Luis Mallozzi

  • Luis Fernando Targas says:

    Barth, tem como vc dar um exemplo de como chamar essa aplicação utilizando um arquivo .call do asterisk. Obrigado!!!

  • Renata says:

    Bom dia,

    Sei que o post é um pouco antigo, mas estou tentando receber SMS e não funciona conforme esperado.

    Quando recebo SMS o Asterisk recebe o texto todo bagunçado/codificado.
    Exemplo:

    — Executing [dgv_sms@to-gsm:1] NoOp(“DGV/3-SMS-1”, “SMS RECEBIDO DE: +5511997979797 em 16/09/08 as 11:48:55: CM@I: “MT”,1@”) in new stack

    O texto do SMS acima foi “Oi” e chegou “CM@I: “MT”,1@”.

    Pode me ajudar?

    Obrigada
    Renata Dias

Leave a Reply


Warning: Undefined variable $user_ID in /home/u332886738/domains/barth.com.br/public_html/blog/wp-content/themes/bluefantasy/comments.php on line 55