(Dokumentation zum SMS Gateway) |
(kein Unterschied)
|
Version vom 20. September 2012, 00:25 Uhr
Was ist das?
Unter der Telefonnummer +49 170 5592154 werden SMS empfangen und automatisch Antworten erzeugt.
Momentan gibt es folgende Services/Schluesselwörter (Großkleinschreibung ist egal)
- www - läd die Seite http://<alle weiter Worte nach www> und liefert davon die ersten 160 Zeichen als SMS zurueck zB 'www www.heise.de'
- club, entropia - Clubstatus abfragen
- tueroeffner - oeffnet die Tuer zur Treppe hoch zu den Anwaelten (white-listed nummers only)
- alpenwetter - Alpenwetterbericht des ZAMG-Innsbruck
- lawiene_ch - Lawienenbulletin der Schweiz
- penis - quess what
Bei Fragen an User:JackMcCrack wenden. Anrufen bei der oben genannten Nummer werden ignoriert.
Hardware
Als Modem kommt ein Wireless GL6110 zum Einsatz. Bestückt mit ein Simkarte mit SMS Flat. Das Modem wird per wavecom modul als /dev/ttyACM0 angesprochen. Es lässt sich auch per AT Kommandos per screen/minicom von Hand steuern.
Software
kannel
Kannel ist ein OpenSource WAP und SMS Gateway. Es ist als Paket im Debian stable enthalten. Die WAP Box und SMS Box laufen als seperater Childprozess des Kannelcores. Die Konfiguration ist über die kannel.conf geregelt.
kannel.conf
#zentraler Teil aka bearerbox group = core wapbox-port = 13002 smsbox-port = 13003 wdp-interface-name = "*" log-file = "/var/log/kannel/bearerbox.log" box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1" group = modems id = wavecom
#SMS Gateway group = smsbox bearerbox-host = localhost sendsms-port = 13023 sendsms-chars = "0123456789 " global-sender = 123456 #sim-buffering = true access-log = "/var/log/kannel/sms.access" log-file = "/var/log/kannel/smsbox.log" #group = wapbox #bearerbox-host = localhost #log-file = "/var/log/kannel/wapbox.log"
#SMS Center - über lokales GSM Modem group = smsc smsc = at modemtype = wavecom device = /dev/ttyACM0 speed = 9600 #Pin of SIM Card pin = XXXX
#SMS Services group = sms-service keyword=www #get everything after the www as URL get-url = "http://%S" group = sms-service keyword=club aliases=entropia exec = "/usr/local/bin/clubstatus.sh" group = sms-service keyword=tueroeffner white-list-regex=^(\+4917xxxxxxxx|\+4917xxxxxxxx|...)$ exec = "/usr/local/bin/clubtuer.sh"
wie man weitere SMS-service definiert steht in der Kannel Documentation unter sms-service
Scripte
Ich mag quick and dirty shellscripte. Der Output wird von Kannel auf eine SMS (160 Zeichen GMS Alphabet, 70 Zeichen Unicode) begrenzt und an die Absendernummer der Anfrage zurück geschickt.
clubstatus.sh
Liefert den Clubstatus als Text aus
#!/bin/sh OUT=`/usr/local/bin/curl club.entropia.de 2>/dev/null|sed -e 's/[\"{}\ \n]//g'` echo $OUT
clubtuer.sh
Öffnet per ssh die Tür vom Gewerbehof zur Treppe in den 1. Stock - nicht den Club selber.
#!/bin/sh SSH=/usr/bin/ssh #host clubtuer stetht in der ~/.ssh/config mit hostname, port, user, IdentityFile, usw $SSH clubtuer if [ $? -gt 0 ] then echo "Sorry, something is b0rkn" else echo "Türöffner aktiviert" fi