SendSMS Handbuch |
SendSMS (Standard-Edition) hat u.a. folgende Eigenschaften:
Nachdem setup durchlaufen wurde sollten Sie die Datei sendsms.pro editieren und dort alle von Ihnen nicht benötigten Providerdefinitionen löschen. Für manche Provider sind verschiedene Definitionen (Modem, ISDN, GSM) vorhanden, von welchen Sie die nicht benötigten Definitionen löschen bzw. die für Ihre Device zutreffende Definition an den Anfang der Datei stellen sollten.
Testen Sie vor dem automatischen Aufruf von SendSMS unbedingt, ob der Auflegemechanismus (ESCAPE-Sequenz oder DTR zurücksetzen) funktioniert.
In den Unix-Versionen muß der Owner der Datei sendsms ausreichende Rechte besitzen um das Modemdevice zu benutzen und Dateien anzulegen (Spoolverzeichnis, Lockverzeichnis,...) und es muß das Set-User-ID Bit gesetzt sein.
In der Datei sendsms.cfg wird die allgemeine Konfiguration des Programms festgelegt.
In der Datei sendsms.pro werden die verschiedenen Telefonnetze (welches Netz benutzt TAP, UCP, ..., über welche Telefonnummer wird die Nachricht versendet und welche Vorwahlen haben die Nummern des entsprechenden Netzes) konfiguriert.
In der Datei sendsms.pbk werden Kürzel zum Wählen mittels symbolischer Namen anstelle von Telefonnummern definiert.
Kommentare werden durch einen Strichpunkt (;) eingeleitet.
Sämtliche Konfigurationsdateien werden standardmäßig in dem Verzeichnis gesucht indem auch das Programm selbst liegt. Dies gilt nicht, wenn per Kommandozeile explizit eine Konfigurationsdatei angegeben wurde, bzw. wenn die Umgebungsvariable SendSMS gesetzt wurde. In letzterem Fall wird der Wert dieser Umgebungsvariable als Verzeichnis für die Konfigurationsdateien benutzt.
Im Kapitel [SendSMS] stehen die im Folgenden aufgeführten Schlüsselworte zur Verfügung. Jedes Schlüsselwort muß in einer neuen Zeile stehen.
BINLOCKS=0
Gibt an, ob die Lockdatei binär (1) oder ASCII angelegt wird (nur UNIX).
COUNTRYCODE=+49
Gibt die internationale Länderkennung (z.B. '+49' für Deutschland oder '+1' für Nord-Amerika) an. Dieser Parameter muß
unbedingt korrekt angegeben werden, damit SendSMS eine zu wählende Nummer richtig bilden kann (ist dieser Wert
falsch angegeben, wird bei der Anwahl einer nationalen Nummer die Länderkennung mitgewählt, was nicht funktioniert).
FOOTER=
Gibt einen optionalen Footer an (ein Text, der an jede zu versendende
Nachricht angehängt wird)
[nur in der registrierten Version]
HEADER=
Gibt einen optionalen Header an (ein Text, der vor jede zu versendende Nachricht gestellt wird)
[nur in der registrierten Version]
INTERNATIONALPREFIX=00
Gibt ein Ziffernfolge an, mit welcher ein '+'-Zeichen am Anfang einer Telefonnummer ersetzt wird und anhand derer eine
internationale Nummer identifiziert werden kann (default: "00").
LOCKDIR=/var/spool/uucp
Gibt das Verzeichnis an, in dem eine Lockdatei gesucht bzw. angelegt wird
(nur UNIX).
LOGFILE=sendsms.log
Gibt das Logfile an, in dem SendSMS alle Aktionen protokolliert. Wird das
File ohne Pfad angegeben, so wird es in dem Verzeichnis in dem das
Programm liegt angelegt. Wird als LOGFILE 'syslog' (nur Unix) angegeben,
so wird über den syslog-Dämon protokolliert (Facility=LOG_DAEMON, Priority=LOG_INFO).
[nur in der registrierten Version]
LOGLEVEL=255
Mit diesem Parameter kann angegeben werden welche Informationen in der Logdatei protokolliert werden. Der angegebene Wert wird
als Bitfeld interpretiert, wobei z.Zt. folgende Bits interpretiert werden:
Bit0 | informative Meldungen (z.B. daß eine Nachricht empfangen wurde) |
Bit1 | Warnungen (z.B. daß die SMSC das Gültigkeitsdatum überschrieben hat) |
Bit2 | Fehler (z.B. daß ein Provider nicht verfügbar ist) |
LONGDISTANCEPREFIX=0
Gibt eine Ziffer(-nfolge) an, die für ein nationales Ferngespräch angegeben werden muß (wenn z.b. die internationale Nummer
+49 721 9109550 innerhalb von Deutschland gewählt werden soll muß die Länderkennung '+49' durch den LONGDISTANCEPREFIX 0
ersetzt werden).
MAXERRORS=
Gibt die max. Anzahl Fehler (Nachricht nicht gesendet) an, die bis zu einem
Programmabbruch akzeptiert wird. Ist dieser Parameter nicht bzw. auf 0
gesetzt, so wird nach einer fehlerhaften oder nicht übertragenen Nachricht
NICHT abgebrochen. Dieser Parameter hat nur Bedeutung, wenn an mehrere
Empfänger gesendet wird. Im Servermodus wird der Parameter ignoriert.
PHONE=
Gibt die eigene Telephonnummer, von der die Nachricht ausgeht, an.
PRIORITY=-5
Hiermit kann die Priorität, mit der SendSMS ausgeführt wird, gesetzt werden.
Der Bereich geht von -15 (hohe Priorität) bis
15 (niedrige Priorität).
RCZEROIFOK=1
Gibt an, daß der Returncode im Falle eines erfolgreichen Versendens gleich 0 sein soll. Dies ist unter Unix so üblich und
sollte bei einer Einbindung in z.B. ein Emaisystem verwendet werden. Ist dieser Parameter nicht gesetzt, wird die Anzahl der
übertragenen Nachrichten bzw. ein fehlercode zurück gegeben.
RECEIVEDIR=received
Gibt ein Verzeichnis an, in welchem empfangene Kurznachrichten abgespeichert werden
sollen (GSM).
[nur registrierte Version]
REDIALCOUNT=3
Gibt die Anzahl von Wahlversuchen an (siehe auch RETRYCOUNT).
[nur in der registrierten Version]
REDIALDELAY=60
Gibt die Anzahl Sekunden an, die bis zum nächsten Wahlversuch gewartet wird.
In der Zeit bis zum nächsten Wahlversuch wird das Modem wieder freigegeben.
[nur in der registrierten Version]
RETRYCOUNT=3
Gibt an, wie oft versucht wird eine Nachricht zu übertragen. Im Servermodus
ist dies die Anzahl wie oft eine Nachricht max. im Spoolverzeichnis belassen
wird (nach fehlerhafter Übertragung). Im Gegensatz zum REDIALCOUNT greift
RETRYCOUNT immer, wenn die Übertragung nicht geklappt hat, während REDIALCOUNT
nur greift, wenn keine Modem frei ist bzw. die Gegenstelle nicht abnimmt.
[nur in der registrierten Version]
RETRYDELAY=60
Gibt die Anzahl Sekunden an, die bis zum nächsten Wahlversuch gewartet wird.
In der Zeit bis zum nächsten Wahlversuch wird das Modem wieder freigegeben.
[nur in der registrierten Version]
SHOWSENDSMS=0
Anhängen der 'SendSMS from ...' Meldung an die zu versendende Nachricht unterbinden.
[nur in der registrierten Version]
SHOWURL=0
Anhängen der Url http://www.bai.de an die zu versendende Nachricht unterbinden.
[nur in der registrierten Version]
SPOOLDIR=/var/spool/sendsms
Gibt das Verzeichnis an, in dem die Nachrichten gespoolt (zwischengespeichert) werden.
[nur in der registrierten Version]
UNSENTDIR=unsent
Gibt ein Verzeichnis an, in welchem Nachrichten die nicht gesendet werden konnten (Servermode)
archiviert werden.
Im Kapitel [Device] stehen die im Folgenden aufgeführten Schlüsselworte zur Verfügung. Jedes Schlüsselwort muß in einer neuen Zeile stehen. (Für die entsprechenden Modembefehle wird auf das Modemhandbuch verwiesen (soweit vorhanden))
ADDRESS=
Gibt die IP-Adresse eines ISDN-Routers bei Verwendung einer RemoteCAPI (BINTEC-Erweiterungen) an.
BAUD=4800
Gibt die zu verwendende Baudrate an (300, 600, 1200, 2400, 4800 oder 9600).
Dieser Wert wird nur verwendet, falls bei einem anzurufenden Provider keine
Definition vorhanden ist. (wird nicht in Verbindung mit TAPI benutzt)
BCHANNELINFO=3,0,0,0,0,ff
Bei Nutzung einer Standleitung mit CAPI2.0 werden hier die Leitungsparameter angegeben (jeweils einzelne Bytes
in Hex-Format durch Kommata getrennt). Die Kodierung
kann der CAPI-Dokumentation entnommen werden. Im Folgenden sind die Standardkodierungen angegeben:
3,0,0,0,0,ff | 1. Kanal, 64 kbit/s, DTE-Modus |
3,1,0,0,0,ff | 1. Kanal, 64 kbit/s, DCE-Modus |
3,0,0,0,0,0,ff | 2. Kanal, 64 kbit/s, DTE-Modus |
3,1,0,0,0,0,ff | 2. Kanal, 64 kbit/s, DCE-Modus |
BEEP=AT#VTS=[960,0,6]
Gibt ein Kommando zum Generieren eines Signaltones (bei Aufnahme einer Sprachnachricht mit
Voice-Modem) an. (wird nicht in Verbindung mit TAPI benutzt)
CONNECTTIMEOUT=40
Gibt die Zeitdauer (in Sekunden) an, die das SendSMS nach dem Wählen auf das
Zustandekommen einer Verbindung wartet.
CONTROLLER=1
Wenn Sie in Ihrem Rechner mehrere ISDN-Karten benutzen geben Sie hier an auf welche der
Karten sich die Definition bezieht.
DATABITS=8
Gibt die Anzahl der Datenbits an (7 oder 8). Dieser Wert wird nur verwendet,
falls bei einem anzurufenden Provider keine Definition vorhanden ist. (wird nicht in Verbindung mit TAPI benutzt)
DEVICE=COM1
Gibt den Anschluß an, an dem das Modem hängt (unter Unix z.B. /dev/ttyS0).
(Achtung: unter Unix muß darauf geachtet werden, daß der Besitzer der Datei sendsms
berechtigt ist das Device zu benutzen).
Wird die Kommunikation mittels CAPI 2.0 abgewickelt, so wird hier der Pfad zur Capi-DLL/-Shared-Object (Windows, OS/2, Linux) bzw. zum CAPI-Device (Unix) angegeben.
Unter Windows wird zunächst versucht das angegebene Device exlusiv zu öffnen. Sollte dies nicht gelingen (z.B. weil der Port von RAS benutzt wird) wird versucht das Device über die TAPI-Schnittstelle zu öffnen. Durch diese Vorgehensweise hat man die Möglichkeit ein Modem mit anderen Applikationen zu teilen, es stehen jedoch nicht alle Funktionen zur Verfügung, wenn das Device jedoch über die TAPI-Schnittstelle geöffnet wird.
DEVICETYPE=Modem
Gibt die Art der verwendeten Hardware (Modem, Voice-Modem, GSM 07.05, CAPI 2.0, CAPI 2.0 (BINTEC), X.25 (EICON) oder SERIAL) an.
DIALPREFIX=ATDT0w
Gibt das Kommando zum wählen einer Nummer an (hier Tonwahl und nach einer '0'
auf das Freizeichen warten).
Bei Verwendung der CAPI-Schnittstelle an einer Nebenstellenanlage wird hier die Ziffernfolge
angegeben, um eine Amtsleitung zu erhalten (normalerweise 0). (wird nicht in Verbindung mit TAPI benutzt)
DIALSUFFIX=
Bei manchen Modems/ISDN-Terminaladaptern muß an die zu wählende Nummer noch ein
oder mehrere AT-Kommandos angehängt werden, um z.B. ein bestimmtes Protokoll
auszuwählen. Diese Kommandos können hier definiert werden. Dieser Wert wird nur verwendet,
falls bei einem anzurufenden Provider keine Definition vorhanden ist. (wird nicht in Verbindung mit TAPI benutzt)
ESCAPE=+++
Gibt die Fluchtsequenz an, welche zum Umschalten vom Datenmodus in den
Befehlsmodus dient. ACHTUNG! Die Fluchtsequenz wird nur
benutzt wenn sie explizit definiert ist. Ist sie nicht definiert
so wird zum Auflegen des Modems das DTR-Signal für 1 Sekunde auf
0 gesetzt. Dies ist sicherer und schneller als die Fluchtsequentz
und ein ATH. Definieren Sie also die Fluchtsequenz nur, wenn der
DTR-Mechanismus bei Ihnen nicht funktioniert.
HANGUP=ATH
Gibt das Kommando zum Auflegen an.
INIT=ATQ0E1V1L1
Gibt das Initialisierungskommando für das Modem an.
Das Modem muß auf
INIT2=
Gibt ein zweites Initialisierungskommando für das Modem an. Dieses Kommando erfolgt nach der
Standardinitialisierung des Modems (GSM-Modules). Bei Verwendung eines GSM-Modules ist es
u.U. notwendig eine Speicheradresse anzugeben (z.B. AT+CPMS="ME"), wozu man diesen Parameter
verwenden kann. (wird nicht in Verbindung mit TAPI benutzt)
LINETYPE=ANALOG
Gibt an, ob es sich bei der Telefonleitung um eine analoge (ANALOG), um eine digitale (ISDN), eine X.25 (X.25) oder eine
X.31-Leitung (X.31) handelt. Dieser Parameter kann ebenfalls bei den Providerdefinitionen angegeben werden,
wobei SendSMS automatisch ein passendes Device für einen entsprechenden
Provider auswählt. Wenn Sie z.B. beim Aufruf von SendSMS den Provider D1_ISDN
(dort ist LINETYPE=ISDN angegeben) auswählen, so wird automatisch ein ISDN-fähiges Device gewählt.
MSGDELAY=<n>
Gibt eine Anzahl von Sekunden an, welche zwischen dem Versenden von zwei Nachrichten innerhalb von einer
Verbindung gewartet wird (wird normalerweise nicht benötigt).
MSN=24
Gibt die Telefonnummer des ISDN-Adapters (bei Verwendung von CAPI 2.0) an. Hier müssen Sie
die Nummer eintragen, die dem entsprechenden ISDN-Anschluß zugeordnet ist. Bei Verwendung einer
Nebenstellenanlage also die interne Rufnummer. Wenn Sie hier keine oder eine falsche Nummer angeben
kann es sein, daß Sie keine Verbindungen bekommen. Dieser Parameter kann durch die
Kommandozeilenoption -m überschrieben werden.
NAME=Modem1
Dient zur eindeutigen Identifizierung eines Devices. Wenn dieser Name mit dem
Kommandozeilenparameter -d angegeben wird, kann schon beim Aufruf von SendSMS
ein spezielles Devices vorgegeben werden. Dies ist nur notwendig, wenn mehrere Devices
konfiguriert sind und die automatische Deviceauswahl umgangen werden soll.
ORIGINATINGADDR=01234..
Gibt die Absendeadresse (lokale Nummer) bei Verwendung von X.25 an
(nur in Professional-Edition).
PACKETLEN=128
Gibt die X.25-Packetlänge bzw. die X.31-Packetlänge (Standard: 128) an.
PARITY=NONE
Gibt die Art der Parität an (NONE, EVEN oder ODD). Dieser Wert wird nur verwendet,
falls bei einem anzurufenden Provider keine Definition vorhanden ist. (wird nicht in Verbindung mit TAPI benutzt)
PDUWITHOUTSCA=1
Einige GSM-Modems benötigen eine PDU ohne vorgestellte SCA (in Kontrast zu GSM 07.05).
Dieser Parameter ist z.B. für Siemens M1, Falcom A1 oder Xircom CreditCard notwendig,
während er bei z.B. Siemens E10, S10, M20, Nokia DataCard, CardPhone oder Data Suite
nicht gesetzt werden darf.
PIN="1234"
Gibt die PIN für Ihre SIM an (GSM-Device). Falls Sie eine GSM-Karte verwenden, bei welcher
man keine PIN eingeben braucht/kann (AT+CPIN? funktioniert nicht), darf dieser Parameter
nicht belegt werden. Bei manchen Devices muß die PIN in Hochkommata angegeben werden,
wohingegen dies bei anderen Devices zu Fehlern führt.
PLAYDTMF=AT#VTS=
Gibt ein Kommando zum Abspielen einer DTMF-Sequenz (numerische Zeichen) (nur Voice-Modem) an. (wird nicht in Verbindung mit TAPI benutzt)
PORT=6000
Bei Verwendung einer RemoteCAPI (BINTEC-Erweiterungen) gibt dieser Parameter den PORT an, auf welchen der ISDN-Router
konfiguriert ist. Bei Verwendung einer X.25-Karte gibt dieser Parameter den Port der zum Rufaufbau verwendet werden soll an.
PUK="1234"
Gibt den PUK für Ihre SIM an (GSM-Device). Falls Sie eine GSM-Karte verwenden, bei welcher
man keine PIN eingeben braucht/kann (AT+CPIN? funktioniert nicht), darf dieser Parameter
nicht belegt werden. Bei manchen Devices muß der PUK in Hochkommata angegeben werden,
wohingegen dies bei anderen Devices zu Fehlern führt.
RESET=ATZ
Gibt das Kommando zum Zurücksetzen des Modems an (normalerweise ATZ).
RTSCTS=1
Gibt an daß die Hardwareflußkontrolle benutzt werden soll.
SIMPHONE= Gibt die Telefonnummer der in dem entsprechenden GSM-Modul verwendeten SIM an. Dies Angabe ist nur notwendig, wenn das Modul das Kommando +CNUM nicht unterstützt.
STARTVOICEMODE=AT#CLS=8
Gibt das Kommando an mit dem ein Voice-Modem in den Voice-Modus gesetzt wird. Dies ist zum
Abspielen/Aufnehmen von Sprachnachrichten nötig. (wird nicht in Verbindung mit TAPI benutzt)
STOPBITS=1
Gibt die Anzahl der Stopbits an (1 oder 2). Dieser Wert wird nur verwendet,
falls bei einem anzurufenden Provider keine Definition vorhanden ist. (wird nicht in Verbindung mit TAPI benutzt)
STOPVOICEMODE=AT#CLS=0
Gibt das Kommando an mit dem bei einem Voice-Modem der Voice-Modus beendet wird. (wird nicht in Verbindung mit TAPI benutzt)
SUPPRESSREINIT=1
Verhindert, daß ein Devices im Servermodus bei jedem Öffnen erneut initialisiert wird. Ist dieser Parameter gesetzt, so wird
daß Device nur beim ersten Öffnen initialisiert (nur im Servermodus). Hierdurch kann man einen wesentlich höheren Durchsatz
erreichen. Der Parameter sollte nur benutzt werden, wenn sichergestellt ist, daß keine andere Applikation zwischenzeitlich auf
das Device zugreift und u.U. die Einstellungen verändert.
TEI=1
Gibt den TEI (Terminal Endpoint Identifier; wird vom Netzbetreiber zugewiesen) an, der zum Verbindungsaufbau über X.31 verwendet
werden soll.
USEDCHANNEL=1
Gibt an, daß die Verbindung (X.31) über den D-Kanal erfolgen soll. Ist dieser Wert nicht
oder =0 gesetzt wird einen B-Kanal benutzt.
VOICECOMPRESSION=ALAW
Wenn dieser Parameter definiert ist werden aufgenommene Sprachnachrichten als WAV-Datei gespeichert und es können
WAV-Dateien abgespielt werden, falls diese in einem unterstützten Format vorliegen. Z.Zt. werden die Formate ALAW
(ISDN in Europa) und ULAW (ISDN in USA) unterstützt (8kHz, 1 Kanal, 8 Bit).
VOICERECEIVE=AT#VRX
Gibt das Kommando an mit dem bei einem Voice-Modem der Sprachempfangsmodus gestartet wird
(Aufzeichnen von Sprachnachrichten). (wird nicht in Verbindung mit TAPI benutzt)
VOICETRANSMIT=AT#VTX
Gibt das Kommando an mit dem bei einem Voice-Modem der Sprachsendemodus gestartet wird
(Abspielen von Sprachnachrichten). (wird nicht in Verbindung mit TAPI benutzt)
WAITAFTERWRITE=1
Gibt die Anzahl Sekunden an, die nach jedem Schreiben auf das Device
gewartet wird (kann meistens auf 0 gesetzt werden).
WINDOWSIZE=2
Gibt die Fenstergröße für X.25 (Standard: 7) bzw. die B3-Fenstergröße für X.31 (Standard: 2) an.
X31CHANNELS=0,0,1,1,0,0
Gibt die zu verwendenden X.31-Kanäle an. Es werden durch Kommata getrennt die Werte für den
XONXOFF=1
Gibt an daß die Softwareflußkontrolle benutzt werden soll.
Im Kapitel [SMSGUI] stehen die im Folgenden aufgeführten Schlüsselworte zur Verfügung. Jedes Schlüsselwort muß in einer neuen Zeile stehen.
cfgEditable=1
Gibt an, ob die Datei sendsms.cfg von einem Endbenutzer des graphischen Frontends modifiziert werden darf (=1)
oder nicht (=0). Selbst wenn dieser Parameter auf 1 gesetzt ist kann der Endbenutzer die Konfiguration nur
modifizieren, wenn er auch Schreibrecht auf die Datei sendsms.cfg hat.
proEditable=1
Gibt an, ob die Datei sendsms.pro von einem Endbenutzer des graphischen Frontends modifiziert werden darf (=1)
oder nicht (=0). Selbst wenn dieser Parameter auf 1 gesetzt ist kann der Endbenutzer die Providerdefinitionen nur
modifizieren, wenn er auch Schreibrecht auf die Datei sendsms.pro hat.
showLogfile=0
Gibt an, ob ein Endbenutzer des graphischen Frontends die Logdatei von SendSMS anzeigen lassen kann
(=1) oder nicht (=0). Selbst wenn dieser Parameter auf 1 gesetzt ist kann der Endbenutzer die Logdatei nur
anzeigen lassen, wenn er auch Leserecht auf die Logdatei hat.
In den Kapiteln [ALLOW] und [DENY] stehen die im Folgenden aufgeführten Schlüsselworte zur Verfügung. Jedes Schlüsselwort muß in einer neuen Zeile stehen. Es wird immer nur eine von beiden Listen benutzt, sind beide definiert so wird die ALLOW-Liste benutzt.
USER= Dieser Parameter kann mehrfach angegeben werden. Es wird jeweils eine UserID angegeben, welche SendSMS benutzen bzw. nicht benutzen darf. Werden im Kapitel [ALLOW] eine oder mehrere UserIDs angegeben, darf SendSMS nur von diesen Benutzern benutzt werden. Werden die UserIDs im Kapitel [DENY] angegeben, dürfen alle Benutzer, außer den aufgelisteten, das Programm benutzen.
In dem Kapitel [BLACKLIST] stehen die im Folgenden aufgeführten Schlüsselworte zur Verfügung. Jedes Schlüsselwort muß in einer neuen Zeile stehen.
PHONE= Dieser Parameter kann mehrfach angegeben werden. Es wird jeweils eine Telefonnummer angegeben, an welche keine Nachrichten versendet werden sollen. Wenn die angegebene Nummer mit dem Zeichen '&' endet, so handelt es sich um einen Präfix, d.h. es werden alle Nummern gesperrt, die mit dem angegeben Wert beginnen. Die Nummern müssen in dem Format angegeben werden, wie sie auch zum Provider übertragen worden wären, d.h. es müssen mögliche Transformationen (siehe PREFIX) berücksichtigt werden.
ADDRESS=<ip-address>
Dieser Parameter ist äquivalent zu dem Parameter PHONE, nur daß hier eine IP-Adresse für eine
TCP/IP-Verbindung anstelle einer Telefonnummer angegeben wird.
ADDRNPI=9
Gibt die NumberingPlanIdentity an. Dieser Parameter wird in der Regel bei den Protokollen SMPP und UCP
zur Nutzung mit Großkundenzugängen benötigt. Fragen Sie bei Ihrem Provider nach dem
entsprechenden Wert.
ADDRTON=0
Gibt den TypeOfNumber an. Dieser Parameter wird in der Regel bei den Protokollen SMPP und UCP
zur Nutzung mit Großkundenzugängen benötigt. Fragen Sie bei Ihrem Provider nach
dem entsprechenden Wert.
ADDRESSRANGE=
Gibt den Address Range an (nur SMPP). Fragen Sie bei Ihrem Provider nach dem entsprechenden Wert.
AUTOALERT=<telefonnummer>
Dieser Parameter wird nur benutzt, wenn SendSMS im Servermodus läuft und mit dem Parameter
-aRECEIVE (zum Lesen von ankommenden SMSs) aufgerufen wurde. In diesem Fall gibt der Parameter
eine Telefonnummer an, für welche bei jedem Abarbeiten der SMS-Warteschlange des entsprechenden
Providers der Servicerechner angerufen wird und nach ankommenden Nachrichten aktiv gefragt wird
(dies kann bei kurzen Abfrageintervallen teuer werden). Bei CIMD2 muß zwar eine Telefonnummer
angegeben werden, diese hat jedoch keine Bedeutung.
AUTOCONNECT=<n>
Dieser Parameter wird nur benutzt, wenn SendSMS im Servermodus läuft und mit dem Parameter
-aRECEIVE (zum Lesen von ankommenden SMSs) aufgerufen wurde. In diesem Fall gibt der Parameter
eine Anzahl Sekunden an, die nach einem automatischen Verbindungsaufbau zum Servicerechner des entsprechenden
Providers auf ankommende Nachrichten gewartet wird. Der Unterschied zu AUTOALERT ist der,
daß kein überflüssiger Datenverkehr stattfindet und somit bei z.B. X.25/X.31-Verbindungen keine Kosten entstehen.
B1PROTOCOL=64K-HDLC
Mit diesem Parameter geben Sie das zu verwendende B1-Protokoll (ISDN, physical layer) an. Dies ist nur notwendig, wenn
der entsprechende Provider vom Standard abweichende Protokolle benutzt und die Verbindung per CAPI
aufgebaut wird. Bei Verwendung eines ISDN-Terminaladapters muß das entsprechende Protokoll mit
einem AT-Befehl in MODEMINIT ausgewählt werden. Es stehen folgende Auswahlmöglichkeiten zur
Verfügung:
64K-HDLC | 64 kbit/s with HDLC framing |
64K-TRANS | 64 kbit/s bit-transparent operation with byte framing from the network |
V.110-ASYNC | V.110 asynchronous operation with start/stop byte framing |
V.110-SYNC | V.110 synchronous operation with HDLC framing |
T.30-FAX3 | T.30 modem for fax group 3 |
64K-INVERT | 64 kbit/s inverted with HDLC framing |
56K-TRANS | 56 kbit/s bit-transparent operation with byte framing from the network |
MODEM-NEGOTIATION | Modem with full negotiation |
MODEM-ASYNC | Modem asynchronous operation with start/stop byte framing |
MODEM-SYNC | Modem synchronous operation with HDLC framing |
B2PROTOCOL=X.75-SLP
Mit diesem Parameter geben Sie das zu verwendende B2-Protokoll (ISDN, data link layer) an. Dies ist nur notwendig, wenn
der entsprechende Provider vom Standard abweichende Protokolle benutzt und die Verbindung per CAPI
aufgebaut wird. Bei Verwendung eines ISDN-Terminaladapters muß das entsprechende Protokoll mit
einem AT-Befehl in MODEMINIT ausgewählt werden. Es stehen folgende Auswahlmöglichkeiten zur
Verfügung:
X.75-SLP | ISO 7776 (X.75 SLP) |
TRANS | Transparent |
SDLC | SDLC |
LAPD-X.25 | LAPD in accordance with Q.921 for D channel X.25 |
T.30-FAX3 | T.30 for fax group 3 |
PPP | Point-to-Point Protocol |
IGNORE | Transparent (ignoring framing errors of B1 protocol) |
MODEM | Modem with full negotiation |
X.75-SLP-V.42 | ISO 7776 (X.75 SLP) with V.42 bis compression |
V.120-ASYNC | V.120 asynchronous mode |
V.120-ASYNC-V.42 | V.120 asynchronous mode with V.42 bis compression |
V.120-TRANS | V.120 bit-transparent mode |
LAPD | LAPD in accordance with Q.921 |
B3PROTOCOL=TRANS
Mit diesem Parameter geben Sie das zu verwendende B3-Protokoll (ISDN, network layer) an. Dies ist nur notwendig, wenn
der entsprechende Provider vom Standard abweichende Protokolle benutzt und die Verbindung per CAPI
aufgebaut wird. Bei Verwendung eines ISDN-Terminaladapters muß das entsprechende Protokoll mit
einem AT-Befehl in MODEMINIT ausgewählt werden. Es stehen folgende Auswahlmöglichkeiten zur
Verfügung:
TRANS | Transparent |
T.90NL | T.90NL with compatibility to T.70NL |
X.25-DTE-DTE | ISO 8202 (X.25 DTE-DTE) |
X.25-DCE | X.25 DCE |
T.30-FAX3 | T.30 for fax group 3 |
T.30-FAX3-EXT | T.30 for fax group 3 extended |
MODEM | Modem |
BDATALEN=1024
Gibt die maximale Länge von Datenblöcken (CAPI; hat nichts mit der Länge einer Nachricht zu tun) an.
Der Wert muß im Bereich zwischen 128 und 2048 liegen.
BAUD=4800
Gibt die zu verwendende Baudrate an (300, 600, 1200, 2400, 4800 oder 9600).
Dieser Wert, falls vorhanden, überschreibt den Wert in sendsms.cfg.
CIP=UNRESTRICTED-DIGITAL
Mit diesem Parameter kann (normalerweise nicht notwendig) der CIP-Wert
(Compatibility Information Profile) zum Verbindungsaufbau per CAPI angegeben werden.
Bei Verwendung eines ISDN-Terminaladapters muß der entsprechende Wert mit
einem AT-Befehl in MODEMINIT ausgewählt werden. Es stehen folgende Auswahlmöglichkeiten zur
Verfügung:
SPEECH | Speech |
UNRESTRICTED-DIGITAL | unrestricted digital information |
RESTRICTED-DIGITAL | restricted digital information |
3.1KHZ-AUDIO | 3.1 kHz audio |
7KHZ-AUDIO | 7 kHz audio |
VIDEO | Video |
PACKET-MODE | packet mode |
56KBIT-RATE-ADAPTION | 56 kbit/s rate adaption |
UNRESTRICTED-DIGITAL-WITH-TONES | unrestricted digital information with tones/announcements |
TELEPHONY | Telephony |
DATABITS=8
Gibt die Anzahl der Datenbits an (7 oder 8). Dieser Wert, falls vorhanden,
überschreibt den Wert in sendsms.cfg.
DEVICE=
Hier kann der Name eines Devices (so wie er in sendsms.cfg unter NAME definiert ist)
angegeben werden um die Nutzung des entsprechenden Devices für diesen Provider zu erzwingen.
DIALSUFFIX=
Bei manchen Modems/ISDN-Terminaladaptern muß an die zu wählende Nummer noch ein
oder mehrere AT-Kommandos angehängt werden, um z.B. ein bestimmtes Protokoll
auszuwählen. Diese Kommandos können hier definiert werden. Dieser Wert, falls vorhanden,
überschreibt den Wert in sendsms.cfg.
LINETYPE=ANALOG
Gibt an, ob es sich bei der Telefonnummer/Adresse das Providers um einen analogen (ANALOG), einen
digitalen (ISDN), eine TCP/IP Verbindung (TCP), einen X.25- (X.25) oder einen X.31-Anschluß (X.31) handelt.
Dieser Parameter kann ebenfalls bei den Devicedefinitionen
angegeben werden, wobei SendSMS automatisch ein passendes Device für einen
entsprechenden Provider auswählt. Wenn Sie z.B. beim Aufruf von SendSMS den
Provider D1_ISDN (dort ist LINETYPE=ISDN angegeben) auswählen, so wird automatisch ein
ISDN-fähiges Device gewählt.
MAXMSG=
Gibt die maximale Anzahl von Nachrichten an, die innerhalb einer einzelnen Verbindung
versendet werden können. Ist dieser Parameter definiert, so werden bis zu der
entsprechenden Anzahl Nachrichten versendet und danach automatisch die Verbindung
beendet und falls erforderlich eine neue Aufgebaut. Dies ist nötig, da einige
Provider nur eine begrenzte Anzahl Nachrichten pro Verbindung zulassen. Im
Servermodus bewirkt dieser Parameter, daß max. entsprechend
viele Nachrichten bearbeitet werden und der Server dann zum nächsten Provider wechselt.
MODEMINIT=
Gibt ein zusätzliches Initialisierungskommando an. Dieses Kommando wird nach
dem entsprechenden Kommando aus der Datei sendsms.cfg aufgerufen und ersetzt
dieses nicht. In den meisten Fällen kann dieser Parameter entfallen. Er wird
nur benötigt, wenn z.B. für einen Provider das Modem auf ein bestimmtes Protokoll
eingestellt werden soll. Z.B. sollte bei einem Provider mit UCP-Protokoll das Modem
auf V.42/LAPM eingestellt werden.
MSGDELAY=<n>
Gibt eine Anzahl von Sekunden an, welche zwischen dem Versenden von zwei Nachrichten innerhalb von einer
Verbindung gewartet wird (wird normalerweise nicht benötigt).
MSGLEN=
Hier wird die maximale Länge einer Nachricht (Anzahl Zeichen bzw. Anzahl Sekunden) angegeben.
Bei den Protokollen SKYPER und SCALL wird dieser Parameter automatisch bestimmt. In der
unregistrierten Version ist die maximale Länge auf 60 Zeichen bzw 5 Sekunden beschränkt.
MSGTYPE=
Gibt an, ob die Nachricht nur Ziffern (NUMERIC), beliebige Zeichen
(ALPHANUMERIC) oder gar keine Zeichen (TONE) enthalten darf
(ALPHANUMERIC ist der Standard). Bei den Protokollen SKYPER und
SCALL wird dieser Parameter automatisch bestimmt.
ORIGINATINGADDR=01234..
Gibt die Absendeadresse (Telefonnummer) an, die für diesen Provider benutzt werden soll
(nur in Professional-Edition).
PARITY=NONE
Gibt die Art der Parität an (NONE, EVEN oder ODD). Dieser Wert, falls
vorhanden, überschreibt den Wert in sendsms.cfg.
PASSWORD=
Für manche Provider wird ein Passwort benötigt (bei UCP ist dies der Wert für Authentication Code),
welches hier angegeben werden kann.
PHONE=
Hier wird die Telefonnummer, über die Nachrichten an das entsprechende
Netz gesendet werden können, angegeben. Ist das letzte Zeichen der Nummer
ein '&', so bedeutet dies, daß beim Anwählen des Providers an diese Nummer
die Nummer des Empfängers angehängt wird.
Bei Benutzung eines GSM-Zugangs geben Sie hier die SMSC-Adresse in der Form
+<a><b><c>
an, wobei <a> die Landesvorwahl (ohne Nullen),
<b> die Ortsvorwahl (ohne Null) und <c> die Telefonnummer angibt.
Dieser Parameter kann pro Provider mehrfach definiert werden.
PROTOCOLTIMEOUT=60
Gibt die Zeitdauer (in Sekunden) an, die das Programm auf eine Antwort vom
Servicerechner wartet. Wenn dieser Wert nicht definiert wurde werden folgende Standardwerte benutzt, welche
über den vom Protokoll vorgeschriebenen Grenzen liegen:
TAP | 30 Sekunden |
UCP | 120 Sekunden |
GSM | 160 Sekunden |
SMPP | 30 Sekunden |
CIMD2 | 30 Sekunden |
PORT=<n>
Gibt den zu verwendenden Port (auf dem Zielrechner) für eine TCP/IP-Verbindung an. Der Port wird Ihnen vom Provider mitgeteilt.
PREFIX=
Hier steht die Vorwahl des entsprechenden Netzes. Anhand dieser Vorwahl wird
beim Aufruf von SendSMS mit einer Telefonnummer (kein Alias aus dem Telefonbuch)
überprüft, zu welchem Netz die entsprechende Telefonnummer gehört. Ist in dem Parameter ein | enthalten,
dient dies zur Abtrennung zwischen einem Teil der zur Erkennung dient und einem Teil durch den die erkannte
Vorwahl ersetzt wird. So kann man z.B. eine Vorwahlen löschen (PREFIX=+491656|) oder durch eine andere ersetzen
(PREFIX=+49179|49179).
Dieser Parameter kann pro Provider mehrfach definiert werden.
PROTOCOL=
Hier muß TAP (Telocator Alphanumeric Protocol), TAPAIM (TAP-Protokoll mit AIM-Erweiterungen),
SMPP (Short Message Peer to Peer), CIMD2 (Computer Interface to Message Distribution),
UCP (Universal Computer Protocol), GSM (Global System for Mobile communication), UUS (User-User-Signalling),
DTMF, Scall, Skyper oder CITYRUF stehen. UUS ist ein Euro-ISDN Dienstmerkmal, welches nicht in
allen Ländern unterstützt wird und mit SendSMS nur über CAPI 2.0 genutzt werden kann.
DTMF ist für Pagerdienste gedacht, bei welchen man über Tastentelefone Nachrichten für den Empfänger
eingeben kann (CAPI 2.0 oder Voicemodem). Im Falle von Scall und Skyper muß das Modem
so konfiguriert werden, daß XON/XOFF-Zeichen nicht gefiltert werden (zur Gegenstelle
übertragen werden).
Bei UCP kann zusätzlich zwischen verschiedenen Sendefunktionen gewählt werden, indem in eckigen Klammern eingerahmt der zu verwendende Funktionscode (UCP[01], UCP[30] oder UCP[51]; im Falle eines Großkundenzugangs ist i.d.R. die Funktion 51 zu benutzen) angegeben wird. Bei den Funktionen 30 und 51 wird die Telefonnummer des Absenders und - falls definiert - eine Validity Period übertragen. Diese Funktionen werden aber nicht von allen Providern (z.B. Quix) unterstützt.
SOURCEPORT=<n>
Gibt den zu verwendenden Port (auf dem Ausgangsrechner) für eine TCP/IP-Verbindung an. Der Port wird Ihnen vom Provider mitgeteilt.
STOPBITS=1
Gibt die Anzahl der Stopbits an (1 oder 2). Dieser Wert, falls vorhanden,
überschreibt den Wert in sendsms.cfg.
SYSTEMID=
Gibt die System ID an (nur SMPP). Fragen Sie bei Ihrem Provider nach dem entsprechenden Wert.
SYSTEMTYPE=
Gibt den System Type an (nur SMPP). Fragen Sie bei Ihrem Provider nach dem entsprechenden Wert.
TRANSTABLE=tap.ctt
Gibt eine Zeichenübersetzungstabellen an (siehe Zeichenübersetzungstabellen).
UCP60PASSWORD=
Falls von einem UCP-Provider die Passwort-Option benutzt wird, wird hier das Passwort angegeben, welches zum
Beginn einer Sitzung mit der UCP-Funktion 60 übertragen wird. Dies ist i.d.R. nur - wenn überhaupt -
bei Großkundenzugängen notwendig. In diesem Fall muß auch noch der Parameter USEUCP60=1 gesetzt werden.
USERID=
Für manche Provider (CIMD2 oder UCP (Funktion 60)) wird eine UserID benötigt,
welche hier angegeben werden kann.
USEUCP60=1
Gibt an, daß vor dem Versenden von SMSs eine Sitzung (mit UCP-Funktion 60) eröffnet werden muß.
Weiterhin sollte der Parameter UCP60PASSWORD gesetzt werden.
WAITAFTERCONNECT=
Bei manchen Providern (mit UCP-Protokoll) muß nach dem Connect, bevor die
erste Nachricht versendet wird, noch eine Pause eingelegt werden. Dieser
Parameter gibt die Länge der Pause (in Sekunden) an.
Dies ist anscheinend nur nötig, wenn das Modem nicht auf V.42/LAPM gesetzt
ist. Falls möglich ist es der bessere Weg, in MODEMINIT (s.u.) einen
entsprechendes AT-Kommando anzugeben.
[D1] PHONE=01712092522 PROTOCOL=TAP PREFIX=+49171 MSGTYPE=ALPHANUMERIC MSGLEN=160
[D1] wobo=01714160598 ; Wolfgang Böcherer
sendsms -pVOICE 07246942484 -fvoice.datoder
sendsms -pVOICE 07246942484 < voice.datIn beiden Fällen wird die angegeben Nummer angerufen und die Sprachnachricht, die unter der Datei voice.dat gespeichert ist, abgespielt.
Bei Verwendung eines GSM-fähigen Devices ist es auch möglich Nachrichten zu empfangen (SIM auslesen) und zu speichern (-aRECEIVE).
Um Nachrichten zu spoolen, können Sie einfach SendSMS aufrufen oder die Spooldateien selbst generieren. Die Spooldateien müssen in dem Verzeichnis <SPOOLDIR> (aus sendsms.cfg) abgelegt werden, wobei es in diesem Verzeichnis für jeden Provider ein Unterverzeichnis gibt. Pro Spooldatei wird jeweils eine eigen Datei (darf nicht mit '.dat' enden) angelegt. Im Folgenden ist eine Beispielspooldatei angegeben:
[D1_ISDN] COUNT=0 PHONE=491714160598 DCS=240 SPLIT=10 FROM=wobo SMS=Dies ist eine Beispielspooldatei.Der Parameter COUNT gibt die Anzahl der bisherigen Sendeversuche an, SPLIT gibt die max. Anzahl von SMS an, in die die angegebene Nachricht zerlegt werden soll, und DCS steht für DataCodingScheme (siehe GSM 03.38). Eine Zeile in der Spooldatei darf max. 3000 Zeichen enthalten. Sollte die zu spoolende Nachricht länger sein, so muß diese in mehreren Zeilen mit jeweils max. 3000 Zeichen angegeben werden (mehrmals SMS=...). Zeilenumbrüche werden mit der Escapesequenz '\n' angegeben und ein 'Backslash' mit '\\'.
Alternativ kann man zu einer Nachricht, welche sofort übertragen wird, mit dem Parameter -D einen Zeitpunkt angegeben, zu dem die Nachricht von dem Servicerechner ausgeliefert werden soll.
Mit dem Parameter -V kann man eine Gültigkeitsdauer für eine Nachricht definieren. Ist diese angegeben wird eine Nachricht automatisch gelöscht, falls sie bis zu dem angegebenen Zeitpunkt nicht an den Empfänger ausgeliefert werden konnte.
Die entsprechenden Zeitpunkte werden jeweils entweder relativ (Anzahl Minuten mit einem vorgestellten Plus-Zeichen (+), z.B. -S+10) oder absolut (Uhrzeit und Datum in dem Format hhmmDDMMYYYY (hh = Stunde, mm = Minute, DD = Tag, MM = Monat, YYYY = Jahr), z.B. -V203021101999) angegeben. Diese Parameter werden nicht von allen Protokollen/Providern unterstützt.
Die Auswahl der auszuführenden Funktion erfolgt auf der Kommandozeile mit dem Parameter -a<action>. Wird dieser Parameter nicht angegeben wird der Wert für <action> automatisch auf SEND gesetzt. Wird er angegeben kann zwischen SEND, CONFIRM, RECEIVE, STATUS, DELETE und CHGPWD gewählt werden. Hierbei bedeutet:
SEND | es soll eine Nachricht versendet werden |
CONFIRM | es soll eine Nachricht versendet und anschließend gleich der Status (ob die Nachricht an den Empfänger ausgeliefert oder auf dem Servicerechner gespeichert wurde) angezeigt werden |
STATUS | es soll der Status einer zuvor übertragenen Nachricht abgefragt werden |
DELETE | es soll eine zuvor übertragene aber noch nicht ausgelieferte Nachricht gelöscht werden (nicht ausgeliefert werden) |
RECEIVE | es sollen Nachrichten empfangen werden |
CHGPWD | es soll das Passwort für einen Provider, welcher UCP und zum Start einer Sitzung die UCP-Funktion 60 benutz, geändert werden |
In allen Fällen muß die Telefonnummer des Empfängers (zumindest bei dem Provider D1 bei einer Statusabfrage bzw. beim Löschen einer Nachricht in der Form 49171...) angegeben werden. Zum Löschen einer Nachricht muß zusätzlich die Identifikationsnummer/Timestamp der Nachricht (wurde nach dem Übertragen angezeigt) angegeben werden. Im Kapitel Aufruf Syntax sind einige Aufrufbeispiele angegeben.
sendsms [Optionen] {<phoneNo> | <alias> -g<groupFile>} [{<message> | < <msgFile> | -f<msgFile>}]
Optionen sind (bitte beachten Sie die Groß-/Kleinschreibung):
-a<action> | gibt die auszuführende Aktion an (SEND, CONFIRM, RECEIVE, STATUS, DELETE oder CHGPWD) |
-b<pbkFile> | gibt den Namen der Telefonbuchdatei an (sendsms.pbk) |
-c<cfgFile> | gibt den Namen der Konfigurationsdatei an (sendsms.cfg) |
-C<msgClass> | Nachrichten Klasse (1-3); siehe Data Coding Scheme in GSM 03.38 (Standard ist 1; 0 für direkte Anzeige der Nachricht auf dem Empfängerdisplay) |
-d<device> | hiermit kann die Benutzung eines bestimmten Devices vorgegeben werden |
-D<Sendezeit> | gibt den Zeitpunkt (hhmmDDMMYYYY) an, wann die Nachricht (vom Servicerechner) ausgeliefert werden soll |
-f<msgFile> | gibt den Namen eines Files an, dessen Inhalt als Nachricht verschickt werden soll |
-g<groupFile> | gibt den Namen einer Datei an, welche die Empfängernummern beinhaltet |
-h | zeigt die Hilfe an |
-H | zeigt die Versionsnummer von SendSMS an |
-i | installiert SendSMS (Servermode) als einen Service (nur WindowsNT) |
-m<MSN> | gibt die zu verwendende MSN an (nur bei CAPI 2.0) |
-M<SMS> | gibt die zu versendende Nachricht an (wird benötigt, wenn die Nachricht mit einem '-' beginnt) |
-n | SendSMS sendet die Nachricht(en) direkt über das Modem, auch wenn z.Zt. ein Server läuft |
-N<n> | zerlegt die angegeben Nachricht in bis zu <n> SMSs (Standard ist 1) |
-o<Absender> | überschreibt den Absender (UserID) der Nachricht an |
-O<Absendenummer> | Angabe einer Absendenummer, welche beim Empfänger angezeigt wird (nur in Professional-Edition) |
-p<provider> | gibt den Provider zur angegebenen Telefonnummer an |
-P<pid-Datei> | gibt den Namen der zu verwendenden PID-Datei an (Standard ist sendsms.pid |
-q<n>[s] | startet SendSMS im Servermodus (Spoolverzeichnis wird alle <n> Minuten bzw. [Sekunden] überprüft |
-r<proFile> | gibt den Namen der Providerdatei an (sendsms.pro) |
-R | der Parameter ReplyPathRequest (siehe GSM 03.40) wird gesetzt |
-s | SendSMS spoolt die Nachricht(en), auch wenn z.Zt. kein Server läuft |
-S<Startzeit> | gibt den Zeitpunkt (hhmmDDMMYYYY) an, wann die Nachricht versendet werden soll (vom lokalen Rechner) |
-t<Zeichensatz> | gibt an, ob die Nachricht im ISO-Zeichensatz (iso8859), in der Codepage 850 (cp850) oder binär (binary kodiert ist |
-u<userexit> | gibt eine Programm-/Batchdatei an die gestartet wird, wenn eine Nachricht gesendet oder empfangen wurde (Servermodus) |
-U<userdataheader> | hexkodierter UserDataHeader (siehe GSM 03.40) ohne Längenangabe (z.B. für Klingeltöne) |
-v | verbose; SendSMS zeigt die Kommunikation mit dem Kommunikationsdevice am Bildschirm an |
-V<>validity period> | gibt den Zeitpunkt (hhmmDDMMYYYY) an, bis wann die Nachricht gültig bleiben soll |
-x | deinstalliert den Service SendSMS (nur WindowsNT) |
Z.B.: sendsms 0171xxxxx "Ich teste SendSMS."
Es ist immer mindestens ein Parameter - die Telefonnummer des Empfängers bzw. ein Alias (Eintrag im Telefonbuch) - notwendig. Alternativ kann auch mit dem Parameter -p der Name einer Datei angegeben werden, welche die Nummern von mehreren Empfänger beinhaltet. Mit solch einer Datei kann eine Nachricht an beliebig viele Empfänger, welche auch über verschiedene Netze erreichbar sind, versendet werden. Eine entsprechende Datei muß folgendes Format haben:
[<provider1>] PHONE=<nummer1> PHONE=<nummer2> PHONE=<nummer3> PHONE=<alias1> PHONE=<alias2> [<provider2>] PHONE=<nummer4>
Durch eckige Klammern eingerahmt werden Provider (müssen in der Datei sendsms.pro vorhanden sein) angegeben, zu welchen in den folgenden Zeilen Telefonnummern für Empfänger folgen. Pro Zeile wird eine Nummer (PHONE=...) bzw. ein Alias angegeben. In obigem Fall wird die Nachricht also an 5 Nummern des ersten Providers (während der selben Verbindung) gesendet. Außerdem wird die Nachricht auch noch an einen Empfänger von <provider2> gesendet.
Als zweiter Parameter wird die zu versendende Nachricht in Hochkommata angegeben (ACHTUNG: Je nach verwendeter Shell werden bestimmte Zeichen von dieser interpretiert und ersetzt (z.B. '!') und/oder müssen anstatt Hochkommata doppelte Hochkommata angegeben werden). Eine auf der Kommandozeile angegebene Nachricht darf nicht mit einem Bindestrich beginnen (in diesem Fall muß die Nachricht mit dem Parameter -M angegeben werden). Alternativ kann die zu versendende Nachricht auch über eine Umleitung aus einer Datei angegeben werden (< msgFile) oder mit dem Parameter -f<msgFile>, wobei <msgFile> den Namen einer Datei angibt, deren Inhalt als Nachricht (zumindest die ersten n Zeichen) versendet wird. Wird beim Aufruf von SendSMS nur ein Parameter (Empfänger) angegeben, so wird die zu versendende Nachricht von der Konsole eingelesen. Soll eine Nachricht an einen Provider gesendet werden, welcher anhand der Nummer des Empfängers nicht eindeutig zu identifizieren ist, so muß über den Parameter -p<provider> der entsprechende Provider angegeben werden (Name wie er in der Datei 'sendsms.pro' definiert ist). Beispiel: Es soll eine Nachricht an einen Quix-Empfänger gesendet werden. Da SendSMS anhand der Quix-Nummer (7-stellige Nummer ohne Vorwahl) nicht erkennen kann, was dies für eine Nummer ist, muß zusätzlich beim Aufruf -pQuix_News angegeben werden (bei D1-Nummern wird anhand der Vorwahl (0171) erkannt, daß es eine D1-Nummer ist).
Binäre Nachrichten müssen in hexadezimaler Kodierung (ohne Längenangabe) angegeben werden. Für jedes binäre Zeichen müssen also zwei Zeichen (0-9 und A-F) angegeben werden. Die Nachricht "ABC" entspricht z.B. in hexadezimaler Kodierung "414243". Für z.B. Klingeltöne oder Operator-Logos muß zusätzlich noch mit dem Parameter -U ein hexkodierter UserDataHeader (ohne Längenangabe) angegeben werden. Für einen Klingelton ist dies z.B. -U050415811581 (siehe GSM 03.40 und Narrowband Sockets Specification (Intel, Nokia)). Für Klingeltöne bzw. Operator-Logos kann auch - anstelle des hexkodierten UserDataHeaders - die vordefinierten Konstanten -Uringtone, -Uoperatorlogo, -UCompactBusinessCardCard, -UGenericBusinessCardCard (vCard), -UvCalendar bzw. -UPicture verwendet werden (nur falls der Empfänger die Smart Messaging Spezifikation erfüllt).
Wird SendSMS mit dem Parameter -q<n> gestartet, so läuft SendSMS als Server und überprüft alle <n> Minuten (bzw. alle <n> Sekunden, falls <n> mit einem 's' endet) das Spoolverzeichnis (SPOOLDIR). Ist <n> = 0 wird SendSMS nach einmaligem abarbeiten des Spoolverzeichnisses beendet. Falls Dateien vorhanden sind werden diese innerhalb einer minimalen Anzahl von Verbindungen versendet. Sobald ein SendSMS-Server läuft werden alle weiteren Instanzen automatisch im Spoolmodus gestartet. Mit den Parameter -n (direkt versenden) bzw. -s (auf jeden Fall spoolen) kann dieses Verhalten geändert werden. Mit diesen Mechanismen hat man die Möglichkeit Nachrichten über eine Zeitdauer zu sammeln und diese mit einer minimalen Anzahl von Verbindungen innerhalb der günstigsten Tarifzeiten zu versenden.
Mit dem Parameter -t wird angegeben in welchem Zeichensatz die zu versendende Nachricht angegeben wird. Standardmäßig benutz SendSMS unter OS/2 die Codepage 850 (cp850) und ansonsten ISO-8859 (iso8859). Wenn die zu versendende Nachricht nicht mit dem standard Zeichensatz angegeben wird, so muß dies mit diesem Parameter angezeigt werden.
Beispiele:
sendsms 01714160598 test
Die Nachricht "test" wird an die angegebene Nummer gesendet.
sendsms -aCONFIRM -pD1 01714160598 "Dies ist eine Testnachricht"
Die Nachricht "Dies ist eine Testnachricht" wird an die angegebene Nummer gesendet. Der zu verwendende Provider
wird explizit angegeben. Nach dem Versenden der Nachricht wird auf eine Bestätigung gewartet,
welche angibt, ob die Nachricht ausgeliefert oder auf dem Servicerechner gespeichert wurde.
sendsms 01714160598 -fmsg.txt
sendsms -dModem1 01714160598 < msg.txt
In beiden Fällen wird der Inhalt der Datei msg.txt an die angegeben Nummer gesendet. Im zweiten Fall
wird die Benutzung des Devices Modem1 (Parameter NAME im Kapitel [Device] in sendsms.cfg) vorgegeben.
sendsms -ggroup "Alarm an alle"
Es wird die Nachricht "Alarm an alle" an alle Nummern, die in der Datei group aufgelistet
sind, versendet.
sendsms -pVOICE 07246942484 < voice.dat
sendsms -pVOICE 07246942484 -fvoice.dat
Es wird eine Sprachnachricht (Voice-Modem oder CAPI 2.0) an die angegebene Nummer gesendet. Die
Datei voice.dat muß eine Voice-Datei in dem nativen Format des benutzen Devices sein.
sendsms -pUUS 4160598 "Dies ist eine Testnachricht"
Es wird die Nachricht "Dies ist eine Testnachricht" per UUS (nur mit CAPI 2.0) an die Nummer 4160598
gesendet. Dies funktioniert nur wenn der Dienst UUS vom Netzbetreiber und von beiden
Kommunikationsseiten unterstützt wird. Die Übertragung erfolgt im D-Kanal und ist kostenlos.
sendsms -pVOICE 07246942484 -aRECEIVE -fvoice.dat
Es wird die angegebene Nummer angerufen und eine Sprachnachricht im nativen Deviceformat in der
Datei voice.dat abgespeichert.
sendsms -aSTATUS 01714160598 1141863480
Es wird der Status der Nachricht 1141863480 (diese Nummer wurde nach dem Absenden der Nachricht angezeigt)
für die Nummer 01714160598 abgefragt.
sendsms -aDELETE 01714160598 1141863480
Es wird die Nachricht 1141863480 für die Nummer 01714160598 gelöscht (falls die Nachricht
noch nicht ausgeliefert wurde).
sendsms -q5s
Started SendSMS im Servermode mit Überprüfung des Spoolverzeichnisses alle 5 Sekunden.
sendsms -q5s -aRECEIVE
Started SendSMS im Servermode mit Überprüfung des Spoolverzeichnisses alle 5 Sekunden. Falls
GSM-Modems definiert sind oder bei einem Provider der Parameter AUTOALERT oder AUTOCONNECT gesetzt ist werden diese
zusätzlich auf ankommende Nachrichten überprüft.
sendsms -q5s -aRECEIVE -pD1_X31
Started SendSMS im Servermode. Da ein Provider explizit angegeben ist wird nur dieser
Provider abgearbeitet und die Verbindung zu diesem Provider erst wieder bei Programmabbruch beendet.
sendsms -aCHGPWD -pD1_X31 password
Es wird eine Verbindung zum Provider (mit UCP-Protokoll) hergestellt und das Passwort geändert. Danach wird
dir Verbindung gleich wieder beendet.
sendsms 01724160598 -tbinary -Uringtone -fringtone
Es wird ein Klingelton, der in der Datei ringtone in binärer Form (hexcodiert) vorliegt, übertragen. Die funktioniert nur,
wenn der Empfänger die Smart Messaging Spezifikation unterstützt und NICHT TAP als Protokoll verwendet wird.
\wobo, "| /usr/local/sendsms/forward.sms"Diese Datei bewirkt, daß alle für Sie ankommenden Emails an die UserId wobo (hier geben Sie Ihre eigen UserId an) weitergeleitet werden (das heißt, die Email ist für Sie weiterhin ganz normal verfügbar, so wie auch ohne .forward Datei) und daß automatisch das folgende Script forward.sms aufgerufen wird. Dieses Script sendet eine Nachricht (mit dem Absender und dem Subject der Email) durch SendSMS an die angegebene Nummer.
#! /bin/sh egrep -ih '^From:|^Subject:' | /usr/local/sendsms/sendsms 01711234567 > /dev/null exit 0
Eine direkte Integration in sendmail ist ebenfalls sehr einfach möglich. Hierzu definiert man einfach einen MTA in sendmail.cf (z.B. Msendsms, ...) und im 'Rule Set 0' eine Regel, welche angibt wann SendSMS bzw. ein Script - ähnlich dem o.a. forward.sms - aufgerufen werden soll.
Unter WindowsNT/Windows 9x ist eine entsprechende Benachrichtigung durch SendSMS bei eintreffenden Emails z.B. mit dem Freeware-Produkt POSTIE möglich.
Aufgerufen wird das Beispielscript einfach indem Sie in der Adressen-Zeile Ihres Browsers
Folgendes eingeben:
http://<server>/cgi-bin/sendsms.cgi
bzw. einen entsprechenden Link in Ihre Seiten einbauen.
Beispiel (X.25):
sendsms.cfg | sendsms.pro |
[Device] DEVICETYPE=X.25 (EICON) LINETYPE=X.25 DEVICE=ex25.dll CONNECTTIMEOUT=5 PACKETLEN=2048 WINDOWSIZE=7 ORIGINATINGADDR=<lokale Adresse> |
[D1_X25] PHONE=012345.... LINETYPE=X.25 PROTOCOL=UCP[51] PREFIX=+49170|+49170 PREFIX=+49171|+49171 PREFIX=+49175|+49175 MSGTYPE=ALPHANUMERIC MSGLEN=160 USEUCP60=1 ; falls die Funktion 60 vom Provider benutzt wird UCP60PASSWORD=<Passwort> ; falls die Passwortoption eingeschaltet ist USERID=<large account> |
Beispiel (X.31):
sendsms.cfg | sendsms.pro |
[Device] DEVICETYPE=CAPI 2.0 LINETYPE=X.31 DEVICE=capi2032.dll CONNECTTIMEOUT=5 USEDCHANNEL=1 TEI=1 X31CHANNELS=0,0,1,2,0,0 MSN=25 |
[D1_X31] PHONE=012345.... LINETYPE=X.31 PROTOCOL=UCP[51] PREFIX=+49170|+49170 PREFIX=+49171|+49171 PREFIX=+49175|+49175 MSGTYPE=ALPHANUMERIC MSGLEN=160 USEUCP60=1 ; falls die Funktion 60 vom Provider benutzt wird UCP60PASSWORD=<Passwort> ; falls die Passwortoption eingeschaltet ist USERID=<large account> |
Beispiel:
sendsms.pro |
[D1_TCP] ADDRESS=127.1.1.1 PORT=12345 LINETYPE=TCP PROTOCOL=UCP[51] PREFIX=+49170|+49170 PREFIX=+49171|+49171 PREFIX=+49175|+49175 MSGTYPE=ALPHANUMERIC MSGLEN=160 USEUCP60=1 ; falls die Funktion 60 vom Provider benutzt wird UCP60PASSWORD=<Passwort> ; falls die Passwortoption eingeschaltet ist USERID=<large account> |
Falls in der Datei sendsms.cfg der Parameter RCZEROIFOK=1 gesetzt ist wird im erfolgsfall eine 0 als Returncode zurück gegeben. Dies ist hilfreich, wenn SendSMS in Zusammenhang mit z.B. einem Emailsystem benutzt wird.
AIM | Application Interface Module |
API | Application Programming Interface |
BAI | Böcherer Angewandte Informatik |
CAPI | COMMON-ISDN-API |
CIMD2 | Computer Interface to Message Distribution |
DLL | Dynamic Link Library |
DTMF | Dual Tone Multiplexed Frequency |
ETSI | European Telecommunications Standard Institute |
GSM | Global System for Mobile computing |
IP | Internet Protocol |
MO | Mobile Originated |
MT | Mobile Terminated |
SMPP | Short Message Peer to Peer |
SIM | Subscriber Identity Module |
SMS | Short Message Service |
SMSC | Short Message Service Center |
SO | Shared Object |
TAP | Telecator Alphanumeric Protocol |
TAPI | Telephony API |
TCP | Transmission Control Protocol |
UCP | Universal Computer Protocol |
UUS | User User Signalling |
Böcherer Angewandte Informatik Scheffelstraße 17a D-76135 Karlsruhe |
Tel: +49 (0)721 9109 550 Fax: +49 (0)721 9109 555 Email: info@bai.de WWW: http://www.bai.de |