#!/usr/bin/perl
#
# Send SMS messages with Braintower SMS Gateway
# 2007 - 2013 Braintower Technologies GmbH St.Ingbert, Germany
#
#  Jens-Christian Merg <jens-christian.merg@braintower.de>
#  Simon Schuwer <simon.schuwer@braintower.de>
#
#
# Please edit Config section.
#
#
## Used Modules ##
use strict;
use LWP::UserAgent;
use URI::Escape;
use Text::Iconv;
########### Config #######################
my $smsgw_username = "Administrator";
my $smsgw_password = "F9-ro.4sl";
my $smsgw_host = "172.31.1.120";
my $smsgw_sendsms_path = "/api.php";
my $smsgw_sendsms_port = "80";
##########################################

if (!defined($ARGV[0])) { die "ERROR: No mobile number given as ARGV[0]"; }
if (!defined($ARGV[1])) { die "ERROR: No message given as ARGV[1]"; }

## Definitions ##
my $utftoiso = Text::Iconv->new("UTF-8", "ISO-8859-15");
my $recipient = $ARGV[0];
my $message = $ARGV[1];
my @message;
#################

my $lwp = LWP::UserAgent->new;
$lwp->timeout(20);
$lwp->env_proxy;

$message = $utftoiso->convert($message);
$message = uri_escape($message);

my $response = $lwp->get('http://'.$smsgw_host.':'.$smsgw_sendsms_port.$smsgw_sendsms_path.'?username='.$smsgw_username.'&password='.$smsgw_password.'&to='.$recipient.'&text='.$message);

if ($response->is_success) {
    print $response->decoded_content."\n"; 
}
else {
    die $response->status_line."\n"; 
}
