Para realizar o envio de SMS utilizando uma routerboard Mikrotik, é necessário instalar um modem 3G na porta USB da routerboard.

É importante reiniciar a routerboard após plugar o modem 3G, pois o modem não é detectado logo que plugado na porta USB.

Depois de instalado o modem 3G, podemos fazer um teste de envio de SMS utilizando a função no meu Tools -> SMS:

Depois de instalado o modem 3G, podemos utilizar a seguinte linha de comando (acesso via SSH) para fazer o envio de SMS:

/tool sms send usb2 91080001 message=msg_teste

 

Para criar no Linux uma função para utilizar a Routerboard para envio de SMS, primeiramente é necessário instalar o pacote expect no Linux.

Para instalar o expect, poderá variar conforme a distro Linux:

yum install expect

ou

yast -i expect

ou

apt-get install expect

 

Depois de instalado o expect, criamos o seguinte script shell em /sbin/sendsms:

#!/usr/bin/expect

set timeout 60

set telefone [lrange $argv 0 0]

set mensagem [lrange $argv 1 1]

spawn ssh <ip do seu servidor> -p <porta> -l admin "/tool sms send usb2 $telefone message=\"$mensagem\""

expect {

    "(yes/no)?" { send -- "yes\r" ; exp_continue }

    "password:" { send -- "<sua senha>\r" ; exp_continue }

}

 

Depois de salvar o script, é necessário dar permissão de execução ao script:

chmod 777 /sbin/sendsms

 

Para testarmos o script no Linux:

/sbin/sendsms 91080001 teste

 

Depois de certificarmos que o script está funcionando, podemos utilizá-lo através do PHP criando um script de nome sendsms.php, por exemplo:

<?

$mensagem=html_entity_decode($_GET[mensagem]);

header('Access-Control-Allow-Origin: *');

exec("sendsms $_GET[telefone] '$mensagem'");

echo "EXECUTADO";

?>

 

Para utilizarmos o script PHP, informamos os parâmetros mensagem e telefone, da seguinte forma:

http://<seu servidor>/sendsms.php?telefone=91080001&mensagem=teste de envio de mensagem sms

Novos artigos Linux

Novos artigos Mikrotik

Scroll to top