Criar seu gateway SMS usando minimodem

A ideia aqui é criar uma central de envio SMS para ser usada em seu provedor como operadora. O hardware utilizado será um (ou varios) minimodens já que agora temos planos de envio “ilimitado” de SMS.

Vamos lá.

Agora realmente começa o tutorial, é através desse programa, o NowSMS Gateway, que pode ser encontrado facilmente na internet é que iremos comunicar nossa aplicação com o PHP.

 

1 – Clique duas vezes sobre o arquivo de instalação, escolha um diretório (que não interessa qual é) e vá avançando.

instalacao_01

2 – Após instalado, ele abre a tela onde o NowSMS foi instalado, e clique no Now SMS Gateway

instalacao_02

3 – A primeira coisa que temos que fazer é ir na aba SMSC e clicar em Add, para adicionarmos nosso telefone.

instalacao_03

4 – Escolha a opção GSM Phone or Modem, e cique em OK

instalacao_04

5 – Na caixa de seleção, escolha o seu modem, no meu caso Nokia GSM Phone Modem, caso você tenha informado um PIN para seu telefone, entre com ele na caixa Modem PIN, no meu caso não configurei essa opção, e nem testei. Depois clique em Test and Add Modem, se der tudo certo, você verá a próxima imagem

instalacao_05

6 – Essa é a mensagem de sucesso que deve aparecer para você.

 

instalacao_06

7 – Depois clique na aba Service e em seguida Run as Service em SMS Gateway Service

 

instalacao_07

8 – Essa é a mensagem que aparece se o Serviço for instalado com sucesso, e clique em Sim para instalar o serviço

instalacao_08

9 – Volte na pasta onde instalou o NowSMS, e clique em Now SMS Web Interface, uma página na internet irá se abrir para você.

instalacao_09

10 – Tela web que se abre, antes de seguir com o tutorial, vamos enviar uma mensagem de teste para ver se a configuração está correta.

 

instalacao_10

11 – Preencha o Phone Number, com o seguinte formato : +55[Código de Área sem o 0][Telefone], exemplo: +553188888888 (enviar uma mensagem para Minas Gerais e telefone 8888-8888

 

instalacao_11

12 – Se aparecer essa mensagem, é que a mensagem foi enviada com sucesso, e logo você deve receber a mensagem enviada no celular.

 

instalacao_12

 

Agora vem o script php

<pre><?PHP
/**
 * Página de teste de Envio de SMS
 * @author Samuel Aiala Ferreira <samuca@samuca.com>
 * @version 1.0
 * @package SMS
*/
if ($_POST['acao'] == 'sendsms')
{
	$x   = SendSMS("127.0.0.1", 8800, "", "", $_POST['txtTELEFONE'], $_POST['txtMENSAGEM']);
	echo $x;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Envio de SMS</title>
	</head>
	<body>
		<a href="http://www.samuca.com/sms/">Tutorial de envio de SMS</a>
		<form name='frmSend' method='post'>
			<input type='hidden' name='acao' value='sendsms'>
			<table width="100%" style="border-collapse:collapse;" border="1">
			<tr>
				<td>Telefone:</td>
				<td><input type="text" name="txtTELEFONE" value="+55XX88888888"></td>
			</tr>
			<tr>
			  <td>Mensagem:</td>
			  <td><textarea name="txtMENSAGEM" cols="60" rows="10" id="txtMENSAGEM"></textarea></td>
			  </tr>
			<tr>
			  <td>&nbsp;</td>
			  <td><input type="submit" name="Submit" value="Enviar SMS"></td>
			  </tr>
			</table>

		</form>
	</body>
</html>

<?
/**
 * Função que envia o SMS
 * @return string Mensagem de Sucesso de Envio de SMS
 * @param string $host Host onde foi instalado seu Now SMS
 * @param string $port A Porta que você está usando
 * @param string $username Pode deixar em branco
 * @param string $password Pode deixar em branco
 * @param string $phoneNoRecip Telefone, no formato +55[DDD sem o 0][Telefone, com 8 posições]
 * @param string $msgText Mensagem que deseja enviar, limite em 160 caracteres, senão ele manda quantas mensagens necessárias para atingir o limite.
 */
function SendSMS ($host, $port, $username, $password, $phoneNoRecip, $msgText) { 

    $fp = fsockopen($host, $port, $errno, $errstr);
    if (!$fp) {
        echo "errno: $errno \n";
        echo "errstr: $errstr\n";
        return $result;
    }
    fwrite($fp, "GET /PhoneNumber=" . rawurlencode($phoneNoRecip) . "&Text=" . rawurlencode($msgText) . " HTTP/1.0\n");
	echo $aux3;
    if ($username != "") {
       $auth = $username . ":" . $password;
       echo "auth: $auth\n";
       $auth = base64_encode($auth);
       echo "auth: $auth\n";
       fwrite($fp, "Authorization: Basic " . $auth . "\n");
    }
    fwrite($fp, "\n");

    $res = "";

    while(!feof($fp)) {
        $res .= fread($fp,1);
    }
    fclose($fp);

    return $res;
}

echo $x;

?></pre>
Função de envio de SMS (SendSMS)
$host Seu servidor, geralmente http://127.0.0.1, para saber qual é exatamente, abra a pasta onde está instalado o NowSMS, e clique em Now SMS Web Interfacee copie o IP, que está antes dos pois pontos (:)
$port É a porta, geralmente 8800, para saber qual é exatamente, abra a pasta onde está instalado o NowSMS, e clique em Now SMS Web Interfacee copie o IP, que está depois dos pois pontos (:)
$username Deixe em branco, caso não precise se autenticar na página
$password Deixe em branco, caso não precise se autenticar na página
$phoneNoRecip Telefone, no formato +55[DDD sem o 0][Telefone com 8 digitos], exemplo: +553188887777
$msgText Mensagem, até 160 caracteres, senão ele vai enviar várias mensagens, até chegar a mensagem completa

Exemplo de chamada da função:

   $x   = SendSMS("127.0.0.1", 8800, "", "", $_POST['txtTELEFONE'], $_POST['txtMENSAGEM']);
    echo $x;

 

Créditos:  Samuel Aiala Ferreira <samuca@samuca.com>

por int21 Postado em Geral

Deixe seu comentário ;)

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s