Toolmaker Produkt-Dokumentation
gsmtext - Fehlersuche und -behebung
Inhaltsübersicht
- 1 Lizenz prüfen
- 2 Bibliotheken und Verzeichnisse für gsmtext
- 3 Fehlersuche und -behebung auf IBM i
- 3.1 Version feststellen
- 3.1.1 IBM i-Version
- 3.1.2 gsmtext Version
- 3.2 Befehle zur Konfiguration
- 3.3 Start/Stop -Befehle
- 3.4 Kompletter ("sauberer") Neustart
- 3.5 Subsystem und Jobs
- 3.6 Logs/Protokolle/Dumps
- 3.6.1 Die SPLF GSM490P
- 3.6.1.1 CMS ERROR- Codes in der GSM490P
- 3.6.1.2 Der CREG-Befehl und seine Antworten
- 3.6.1.3 Der CNMI-Befehl: Umgang mit unverlangt eingehenden SMS
- 3.6.1.4 Standard-Fehlersituationen aus verschiedenen Support-Cases
- 3.6.1.5 Weitere links zum Thema GSM-Hayes-Befehle
- 3.6.1.6 Liste der GSM-Fehlercodes "CME Error xxx" und "CMS Error xxx"
- 3.6.2 SMTP / Email -Protokoll-Dateien im IFS, Verzeichnis /midjet/gsm/log
- 3.6.3 Protokoll-Dateien in Bibliothek GSMTEXT
- 3.6.4 Protokoll-Dateien im IFS
- 3.6.5 Einträge im Nachrichtenprotokoll (STRGSMT, Aw 5)
- 3.6.1 Die SPLF GSM490P
- 3.1 Version feststellen
- 4 Fehlersuche GSM-Einheit
- 5 Fehlersuche Comserver (Comport)
- 6 Support-Fälle
- 6.1 Email-Versand funktioniert nicht (18030213)
- 6.2 QSYSOPR zeigt "GSM Einheitenfehler"
- 6.3 SMS gehen nicht raus - GSM490P zeigt: +CREG 0,2 (18030226)
- 6.4 SMS gehen nicht raus - GSM490P zeigt: +CREG 0,3
- 6.5 Alle SMS bleiben im Status "N.verfügb." (19000003)
- 6.6 MSG-RNX0100 T/GSM320 – Stmt 1607 - Alarmierung fkt. nicht (19000176)
- 6.7 Job GSMTCTL ends unexpectedly - RNX0100 F/QRNXIE T/GSM400 Stmt 2495 (19000174)
- 6.8 SMS gehen nicht 'raus - Kein Kontakt zum Comserver
- 6.9 Intermittierender (sporadischer) Ausfall - nach einem gewissen Zeitintervall werden keine SMS mehr gesendet
Lizenz prüfen
DSPPFM GSMTEXT/LCLICDP
Fehlersuche und -behebung auf IBM i
Version feststellen
IBM i-Version
GO LICPGM, Auswahl 10, Taste F11
gsmtext Version
STRGSMT - Die Versionsnummer steht oben links auf dem Bildschirm (z.B. "6.13")
Befehle zur Konfiguration
Start/Stop -Befehle
STRGSMT
Auswahl 21 zum Starten
Auswahl 22 zum Beenden
1.. Das Subsystem über STRGSMT Punkt 22 beenden
2. Mit WRKUSRJOB GSMTEXT prüfen, dass kein Job des Benutzers mehr aktiv ist
a) Wenn doch: mit Auswahl 4 (F4) den Job beenden (Auswahl: *IMMED)
3. GSM Modul vom Strom trennen
4. Den ComServer vom Strom trennen
5. alle Kabel/Stecker am Gerät auf festen Sitz prüfen
5a - wenn von der Hotline angefordert: SIM-Karte auf sichern Sitz prüfen
6. Stromzufuhr des ComServer wieder aktivieren, kurz (2 Minuten) warten
7. Stromzufuhr des GSM-Moduls wieder aktivieren, kurz (2 Minuten) warten
8. Das Subsystem mit Punkt 21 wieder starten und ca. 10 Min. laufen lassen.
Subsystem und Jobs
Subsystem GSMTEXT
Minimum-Jobs:
GSMTCTL - Pgm-GSMTCTL
GSMTPR1 - Pgm-GSMTPR1
GSMTSY1 - Pgm-GSMTSY1
Verarbeitet die Checkpoints *SBS, *MSGQ, *MSGW, *JOBQ, *OUTQ, *JOB, *SBS und die für *SYSACT konfigurierten Systeme
GSMTSY2 - Pgm-GSMTSY2
Verarbeitet die Checkpoints *HTTP, *SMTP, *POP3, *SERVER
Weitere mögliche Jobs - abhängig von der Anbindung an das SMS-Netzwerk
GSMTRUT - DLY-30
Anbindung mit Teltonica-RUT-Einheiten
GSMTSND
Anbindung mit Modemen, X32, X25 oder GSM-Einheiten mit Comport
GSMT35CC - Pgm-GSMTCMS
Anbindung mit GSM-Einheiten, die per Comport angeschlossen sind
GSMT35CM - Pgm-GSMTCMN
Anbindung mit GSM-Einheiten, die per V.24 oder Comport angeschlossen sind
GSMTTCP und GSMTTTCS
Anbindung über TCP/IP
Weitere mögliche Jobs - abhängig von den konfigurierten Checkpoints
GSMTSY3 - Pgm-GSMTSY3
Verarbeitet *USRDFN
GSMTSY4 - Pgm-GSMTSY4
Verarbeitet *SENSOR
Weitere mögliche Jobs
GSMTNTM - Pgm-GSMTNTM
GSMTPR2 - Pgm-GSMTPR2
GSMTSRV - Pgm-GSMTSRV
GSMTSC1 - Pgm-GSMTSC1
GSMTSC2 - Pgm-GSMTSC2
Logs/Protokolle/Dumps
Die SPLF GSM490P
Aufruf mit
WRKSPLF SELECT(GSMTEXT *ALL *ALL GSM490), EnterF18
Diese SPLF wird immer erzeugt, wenn es irgendwelche Unregelmäßigkeiten gibt. In ihr ist die gesamte Kommunikation für einen Vorgang abgebildet, die zwischen der IBM i und der GSM-Einheit stattfindet. Anhand der Befehle der IBM i (D1) und der Antworten der Einheiten (D2) kann man den Fortgang des Vorganges erkennen.
WRKOUTQ *ALL und dann scrollen bis zur OutQ GSMTEXT.
CMS ERROR- Codes in der GSM490P
CMS - Antwort, nachdem eine Nachricht übergeben wurde
CMS ERROR: 1 Unassigned number
CMS ERROR: 8 Operator determined barring
CMS ERROR: 10 Call bared
CMS ERROR: 21 Short message transfer rejected
CMS ERROR: 27 Destination out of service
CMS ERROR: 28 Unindentified subscriber
CMS ERROR: 29 Facility rejected
CMS ERROR: 30 Unknown subscriber
CMS ERROR: 38 Network out of order
CMS ERROR: 41 Temporary failure
CMS ERROR: 42 Congestion
CMS ERROR: 47 Recources unavailable
CMS ERROR: 50 Requested facility not subscribed
CMS ERROR: 69 Requested facility not implemented
CMS ERROR: 81 Invalid short message transfer reference value
CMS ERROR: 95 Invalid message unspecified
CMS ERROR: 96 Invalid mandatory information
CMS ERROR: 97 Message type non existent or not implemented
CMS ERROR: 98 Message not compatible with short message protocol
CMS ERROR: 99 Information element non-existent or not implemente
CMS ERROR: 111 Protocol error, unspecified
CMS ERROR: 127 Internetworking , unspecified
CMS ERROR: 128 Telematic internetworking not supported
CMS ERROR: 129 Short message type 0 not supported
CMS ERROR: 130 Cannot replace short message
CMS ERROR: 143 Unspecified TP-PID error
CMS ERROR: 144 Data code scheme not supported
CMS ERROR: 145 Message class not supported
CMS ERROR: 159 Unspecified TP-DCS error
CMS ERROR: 160 Command cannot be actioned
CMS ERROR: 161 Command unsupported
CMS ERROR: 175 Unspecified TP-Command error
CMS ERROR: 176 TPDU not supported
CMS ERROR: 192 SC busy
CMS ERROR: 193 No SC subscription
CMS ERROR: 194 SC System failure
CMS ERROR: 195 Invalid SME address
CMS ERROR: 196 Destination SME barred
CMS ERROR: 197 SM Rejected-Duplicate SM
CMS ERROR: 198 TP-VPF not supported
CMS ERROR: 199 TP-VP not supported
CMS ERROR: 208 D0 SIM SMS Storage full
CMS ERROR: 209 No SMS Storage capability in SIM
CMS ERROR: 210 Error in MS
CMS ERROR: 211 Memory capacity exceeded
CMS ERROR: 212 Sim application toolkit busy
CMS ERROR: 213 SIM data download error
CMS ERROR: 255 Unspecified error cause
CMS ERROR: 300 ME Failure
CMS ERROR: 301 SMS service of ME reserved
CMS ERROR: 302 Operation not allowed
CMS ERROR: 303 Operation not supported
CMS ERROR: 304 Invalid PDU mode parameter
CMS ERROR: 305 Invalid Text mode parameter
CMS ERROR: 310 SIM not inserted
CMS ERROR: 311 SIM PIN required
CMS ERROR: 312 PH-SIM PIN required
CMS ERROR: 313 SIM failure
CMS ERROR: 314 SIM busy
CMS ERROR: 315 SIM wrong
CMS ERROR: 316 SIM PUK required
CMS ERROR: 317 SIM PIN2 required
CMS ERROR: 318 SIM PUK2 required
CMS ERROR: 320 Memory failure
CMS ERROR: 321 Invalid memory index
CMS ERROR: 322 Memory full
CMS ERROR: 330 SMSC address unknown
CMS ERROR: 331 No network service
CMS ERROR: 332 Network timeout
CMS ERROR: 340 No +CNMA expected
CMS ERROR: 500 Unknown error
CMS ERROR: 512 User abort (spécifique a certain fabricants)
CMS ERROR: 513 Unable to store
CMS ERROR: 514 Invalid Status
CMS ERROR: 515 Device busy or Invalid Character in string
CMS ERROR: 516 Invalid length
CMS ERROR: 517 Invalid character in PDU
CMS ERROR: 518 Invalid parameter
CMS ERROR: 519 Invalid length or character
CMS ERROR: 520 Invalid character in text
CMS ERROR: 521 Timer expired
CMS ERROR: 522 Operation temporary not allowed
CMS ERROR: 532 SIM not ready
CMS ERROR: 534 Cell Broadcast error unknown
CMS ERROR: 535 PS (Protocol stack) busy
CMS ERROR: 538 Invalid parameter
Der CREG-Befehl und seine Antworten
siehe auch: http://www.ozekisms.com/index.php?owpn=691
Der CREG-Befehl mit seinen Antworten
TYPE at+creg? and press Enter. RESPONSE: information about network registration status
Response value: +CREG: <mode>,<stat>
<mode>
0: Disable network registration unsolicited result code (default)
1: Enable network registration code result code +CREG : <stat>
2: Enable network registration and location information unsolicited result code +CREG:
<stat>,<lac>,<ci> if there is a change of network cell.
<stat>
0: not registered, ME is not currently searching for a new operator.
1: registered, home network.
2: not registered, ME currently searching for a new operator to register to.
3: registration denied.
4: unknown.
5: registered, roaming.
Der CNMI-Befehl: Umgang mit unverlangt eingehenden SMS
Auszug aus: http://www.nobbi.com/atgsm.html#+cnmi
Der Befehl AT+CNMI? ruft die aktuellen Einstellungen an
Der Befehl AT+CNMI=... legt fest, wie neu eintreffende Nachrichten behandelt werden sollen.
Der CNMI-Befehl und seine Parameter
at+cnmi=
mode,mt,bm,ds,bfr
mode gibt an, wie unverlangt eintreffende Benachrichtigungen über Nachrichtenereignisse behandelt werden sollen:
0 immer im TA puffern
1 zum TE senden, wenn der TA-TE-Link frei ist, andernfalls verwerfen
2 im TA puffern, wenn der TA-TE-Link gerade benutzt wird, nach freiwerden des Links zum TE senden
3 immer zum TE senden
mt gibt an, wie beim Empfang von Kurznachrichten verfahren werden soll. Hierbei ist zu beachten, daß das SM-Handling wesentlich von der verwendeten Kodierung abhängt:
0 versuchen, die Nachricht zu speichern, aber keine Empfangshinweise erzeugen
1 versuchen, die Nachricht zu speichern, Empfangshinweise bei erfolgreicher Speicherung erzeugen
2 alle 'Class 2'-Nachrichten werden wie bei 1 behandelt, alle anderen Nachrichten werden direkt zum TE geschickt
3 alle 'Class 3'-Nachrichten werden direkt zum TE geschickt, alle anderen werden wie bei 1 behandelt
bm gibt an, wie bei eintreffenden CellBroadcast-Nachrichten reagiert werden soll:
0 keine Empfangshinweise erzeugen
1 versuchen, die CBM zu speichern, Empfangshinweise bei erfolgreicher Speicherung erzeugen
2 neue Nachrichten werden direkt zum TE geschickt
3 neue 'Class 3'-Nachrichten werden direkt zum TE geschickt, alle anderen Nachrichten werden wie bei 1 behandelt.
ds gibt an, was mit eintreffenden SMS-Statusnachrichten geschehen soll:
0 es werden keine Statusnachrichten zum TE geschickt
1 SMS-Statusnachrichten werden zum TE geschickt
2 SMS-Statusnachrichten werden im ME/TA gespeichert, im Erfolgsfall wird eine Nachricht zum TE geschickt
bfr gibt an, was mit den im TA gepufferten Nachrichten geschehen soll, wenn mode auf 1,2 oder 3 gesetzt wird:
0 alle Nachrichten im Puffer zum TE senden
1 den Puffer löschen
TA=Speicher im TerminalStandard-Fehlersituationen aus verschiedenen Support-Cases
CNMI - Konfiguration des Nachrichtenroutings/der Anzeige von neuen Nachrichten
D1 12:22:31 AT+CPIN?
D2 12:22:32 ERROR
D1 12:22:32 AT+CPIN="9483"
D1 12:22:32 AT+CNMI=1,0,0,0,1
--> ERROR bedeutet hier, beim bzw. nach Wechsel der SIM Card wurde das GSM Modul nicht aus/an gemacht!
D1 12:36:07 AT+CPIN?
D2 12:36:08 +CPIN: SIM PIN OK
D1 12:36:08 AT+CPIN="9384"
D2 12:36:09 ERROR
D1 12:36:09 AT+CNMI=1,0,0,0,1
--> ERROR bedeutet hier: PIN ist falsch
Im QSYSOPR: "GSM-Einheitenfehler"
PF E MJMN Time Data
SV 14:18:56 217FE5V 6.13
PM 14:18:56 Acme GmbH DEU 49 *LOCAL GSMT35 GSMT35 *NONE
CD 14:18:56 GSMT35 3 5 ETM9350 26201
NW 14:18:56 26201 *SYS *SYS *SYS 49 +491710760000
IC Y 14:18:56 INZCLI - Socket connect error
D1 Y 14:18:56 AT+CNMI=1,0,0,0,1
--> ETM 9300 defekt
GSM490P - Keine Verbindung zur GSM-Einheit
COMMUNICATION LOG 11.06.19 Page 1
PF E MJMN Time Data
SV 17:39:08 065454P V7R1M0 6.22 670
PM 17:39:08 Toolmaker DEU 49 *LOCAL GSMT35 *NONE GSMT35
CD 17:39:08 GSMT35 3 5 ETM9350 26201
CI 17:39:08 192.168.100.239 8000 8001 Cinterion TC63i REVISION 01.100
CS 17:39:08 353229026868180 15,99 20190608 13629
NW 17:39:08 26201 *SYS *NONE *SYS 49 +491710760000
IC 17:39:08
IS 17:39:08
D1 17:39:08
D2 17:39:13
D1 17:39:13 AT
D2 17:39:19
D1 17:39:19 AT
D2 17:39:24
D1 17:39:24 AT
D2 17:39:29
D1 17:39:29 AT
D2 17:39:34
D1 17:39:34 AT
D2 17:39:39
D1 17:39:39 ATE0
D2 17:39:54
D1 17:39:54 AT&F
D2 17:40:24
D1 17:40:24 AT&F
D2 17:40:54
D1 17:40:54 AT&F
D2 17:41:24
D1 17:41:24 AT&F
D2 17:41:54
D1 17:41:54 AT&F
D2 17:42:24
D1 17:42:24 AT+CNMI=1,0,0,0,1GSM490 - Falsche GSM-Einheit konfguriert
In diesem Fall war bei STRGSMT, Aw. 20, Aw 4, Option 2 für "GSMT35" ein falscher "Einheitentyp" konfiguriert:
- korrekt war in diesem Fall: "ETM9440"
- es war aber konfiguriert: "ETM9350"
PF E MJMN Time Data
SV 11:55:40 78BF910 V7R5M0 6.25 672
PM 11:55:40 <kundenname> DEU 49 *LOCAL GSMT35 GSMT35 *NONE
CD 11:55:40 GSMT35 3 5 ETM9350 26201
NW 11:55:40 26201 *SYS *SYS *SYS 49 +491710760000
[...]
D1 11:56:15 AT+CGMI
D2 11:56:16 Cinterion OK
D1 11:56:16 AT+CGMM
D2 11:56:17 PLS62-W OK
D1 11:56:17 AT+CGMR
D2 11:56:18 REVISION 02.000 OK
D1 11:56:18 AT+CGSN
D2 11:56:19 358244080137583 OK
D1 11:56:19 AT+CSQ
D2 11:56:20 +CSQ: 11,99 OK
D1 11:56:23 AT+CNMI=3,1,0,0
D2 11:56:25 +CMS ERROR: operation not supported
D1 11:56:25 AT+CNMI=1,0,0,0,1
Weitere links zum Thema GSM-Hayes-Befehle
telit_at_commands_reference_guide_r23_1_.pdf (PDF-Datei mit vermutlich vollständigem Befehlssatz - inklusive SLED)
Liste der GSM-Fehlercodes "CME Error xxx" und "CMS Error xxx"
Diese Seite ist eine von vielen mit einer Übersicht über die Fehlercodes:
SMTP / Email -Protokoll-Dateien im IFS, Verzeichnis /midjet/gsm/log
Für jedes Email, das von gsmtext versendet wird, werden zwei Dateien im IFS erstellt:
Sxxxxxxx.dat
Mxxxxxx.dat
Beispiele:
Beispiel - Sxxxxxxxx.dat
Host: smtp.directmonitor.net:587 SSL=0
Connection to host: smtp.directmonitor.net:587 succesful
220 bin-vsp-out-01.atm.binero.net ESMTP
EHLO acme.com
250-bin-vsp-out-01.atm.binero.net
250-PIPELINING
250-SIZE 104857600
250-STARTTLS
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250 8BITMIME
AUTH LOGIN
334 ***************
*****************
334 *****************
***********
235 2.7.0 Ok
MAIL FROM:<noreply@acme.com>
250 2.1.0 Ok
RCPT TO:<max.maus@acme.com>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Date: Mon, 29 Mar 2021 15:18:31 +0200
From: "GSM Text@mysmtpsvr"
<noreply@acme.com>
Subject: test
To: "Bengt Holmberg"
<max.maus@acme.com>
MIME-Version: 1.0
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: MML-acme Mail ver. 2.0
<html>
<body>
=3Cp style=3D=22font=2Dsize=3A10=2E0pt=3B font=2Dfamily=3Asans=2Dserif=3B =
font=2Dstyle=3Anormal=3B font=2Dweight=3Anormal=3B color=3A=23000000=3B line=2Dheight=3Anormal=3B letter=2Dspa=
cing=3Anormal=3B text=2Ddecoration=3Anone=3B =22=3Etest=3C=2Fp=3E=3Cbr=3E=3Ctable id=3D=22ftrlin=22 bgco=
lor=3D=23666666 border=3D=220=22 width=3D=22220=22 cellspacing=3D=220=22=3E=3Ctr=3E=3Ctd=3E=3C=2Ftd=3E=3C=2Ftr=3E=3C=2Ft=
able=3E=3Ctable id=3D=22ftrtbl=22bgcolor=3D=23ffffff border=3D=220=22 width=3D=22220=22 cellspacing=3D=220=22=3E =3Ctr=3E=3Ctd s=
tyle=3D=22font=2Dfamily=3Aserif=3Bfont=2Dsize=3A6=2E0pt=3B font=2Dstyle=3Aitalic=3B=22=3EMailer=3A acme Mail at SEMJ=
T003 =2Cwww=2Eacme=2Ecom=3C=2Ftd=3E=3C=2Ftr=3E=3C=2Ftable=3E</body>
</html>
.
250 2.0.0 Ok: queued as 7ff8fd59-9091-11eb-a542-005056917a89
QUIT
221 2.0.0 Bye
Beispiel - Mxxxxxxxx.dat
<p style="font-size:10.0pt; font-family:sans-serif; font-style:normal; font-weight:normal; color:#000000; line-height:normal; letter-spacing:normal; text-decoration:none; ">test</p><br><table id="ftrlin" bgcolor=#666666 border="0" width="220" cellspacing="0"><tr><td></td></tr></table><table id="ftrtbl"bgcolor=#ffffff border="0" width="220" cellspacing="0"> <tr><td style="font-family:serif;font-size:6.0pt; font-style:italic;">Mailer: acme Mail at mysmtpsvr ,www.acme.com</td></tr></table>
Diese logs werden immer geschrieben. Die Aufbewahrungszeit entspricht der "Gültigkeitsperiode eing. SMS".
Diese wird in der Allgemeinen Konfiguration, Seite 3 bestimmt (STRGSMT, Aw. 20, Aw. 1, 2x Enter):
Protokoll-Dateien in Bibliothek GSMTEXT
EGEMLGP - E-Mail log - status, retries,
ELELOGP- E-Mail Error log
EREMLRP - Empfänger einer E-Mail
EAEATTP - E-Mail attachment log
EGEMLGP - Beispiel für einen Eintrag
Mail send status
9 = nicht gesendet
5 = gesendet
Feld EGERRC - Fehlercodes
0 = No error
1 = SSL not available
2 = Could not connect to SMTP server
3 = SSL upgrade failed
4 = Invalid server response code
5 = Invalid response code to HELO/EHLO command
6 = Invalid response code to AUTH command
7 = AUTH login failed
10 = Invalid response code to MAIL command
11 = Invalid response code to RCPT command
30 = Invalid response code to DATA command
40 = Invalid response code to end of data
80 = User index processing error
90 = Send error
91 = Read error
99 = Unspecified error m_sndeml - Return Codes
Protokoll-Dateien im IFS
Verzeichnis: /acme/gsm/log
Einträge im Nachrichtenprotokoll (STRGSMT, Aw 5)
Bei über E-Mail versandten Nachrichten bleibt der Status "N.verfügb.", auch wenn das E-Mail erfolgreich gesendet wurde.
Anhand des Datums/Uhrzeit neben der E-Mail-Adresse kann man erkenne, dass der Versand stattfand.
Erfolgreich gesendet: Versanddatum/-zeit sind angegeben
Fehlersuche GSM-Einheit
Verfügbare GSM-Einheiten
Eine Übersicht über die verfügbarten GSM-Einheiten befindet sich auf der Seite: Hardware für die Kommunikation mit dem SMS-Netzwerk
RUTxxx-Einheiten - Verbindung testen
Das Versenden von SMS auf RUTxxx geschieht in zwei Schritten:
einen Token (auch "Bearer" genannt) von der RUT holen
mit diesem Token SMS versenden
Beide Schritte werden werden über HTTP_POST-Aufrufe in einem SQL-Fenster gestartet .
Man benötigt diese Daten:
<rut_ip_address>- IP-Adresse der RUTxx<rut_password>- Kennwort des Benutzers "admin" auf der RUTxx<phone_no_in_interntl_format>- Telefonnummer, an die die SMS gesendet werden soll (z.B. "+49172567890")
Punkt 1 und 2 kann man in GSMTEXT ermitteln:
STRGSMT → Aw. 20 → Aw 4 → Aw 2 für die RUT, dann 2x Enter:
Test mit SQL-Befehl
-- POST /api/login - request a token
values qsys2.HTTP_POST('http://<rut_ip_address>/api/login',
'{"username":"admin","password":"<rut_password>"}' ,
'{"header":"Content-Type,application/json;Accept,application/json","connectTimeout":"5"}' );
-- the command returns:
-- {"success":true,"data":{"username":"admin","token":"2d9189b02fd37920ee16916d0b10f770","expires":299}}
--
--> the string 2d9189b02fd37920ee16916d0b10f770 is the <token_from_login_post>,
--> that must be inserted into the next command
-- POST /api/messages /send - send an SMS
values QSYS2.HTTP_POST(
'http://<rut_ip_address>/api/messages/actions/send' ,
'{"data":{"number":"<phone_no_in_interntl_format>","message":"SMS Text","modem":"1-1"}}' ,
'{"header":"authorization,Bearer <token_from_login-post>"}');
Test mit dem QSH-Befehl "curl"
Wenn die Open Source Komponente "curl" installiert ist, dann man diese Tests auch damit machen.
Zur Installation der Open Source Komponenten siehe: IBM i - wichtige Informationen rund um das Betriebssytem - OpenSource-Komponenten
STRQSHA <Enter>
// Prüfen, ob Port 80 frei ist:
curl -v telnet://<ip_adresse_der_rut>:80
// Token holen
curl -i -X POST "http://<DEVICE_IP>/api/login" \
-H "Content-Type: application/json" \
-d '{"username": "<USERNAME>", "password": "<PASSWORD>"}' \
-k
// Antwort: {"success":true,"data":{"username":"admin","expires":299,"token":"24f11c4366d9d509e4ac71aa2e1f87e2","group":"root"}}
// SMS senden
curl -X POST "http://<rut_ip_address>/api/messages/actions/send" \
-H "Authorization: Bearer <token_from_login-post>" \
-H "Content-Type: application/json" \
-d '{"data":{"number":"<phone_no_in_interntl_format>","message":"SMS Text","modem":"1-1"}}'
Konfiguration der GSM-Einheit prüfen/korrigieren ("klassische" GSM-Einheiten)
Wenn eien GSM-Einheit ausgetauscht wurde, dann ist die neue Einheit oft ein neueres/anderes Modell, als die vorherige. In diesem Fall muss der korrekte Typ konfiguriert werden.
Prüfen, welche Einheit tatsächlich angeschlossen ist
STRGSMT, Aw. 20, Aw 4, Option 8 für die Einheit:
Hier: TC63i
Ermitteln des Namens, den man in gsmtext konfigurieren muss
Die Seite Hardware für die Kommunikation mit dem SMS-Netzwerk enthält eine Liste der Einheiten, die von gsmtext unterstützt werden, wie sie sich bei Auswahl 8 melden und mit welchem "Einheitentyp" sie konfiguriert werden müssen:
In diesem Fall ist für "Cinterion TC63i" der Einheitentyp "ETM9350" angegeben.
Den ermittelten Einheitentyp konfigurieren
STRGSMT, Aw 20, Aw, 4 - Option 2 für die Konfiguration (GSMT34 oder GSMT35)
siehe auch: Konfiguration - GSM-Modul-Verbindungsart 5 (beim Anschluss über einen Comport).
Wenn die GSM-Einheit direkt per V.24-Kabel angeschlossen ist (sehr selten), dann wäre es die Verbindungsart 4 (GSMT34).
Hinweise zum Einheitentyp ETM9350 (Cinterion TC63i)
Fehlersuche Comserver (Comport)
Die GSM-Einheiten werden im Regelfall über einen Comserver der Firma WuT angeschlossen. Das ist erforderlich, weil diese GSM-Einheiten nur über eine V.24-Schnittstelle verfügen, aber aktuelle IBMi-Systeme keine V.24-Schnittstelle mehr haben.
Der Comserver hat eine LAN-Schnittstelle, mit der er über das LAN mit der IBMi verbunden wird und eine V.24-Schnittstelle, an die die GSM-Einheit angeschlossen wird.
Er leitet die Kommunikation zwischen IBMi und GSM-Einheit transparent durch.
Weitere Information zum Comserver: COMPORT (Comserver von W&T)
Kommunikation zwischen Comserver und GSM-Einheit prüfen
Wenn die Verbindung zur GSM-Einheit über einen Comserver läuft.
Wenn das Log GSM490P (zu finden mit WRKSPLF GSMTEXT), zeigt, dass keine Verbindung zur GSM-Einheit zustande kommt (siehe hier: Standard-Fehler - Keine Verbindung zur GSM-Einheit), dann kann man über TELNET prüfen, ob der Comserver die Box erkennt: Prüfen, ob der Comserver mit der GSM-Einheit verbunden ist
Support-Fälle
Email-Versand funktioniert nicht (18030213)
Problem
Bei einer Installation ohne GSM-Einheit sollen die Nachrichten nur per E-Mail gesendet werden. E-Mail ist korrekt konfiguriert.
Siehe auch https://toolmaker.atlassian.net/wiki/spaces/DOKU/pages/652214484/Konfiguration#Konfiguration-_Toc317576535Teil3
STRGSMT, Auswahl 20, Auswahl 1, dann 2 x Enter:
|
Für den Benutzer ist eine E-Mail-Adresse hinterlegt.
Auch die Benutzeroptionen sind korrekt:
|
|
Lösung
Im Benutzerprofil von GSMText muss immer eine Mobil-Tel.nummer angegeben werden. Auch wenn das System keine GSM-Einheit hat und nur gemailt werden soll.
STRGSMT, Auswahl 11, Auswahl 2 für die Benutzer-Registrierung:
|
Nachrichten an einen so konfigurierten Benutzer gehen als E-Mails raus:
|
Hinweis: der Status bleibt bei E-Mails immer N.verfügb., weil das System nur für SMS-Nachrichten eine Antwort vom Netzwerk bekommt.
Autor: RSC
IBM i – betroffenes System | |
– Betr.System-Version | V7R3 |
Produkt – Version auf IBMi | 6.13 |
QSYSOPR zeigt "GSM Einheitenfehler"
GSM490P zeigt "+CMS ERROR: PS busy"
Schritte zur Fehlerbehebung:
Sauberer Neustart, inkl. Prüfung, dass die SIM-Karte sicher und eingelegt ist
Wenn das nicht hilft
2. Sicherstellen, dass die Nummer der Nachrichtenzentrale ("Service-Center-Adresse") korrekt ist
Hier ein Beispiel:
Im Web prüfen, ob die Nummer stimmt.
ggf. korrigieren: STRGSMT → Auswahl 20 → Auswahl 5
Wenn das nicht hlft
3. die SIM-Karte in einem Mobiltelefon prüfen: können SMS geschickt werden?
Wenn das möglich ist.
4. Noch einmal Schritt 1 "Sauberer Neustart" versuchen (inkl. SIM-Karten-Prüfung)
Wenn es immer noch nicht geht:
5. WRKSPLF GSMTEXT - den Inhalt der neuesten SPLF-GSM490P an's helpdesk schicken
Autor: RSC
Produkt – Version auf IBMi | alle |
GSM490P zeigt "+CMS ERROR: operation not supported"
In diesem Fall war eine falsche GSM-Einheit konfiguriert.
Angeschlossen war eine Einheit "Cinterion - PLS62-W". Diese muss in gsmtext als "ETM9440" konfiguriert werden. Es war aber eine "ETM9350" konfiguriert.
Autor: RSC
Produkt – Version auf IBMi | alle |
SMS gehen nicht raus - GSM490P zeigt: +CREG 0,2 (18030226)
Problem
Es gehen keine Nachrichten raus. Mit WRKSPLF GSMTEXT bekommt man viele SPLF mit dem Namen GSM490P angezeigt.
Darin findet man:
D1 11:28:28 AT+CREG?D2 11:28:29 +CREG: 0,2 OK D2 11:28:39 D1 11:28:39 AT+CNMI=1,0,0,0,1
Und nach einiger Zeit wechselt die Zeile mit dem #CREG in:
D2 11:28:29 +CREG: 0,0 OK
Lösung
Die GSM-Einheit hat nicht hinreichend Empfangsstärke. Sie muss woanders aufgestellt werden.
+CREG: 0,2 heisst: Nicht mit einem Netzwerk verbunden, sucht danach
+CREG: 0,0 heisst: Nicht mit einem Netzwerk verbunden, keine Suche (mehr)
Autor: RSC
Produkt – Version auf IBMi | 6.13 |
SMS gehen nicht raus - GSM490P zeigt: +CREG 0,3
Problem
Es gehen keine Nachrichten raus. Mit WRKSPLF GSMTEXT bekommt man viele SPLF mit dem Namen GSM490P angezeigt.
Zunächst sieht alles gut aus:
D1 0000 23:49:27 AT+CPIN?D2 0000 23:49:33 +CPIN: READY OKD1 0000 23:49:33 AT&FD2 0000 23:49:34 OKD1 0000 23:49:34 ATE0 D2 0000 23:49:35 ATE0 OKD1 0000 23:49:35 AT+CMEE=2D2 0000 23:49:36 OKD1 0000 23:49:36 AT^SLED=?D2 0000 23:49:37 ^SLED: (0-2),(1-50) OKD1 0000 23:49:37 AT^SLED=2,40D2 0000 23:49:38 OK
Aber der CREG wird beantwortet mit: nicht registriert (0), Zugang verweigert (3)
D1 0000 23:49:44 AT+CREG?D2 0000 23:49:45 +CREG: 0,3 OKD2 Y 0310 23:49:57
Diese Einträge wiederholen sich einige Minuten
D1 0000 23:49:57 AT+CREG?D2 0000 23:49:58 +CREG: 0,3 OKD2 Y 0310 23:50:09
...
D1 0000 23:52:27 AT+CREG?D2 0000 23:52:28 +CREG: 0,3 OKD2 Y 0310 23:52:40
..und dann schliesst das Protokoll mit:
D1 0000 23:52:40 AT+CNMI=1,0,0,0,1D2 0000 23:52:41 OK
Lösung
In einem Fall musste die SIM-Karte getauscht werden (streiche O2, setze vodafone).
+CREG: 0,3 heisst: Nicht mit einem Netzwerk verbunden, vom Provider abgelehnt
Alle SMS bleiben im Status "N.verfügb." (19000003)
Bei einer ganz neuen Installation bleiben alle SMS im Status "N.verfügb.". Es wird keine SMS verschickt.