Yaps ist ein Programm, daß es erlaubt, von heimischen PC aus
Kurzmitteilungen (
SMS) in die meisten deutschen Handy-Netze zu senden.
Momentan unterstützen
D1 T-Mobil,
D2 Vodafone sowie
E-Plus diesen Service. Nach eigenen Angaben existiert eine solche
Anbindung bei
O2 (früher VIAG Interkom) derzeit noch
nicht.
Vorweg noch eine kurze Warnung: Das Senden dieser
SMS mit
Yaps ist, anders als bei entsprechenden Diensten im Internet,
nicht kostenlos. Vielmehr ruft
Yaps zum Senden einen
SMS-Gateway im jeweiligen Mobilfunknetz an, es werden die Telefongebühren
für diesen Anruf fällig. Die meisten Telefon-Provider rechnen aber im
Minutentakt ab, deshalb kann ein solcher Anruf von ca. 3 bis 10 Sekunden Dauer
leicht mit 30 Cent zu Buche schlagen. Empfehlenswert ist es, sich nach
Call-by-Call-Angeboten umzuschauen, die sekundengenau abrechnen!
Bevor wir zur Konfiguration von
Yaps kommen können, muß
das Programm ersteinmal installiert werden. Den meisten Distributionen liegt
es mittlerweile bei, ansonsten ist die momentan aktuelle Version 0.96 auch im
Internet zu finden:
http://www.ibiblio.org/pub/Linux/apps/serialcomm/machines/yaps-0.96.tar.gz.
(Tips zum Entpacken und Kompilieren finden sich unter
Programme aus den Sourcen installieren.)
Die Hauptkonfigurationsdatei von
Yaps heißt
/etc/yaps.rc
In ihr befinden sich alle wesentlichen Einstellungen. Die Konfiguration
unterscheidet sich etwas für die Benutzer von Modem und ISDN-Karten.
Einige anfängliche Einstellungen sind jedoch allgemeingültig
vorzunehmen.
Dazu stellt man zuerst das unter Linux
gültige
Locking ein, zu finden in der
modem
section. Hier einzutragen ist
lock prefix /var/lock/LCK.
Die anderen Locking-Methoden müssen natürlichen auskommentiert
werden.
Dann sind noch einige Vorwahlnummern für die deutschen Mobilfunknetze
nachzutragen, die
yaps.rc ist in dieser Beziehung nicht mehr ganz
aktuell.
Die
service section sollte dann etwa folgendermaßen aussehen
(Auszug):
[D1]
protocol tap
valid-pid 0160|0170|0171|0175
#change-pid -
convert no-8bit,cv-d1
(...)
#
# D2 (by Mannesmann Mobilfunk)
#
[D2]
modem standard-d2
protocol ucp
valid-pid 0172|0173
#change-pid -
convert *no-8bit,cv-default
(...)
#
# E+ (by ???)
# !! UNTESTED !!
#
[E+]
protocol tap
valid-pid 0177|0178
#change-pid -
convert *no-8bit,cv-default
(...)
Manche Mobilfunkdienste erlauben es auch, die Festnetzrufnummer des PC durch
eine selbstgewählte Rufnummer zu ersetzen (z.B. die eigene Handynummer).
Diese Einstellung kann am Anfang der Datei in der
global section
unter dem Stichwort
call-id vorgenommen werden.
Beispiel:
# This is the default caller-id. If the protocol/service allowes
# it, this is inserted in the message (and the receiver gets this
# as the sender's number)
call-id +491701234567
#
An dieser Stelle ist die Konfiguration für die Modembenutzer fast schon
beendet. Sie müssen lediglich noch in der
modem section das
richtige Modem-Device einstellen, z.B.
/dev/ttyS0 für die
erste serielle Schnittstelle (unter Win bekannt als
COM1).
Während der Modembenutzer an dieser Stelle schon fertig ist, sind für
den Besitzer einer ISDN-Karte noch mehrere Arbeitsschritte nötig.
Da
Yaps nur ein Modem ansprechen kann, muß mit Hilfe des
Paketes
Isdn4Linux ein Modem emuliert werden. Der dafür
zuständige Daemon heißt
iprofd.
Damit dieser beim Hochfahren des Rechners automatisch gestartet bzw. beim
Herunterfahren beendet wird, legt man ein Start-/Stop-Skript im Verzeichnis
/etc/rc.d/init.d an.
Es gibt veschiedene Möglichkeiten, dieses Skript zu gestalten,
SuSE-Benutzer passen am einfachsten das Muster aus der Datei
/etc/rc.d/init.d/skeleton entsprechend an. Das könnte dann so
aussehen (für eine SuSE 7.0):
#! /bin/sh
# Copyright (c) 1995-2000 SuSE GmbH Nuernberg, Germany.
#
# Author: Hans-Michael Gerhards
#
# /sbin/init.d/iprofd
#
# and symbolic its link
#
# /sbin/rciprofd
#
. /etc/rc.status
. /etc/rc.config
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
# First reset status of this service
rc_reset
case "$1" in
start)
echo -n "Starting iprof daemon: "
## Start daemon with startproc(8). If this fails
## the echo return value is set appropriate.
startproc /usr/sbin/iprofd /var/run/iprofd.tmp
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Stopping iprof daemon: "
killproc -TERM /usr/sbin/iprofd
# Remember status and be verbose
rc_status -v
;;
restart)
## If first returns OK call the second, if first or
## second command fails, set echo return value.
$0 stop && $0 start
# Remember status and be quiet
rc_status
;;
reload)
## Choose ONE of the following two cases:
## First possibility: A few services accepts a signal
## to reread the (changed) configuration.
echo -n "Reload iprof daemon: "
killproc -HUP /usr/sbin/iprofd
rc_status -v
;;
status)
echo -n "Checking for iprof daemon: "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
checkproc /usr/sbin/iprofd && echo OK || echo No process
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload}"
exit 1
;;
esac
rc_exit
Anschließend sind noch ein paar symbolische Links zu erstellen:
ln -s /etc/rc.d/init.d/iprofd /sbin/rciprofd
ln -s /etc/rc.d/init.d/iprofd /etc/rc.d/rc2.d/S55iprofd
ln -s /etc/rc.d/init.d/iprofd /etc/rc.d/rc2.d/K55iprofd
ln -s /etc/rc.d/init.d/iprofd /etc/rc.d/rc3.d/S55iprofd
ln -s /etc/rc.d/init.d/iprofd /etc/rc.d/rc3.d/K55iprofd
Wer den Daemon einfach per Hand starten möchte, der kann dies auch einfach
mit dem Befehl
iprofd ‹temp-file›
erreichen (‹temp-file› ist beliebig).
Nun stehen die Devices
/dev/ttyI0 bis
/dev/ttyI63 zur
Verfügung (nach dem y: großes i).
Eines davon (normalerweise
/dev/ttyI0) trägt man in der
modem section der
yaps.rc ein.
Im Unterabschnitt der
modem section sollte es jetzt so aussehen:
# Device
#
# Typical a symbolic link to the real device
device /dev/ttyI0
Der nächste Unterabschnitt der
modem section beschreibt den
Init-String. Auch dieser ist für ISDN wie folgt zu
ändern:
# Modem talk
#
# use the following init-string for isdn:
# and change MSN to your MSN (what else...:-))
init \\r !200D ATZ\r <OK AT&EMSN\r <OK
wobei für
MSN die eigene MSN bzw. Telefonnummer einzugeben
ist.
Jetzt gilt es nur noch, die Einwahlnummern der Mobilfunkanbieter vom
Modem-Gateway auf den ISDN-Gateway umzustellen. Diese lauten:
| D1 |  | 0171 25 21 001 |
| D2 | | 0172 22 78 010 |
| E-Plus | | 0177 11 67 |
In der Datei
yaps.rc sollte das dann so aussehen (Auszug):
[D1]
(...)
# phone 01712092522
# use this number for isdn-dialin:
phone 01712521001
(...)
#
[D2]
(...)
# phone 01722278020
# use this number for isdn-dialin:
phone 01722278010
(...)
#
[E+]
(...)
phone 01771167
(...)
Damit ist die Konfiguration auch für die ISDN-Benutzer abgeschlossen. Zum
Versenden einer SMS-Nachricht dient der einfache Shell-Befehl
yaps [Mobilfunknummer] "[SMS-Text]"
Natürlich muß man dazu die nötigen Zugriffsrechte haben. In den
meisten Distributionen muß man dazu Mitglied der Gruppe
dialout sein, oder die Rechte der devices ändern.
Übersteigt die Länge des Textes die üblichen 160 Zeichen, so
wird je nach Anbieter entweder in mehrere Nachrichten aufgespalten oder nach
160 Zeichen abgeschnitten.
Wer seinen Nachrichtentext für die Archivierung aufheben möchte, der
kann die Nachricht auch in eine Text-Datei schreiben und diese
folgendermaßen senden:
yaps [Mobilfunknummer] +"[Dateipfad]"