Asterisk und inerne SMS

Addreon

Neuer User
Mitglied seit
29 Jan 2010
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
Hallo,

Meine Asterisk-Anlage besteht aus Debian mit Asterisk 1.8, Analoger Telefonkarte, 6 IP Telefonen + 2 Softphones mit Einlogmöglichkeit von Außen via VPN auf, keine "normalen"Telefone.
Die IP-Telefone (Sinus 501v) können SMS senden und empfangen. Ueber das Festnetz habe ich es auch hinbekommen das SMS versendet und empfangen werden können. Nur kostet das ja Geld. Ich möchte das ich SMS intern von und an die jeweiligen Geräte versenden kann, ohne das die SMS den Umweg über die Telekom geht.
Kann mir jemand einen Tipp geben, wie ich da vorgehen muss? Mit sipsak (Tipp von woanders) bin ich leider nicht weitergekommen.


z.B. Endgeät 1 soll SMS an Endgerät 2 senden

Endgerät 1 --> Asterisk --> Endgerät 2


MfG

Addreon
 
Das geht auch mit 1.8 (unbeachtlich der tatsächlich bestehenden "Abenteuerlichkeit"), sinngemäß so:

extensions:
Code:
//************************************************************************************************
// smsmo_int - handle SMS from internal phones
//************************************************************************************************

context smsmo_int {
	_X.	=>	{
			Verbose(Receiving SMS from ${CALLERID(num)});
			NoCDR();
			SMS(${EXTEN},as);
			System(smsq --mo --rx --process="/etc/asterisk/smsmo.pl" --queue=${EXTEN});
			Hangup();
		};

	h	=>	Hangup();

	e	=>	Hangup();

};

//************************************************************************************************
// smsmt_int - send spooled SMS to internal destination
//************************************************************************************************

context smsmt_fw {
	_X.	=>	{
			Verbose(Sending SMS to ${EXTEN});
			NoCDR();
			switch (${SRC}) {
				pattern	+X.	:	break;
				pattern X.	:	break;
				default		:	Set(SRC=0); break;
				}
			// Hack - In Callfiles wird $MSG mit || eingeschlossen
			SMS(${SCS},s,${SRC},${MSG:1:-1});
			SMS(${SCS},s);
			Hangup;
			};

	h	=>	Hangup();

	e	=>	Hangup();

};

script (/etc/asterisk/smsmo.pl):
Code:
#! /usr/bin/perl

# Handle a queued SMS from inbound depending on destination

use DateTime;


sub send_fixed {
	my $daf = $_[1];
	my ($s,$us)=gettimeofday();
	my $fn='sms.motx.0.'.$s.'.'.$us;
	my $command='mv /tmp/'.$fn.' /var/spool/asterisk/outgoing/';
	open (MYFILE, '>/tmp/'.$fn);
	print MYFILE "Channel: SIP/".$daf."\n";
	print MYFILE "Callerid: \"Asterisk SMS\" <090032669000>\n";
	print MYFILE "MaxRetries: 2\n";
	print MYFILE "RetryTime: 60\n";
	print MYFILE "WaitTime: 30\n";
	print MYFILE "Context: smsmt_fw\n";
	print MYFILE "Extension: ".$daf."\n";
	print MYFILE "Priority: 1\n";
	print MYFILE "SetVar: MSG=".$ud."\n";
	print MYFILE "SetVar: SRC=".$oa."\n";
        close(MYFILE);
	if (system($command) != 0) {
		return 1;
	} else {
		return 0;
	}
}

$oa = $ENV{'oa'};
$da = $ENV{'da'};
$ud = $ENV{'ud'};
$scts = $ENV{'scts'};
$udh = $ENV{'udh'};

$error=&send_fixed($daf);

exit 0;

Das Skript sollte funktionieren, ich hab' da jetzt nur schnell die wesentlichen Teile aus einem komplexerten Szenario rausgebastelt ...
Den $error könnte man noch auswerten, aber na ja :)

Viel Spaß beim Ausprobieren!
 
Was ist das für ein OS, das aus Deiner Sig.? Ich kann mich erinnern, smsq irgendwann nicht mehr gebaut bekommen zu haben.

Ich hatte deshalb ein total aufwendiges Handling, sogar mit MySQL Anbindung, Zustellbenachrichtigung, SMS-Email und lauter so Zeug gebastelt. Mangels Verwendung nicht auf einen neuen Asterisk übertragen, sondern auf einer ext2 USB-HD abgelegt und dort blondinenmäßig versehentlich gelöscht.
 
@rentier-s:
Ist ein ganz normales Suse 11.4 (64bit) und ich bekomme smsq auch ganz normal gebaut, spezielle Partches verwende ich da nicht. Da ich geerade 1.8.15 gebaut habe, ist auch smsq frisch:

Code:
-rwxr-xr-x 1 root root 287178 Jul 30 22:27 /usr/sbin/smsq
 
Hallo,

vielen Dank für die scripte, habe es zum laufen bekommen. Musste noch ein paar Aenderungen einfügen, aber jetzt klappt es wunderbar.
Werde mir jetzt noch ein Webscript schreiben, mit dem ich Nachrichten direkt als SMS auf die Engeräte senden kann.
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,872
Beiträge
2,303,452
Mitglieder
378,532
Neuestes Mitglied
Nik320