GSM AT Steuerkommandos

Der klassische AT-Kommandosatz für Modems wurde seinerzeit nicht für die Nutzung mit GSM Geräten definiert. Hier sind die entsprechenden Erweiterungen aufgelistet, mit denen die mobilfunkspezifischen Aktionen ausgeführt werden können.

Call Control

  ATD...; Eine Voicerufnummer wählen
  AT+CHUP Auflegen
  AT+CRC 'Cellular result codes' (erweitertes Format der RING-Meldung) Ein/Ausschalten
  AT+CVIB den Vibrator aktivieren/deaktivieren/abfragen

Telefon- und Geräteinformation

  AT+CBC Batterieladestatus abfragen
  AT+CCLK Uhrzeit abfragen und setzen
  AT+CGMI Abfrage der Herstellerinformation
  AT+CGMM Abfrage der Modellinformation
  AT+CGMR Abfrage der Revisionsinformation
  AT+CGSN Abfrage der Seriennummer
  AT+CIMI Abfrage der IMSI des eingelegten SIM
  AT+GCAP Abfrage der implementierten Features

Netzwerkzugriff

  AT+COPS Ein-, Aus- und Herumbuchen in allen erreichbaren Netzen
  AT+CREG Abfrage des Netzwerkstatus des Telefons
  AT+CSQ Signal Quality und Empfangspegel abfragen
  AT+CLCK Setzen, Löschen und Abfragen von Sperren
  AT+CBST Dienstauswahl für den nächsten Datenanruf

Nachrichten

  AT+CMGF Abfragen/Setzen des Formats für ein- und ausgehende Nachrichten
  AT+CSCS Abfrage/Setzen des verwendeten Zeichensatzes
  AT+CNMI Konfiguration des Nachrichtenroutings/der Anzeige von neuen Nachrichten
  AT+CMGS Versenden einer Kurznachricht im PDU-Mode
  AT+CMMS Den Datenkanal für weitere Nachrichten offenhalten
  AT+CMGL Auslesen von Kurznachrichten
  AT+CSCB Empfangen von CellBroadcast-Nachrichten

Telefonbuch

  AT+CPBS Auswählen eines Telefonbuchspeichers
  AT+CPBR Lesen der Telefonbucheinträge
  AT+CPBW Schreiben der Telefonbucheinträge

 


atd...; Eine Rufnummer wählen
  atd...; Baut eine Verbindung zu der angegebenen Nummer auf. Gültige Zeichen für den Wählstring sind: 1 2 3 4 5 6 7 8 9 0 * # + A B C. Das Semikolon baut explizit eine Sprachverbindung auf.
  atds; wie oben, wählt aber für ein s von 1 bis 9 eine Telefonnummer aus den Telefonbuchspeichern 1 bis 9
  atdl wählt die letzte gewählte Rufnummer noch einmal

at+cbc Batterieladestatus abfragen
  +cbc: a,b

a ist der Batteriestatus (0 Batteriebetrieb, 1 Netzbetrieb), b gibt den Ladungszustand der Batterie an. Verschiedene Hersteller liefern hier verschiedene Interpretationen:

Hersteller Werte für b
Siemens 0,20,40,60,80,100
Nokia 30,50,70,90

at+cclk Datum/Uhrzeit abfragen und einstellen
  at+cclk? Abfrage von Datum und Uhrzeit.
  at+cclk=time

Setzen von Datum und Unrzeit. Das Format von time ist:
"YY/MM/DD,hh:mm:ss±tz"
Dabei bedeutet:

YY das aktuelle Kalenderjahr
MM der aktuelle Kalendermonat
DD der Tag im aktuellen Monat
hh die Stunden
mm die Minuten
ss die Sekunden
tz der Timezone-Shift gegen GMT in Viertelstunden

at+cbst Auswahl des Datendienstes
  +cbst=? +CBST: (a1..ax),(b1..bx),(c1..cx) Abfrage der implementierten Dienste. Es bedeuten hier:
a  
0 automatische Erkennung
1 300 bps (V.21)
2 1200 bps (V.22)
3 1200/75 bps (V.23)
4 2400 bps (V.22bis)
5 2400 bps (V.26ter)
6 4800 bps (V.32)
7 9600 bps (V.32)
12 9600 bps (V.34)
14 14400 bps (V.34)
15 19200 bps (V.34)
16 28800 bps (V.34)
34 1200 bps (V.120)
36 2400 bps (V.120)
38 4800 bps (V.120)
39 9600 bps (V.120)
43 14400 bps (V.120)
47 19200 bps (V.120)
48 28800 bps (V.120)
49 38400 bps (V.120)
50 48000 bps (V.120)
51 56000 bps (V.120)
65 300 bps (V.110)
66 1200 bps (V.110)
68 2400 bps (V.110 or X.31 flag stuffing)
70 4800 bps (V.110 or X.31 flag stuffing)
71 9600 bps (V.110 or X.31 flag stuffing)
75 14400 bps (V.110 or X.31 flag stuffing)
79 19200 bps (V.110 or X.31 flag stuffing)
80 28800 bps (V.110 or X.31 flag stuffing)
81 38400 bps (V.110 or X.31 flag stuffing)
82 48000 bps (V.110 or X.31 flag stuffing)
83 56000 bps (V.110 or X.31 flag stuffing)
115 56000 bps (bit transparent)
116 64000 bps (bit transparent)
  +cbst=x Auswahl des zu verwendenden Datendienstes für den nächsten Datananruf.

at+cgmi Abfrage der Herstellerinformation
  +CGMI: a Eine mögliche Antwort könnte +CGMI: SIEMENS sein. Die Implementierung dieses Kommandos ist optional.

at+cgmm Abfrage der Modellinformation
  +CGMM: a Eine mögliche Antwort könnte +CGMM: S10 sein. Die Implementierung dieses Kommandos ist optional.

at+cgmr Abfrage der Revisionsinformation
  +CGMR: a Eine mögliche Antwort könnte +CGMR: 08 sein. Die Implementierung dieses Kommandos ist optional. Bei SIEMENS-Geräten kann optional auch +GMR verwendet werden.

at+cgsn Abfrage der Seriennummer
  +CGSN: a Viele Telefone (darunter das S10) geben hier die IMEI zurück, was aber so nicht zwingend vorgeschrieben ist. Eine mögliche Antwort könnte +CGSN: 447968513455429 sein. Die Implementierung dieses Kommandos ist optional. Bei SIEMENS-Geräten kann optional auch +GSN verwendet werden.

at+chup Auflegen
  at+chup Trennt eine bestehende Verbindung

at+cimi IMSI des eingelegten SIM abfragen
  at+cimi gibt die IMSI des ins Telefon eingelegten SIM aus:
at+cimi
2926202419208651
OK

at+clck Setzen von Sperren
  at+clck=? Ergibt eine Liste mit unterstützten Sperrmöglichkeiten. Die Syntax ist sowas von krank, wer sowas braucht, dem schicke ich gerne die entsprechende GSM-Spec, das steht genau drin, wies geht.

at+cmgf Setzen/Abfragen des Nachrichtenformats
  at+cmgf? Zeigt die aktuelle Einstellung an, CMGF=0 bedeutet PDU-Mode, CMGF=1 bedeutet Textmode.
  at+cmgf=? Zeigt an, ob nur PDU-Mode (0) oder auch Textmode (0,1) zur Verfügung steht.
  at+cmgf=x Setzt die zu verwendende Einstellung

at+cmgl Auslesen von Kurznachrichten (PDU-Mode)
  at+cmgl=? Zeigt an, welche Optionen zum Auslesen von Kurznachrichten zur Verfügung stehen. Es bedeuten:
0 REC UNREAD empfangen und ungelesen
1 REC READ empfangen und bereits gelesen
2 STO UNSENT gespeichert und noch nicht versandt
3 STO SENT gespeichert und bereits versendet
4 ALL alle Nachrichten
  at+cmgl=x Auslesen der mit x angegebenen Menge von Kurznachrichten aus dem Gerät. Die Nachrichten werden im folgenden Format ausgegeben:
+CMGL: index, status, length
.......PDU.......

at+cmgs Versenden einer Kurznachricht (PDU-Mode)
  at+cmgs=x Versendet eine Kurznachricht. Die Daten der Kurznachricht müssen im PDU-Format übergeben werden, was ein wenig Gehirnschmalz kostet. x gibt die Länge der übergebenen Daten der PDU an, wobei die (optionale) Angabe des zu verwendenden SMSC nicht mitgezählt wird. Wers wirklich tun will, der besuche den entsprechenden Exkurs.
Nach abschicken des Kommandos antwortet das Telefon mit einem Prompt '> ', nach dem die PDU an das Telefon übergeben werden kann. Die PDU wird mit CTRL-Z abgeschlossen.

at+cmms den Datenkanal für weitere Nachrichten offenhalten
  at+cmms=? Zeigt an, welche Modi von MMS unterstützt werden. Dabei bedeutet: 0 Feature ist ausgeschaltet, 1 MMS für den nächsten Sendevorgang einschalten, dann wieder ausschalten, 2 MMS dauernd einschalten. Das Einschalten bewirkt, dass die Datenverbindung in den SMS-Relay-Layer etwa 1-5sec. nach Eintreffen der letzten Sendebestätigung offengehalten wird.
  at+cmms=x Schaltet das MMS-Feature auf Wert x.
  at+cmms? Zeigt den Status des MMS an.

at+cnmi Konfiguration des Nachrichtenroutings/der Anzeige von neuen Nachrichten
  at+cnmi? zeigt die aktuellen Einstellungen an.
  at+cnmi=
mode,mt,bm,ds,bfr

Uhh. Ich hasse dieses Kommando. Also:
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

at+cops Ein- Aus- und Herumbuchen in allen erreichbaren Netzen
  at+cops? zeigt das gerade gewählte Netz an
at+cops=? zeigt eine Liste der aktuell verfügbaren Netze an, etwa so:
+COPS: (2,"D2 PRIVAT",,26202),(3,"D1-TELEKOM",,26201),,(0,1,3,4) ,(0,2),
wobei die Zahl vor dem Betreibernamen den Verfügbarkeitsstatus angibt (0: unbekannt, 1: verfügbar, 2: eingebucht, 3: verboten)
at+cops=m,f,o

versucht eine Aktion abhängig von mode

0 automatische Netzwahl, kein weiterer Parameter notwendig
1 manuelle Netzwahl, format und network müssen angegeben werden
2 ausbuchen (vom S10 nicht unterstützt)
3 festlegen von format für die Ausgabe durch at+cops?
4 eine Kombination aus 1 und 0: erst wird manuelles Einbuchen in network versucht, falls das nicht funktioniert, wird auf automatische Netzwahl umgeschaltet. format und network müssen angegeben werden

format gibt an, in welchem Format network geliefert wird und kann die folgenden Werte annehmen:

0 Zeichenkette, lange Form, etwa "D2 PRIVAT"
1 Zeichenkette, kurze Form (wird nicht unterstützt)
2 numerisches Format, etwa 26202

at+cpbr Lesen der Telefonbucheinträge
  at+cpbr=? gibt die möglichen Parameter und damit auch die Konfiguration des gewählten Telefonbuchs aus:
at+cpbr=?
+CPBR: (1-100),20,18
bedeutet: 100 Einträge im Telefonbuch, die Nummer darf 20 Stellen lang sein, der assoziierte Name darf 18 Stellen lang sein.
  at+cpbr=x gibt den Telefonbucheintrag mit der Nummer x aus. Zum Format der Ausgabe siehe at+cpbw.
at+cpbr=1
+CPBR: 1,"+491721212",145,"D2 Kundenbetreuung"

at+cpbs Auswählen eines Telefonbuchspeichers
  at+cpbs=?

Abfrage der möglichen Telefonbuchspeicher. Es bedeuten:

"FD" feste Rufnummern im SIM (fixed dialling numbers)
"LD" Wahlwiederholspeic her (last dialled numbers)
"ME" Rufnummernspeicher im Telefon (mobile equipment phonebook)
"SM" Rufnummernspeicher im SIM
"MT" Kombination aus "ME" und "SM"
"TA" Rufnummernspeicher im TA
"OW" Liste der eigenen Rufnummern
  at+cpbs=a a ist einer der oben angegebenen Telefonbuchspeicher, der hiermit als aktuell zu benutzender Telefonbuchspeicher ausgewählt wird.
  at+cpbs?
+CPBS: a,b,c
Fragt den aktuellen Zustand ab. a ist der ausgewählte Telefonbuchspeicher, b die Anzahl der benutzten Einträge und c die Gesamtanzahl der Speicherplätze im ausgewählten Speicher.
b und c werden im S10 nicht unterstützt.

at+cpbw Schreiben der Telefonbucheinträge
  at+cpbw=?

gibt die möglichen Parameter und damit auch die Konfiguration des gewählten Telefonbuchs aus:
AT+CPBW=?
+CPBW: (1-100),20,(128-255),18

bedeutet: 100 mögliche Einträge, die Nummer darf 20 Zeichen lang sein, als 'type of address' wird ein Wert von 128-255 akzeptiert, der Name darf 18 Zeichen lang sein. Mögliche, sinnvolle Werte für den 'type of address' (nach GSM 04.08) sind:

145 'international number', also alles, was mit '+...' beginnt
129 'unknown number format', also alles, was nicht mit '+...' beginnt.
  at+cpbw=... schreibt einen Telefonbucheintrag im oben angegebenen Format
at+cpbw=1,"+491721212",145,"D2 Kundenbetreuung
OK

at+crc 'Cellular result codes' (erweitertes Format der RING-Meldung) Ein/Ausschalten
  at+crc? Fragt den aktuellen Stand ab
  at+crc=(0,1)

Schaltet die 'Cellular result codes' ein oder aus. Wie üblich: 0 aus, 1 ein. Das erwartet auf den interessierten Beobachter an Stelle eines simplen RING:

+CRING: ASYNC Daten asynchron transparent
+CRING: SYNC Daten synchron transparent
+CRING: REL ASYNC Daten asynchron non-transparent
+CRING: REL SYNC Daten synchron non-transparent
+CRING: FAX Fax
+CRING: VOICE Sprachanruf
+CRING: VOICE/XXX Daten nach Sprache, XXX ist eine der 4 Datenkennungen (BS81 nach GSM 02.02)
+CRING: ALT VOICE/XXX Abwechselnd Daten und Sprache, Sprache zuerst (BS61 nach GSM 02.02)
+CRING: ALT XXX/VOICE Abwechselnd Daten und Sprache, Daten zuerst (BS61 nach GSM 02.02)
+CRING: ALT VOICE/FAX Abwechselnd Fax und Sprache, Sprache zuerst (TS61 nach GSM 02.02)
+CRING: ALT FAX/VOICE Abwechselnd Fax und Sprache, Fax zuerst (TS61 nach GSM 02.02)

at+creg Abfrage des Netzwerkstatus des Telefons
  at+creg=n

n T> erzeugt einen der nachgenannten Effekte:

0 keine Meldungen bei Änderung des Netzwerkstatus oder der Einbuchung (default)
1 Meldung bei Änderung des Netzwerkstatus in der Form +CREG: x
2 Meldung bei Änderung des Netzwerkstatus oder der aktuell gewählten Zelle in der Form +CREG: x,la,ci
S10 : nicht implementiert
at+creg?

gibt den Wert von n und den aktuellen Netzwerkstatus sowie bei Status 1 oder 5 Informationen zur aktuell gewählten Zelle aus, etwa
at+creg? +CREG: 0,1,02D0,416F bedeutet: Meldungen werden nicht ausgegeben, Status ist 1, eingebucht im Heimatnetz in LA 02D0, dort aktuell gewählte Zelle 416F. Als Status wird zurückgemeldet:

0 nicht eingebucht, keine Netzsuche
1 eingebucht, Heimatnetz
2 nicht eingebucht, Netzsuche
3 nicht eingebucht, Einbuchung abgelehnt
4 Status unbekannt
5 eingebucht, Fremdnetz

at+cscb Empfangen von CellBroadcast-Nachrichten
  at+cscb? gibt den momentanen Empfangsstatus für CB aus
  at+cscb=mode,id,cs setzt die Empfangsparameter für CB
mode: die Nachrichten, auf die die in id und cs angegebenen Werte zutreffen, werden empfangen (mode: 0) oder nicht empfangen (mode: 1)
id: ein oder mehrere Bereiche von CB-Message-IDs
cs: ein oder mehrere Bereiche von CB-Codierungsschemata
Beispiele:
at+cscb=1,"",""empfängt alle eintreffenden CB-Nachrichten
at+cscb=0,"50,100","0-99" empfängt die Kanäle 50 und 100
at+cscb=1,"1-99",""emp fängt alle CB-Nachrichten der Kanäle 0 und 100-999
    Die eintreffenden Nachrichten erscheinen normalerweise leider nicht im Textmode, also als lesbarer Klartext, sondern im PDU-Mode, also in genau der Form, in der sie zwischen BTS und MS übertragen werden. Das sind 88 Byte, davon sind 6 Byte Headerinformationen und 82 Byte Nutzdaten. Etwa so:
+CBM: 88
431302580011CD246BE69AB97....
Der Header enthält folgende Informationen:
Byte 1-2 die 'Message serial number', darin versteckt der 'Geographical scope indicator', der 'Message code' und die 'Update number'
Byte 3-4 'Message identifier', der CB-Kanal
Byte 5 das 'Data Coding Scheme'
Byte 6 der 'Page Parameter'
Und damit das nicht so einfach ist, sind die maximal 93 7-Bit-Zeichen pro Seite einer CellBroadcast-Nachricht in die restlichen 82 Byte verpackt. Urks. Etwa so:
aus 8*7Bit
6 5 4 3 2 1 0
6 5 4 3 2 1 0
6 5 4 3 2 1 0
6 5 4 3 2 1 0
6 5 4 3 2 1 0
6 5 4 3 2 1 0
6 5 4 3 2 1 0
6 5 4 3 2 1 0
werden 7*8Bit
0 6 5 4 3 2 1 0
1 0 6 5 4 3 2 1
2 1 0 6 5 4 3 2
3 2 1 0 6 5 4 3
4 3 2 1 0 6 5 4
5 4 3 2 1 0 6 5
6 5 4 3 2 1 0 6
Nicht benutzte Bits im letzten Byte sollten auf '0' gesetzt werden. Und wers genauer wissen will, der kann in TS GSM 03.41 (Technical realization of Short Message Service Cell Broadcast (SMSCB)) und TS GSM 03.38 (Alphabets and language-specific information) genaueres dazu finden.

at+cscs Abfrage/Setzen des verwendeten Zeichensatzes
  +cscs=? Abfragen der vom Endgerät unterstützten Zeichensätze. Es bedeuten:
"" "" "" character set "8859-H" character set
GSM der in TS GSM 03.38/6.2.1 definierte 7Bit-Zeichensatz. Die Spezifikation bemerkt zu dieser Einstellung: this setting causes easily software flow control (XON/XOFF) problems. Dem wäre nichts hinzuzufügen...
HEX nur Hexadezimale Zeichen
IRA das 'international reference alphabet' gem. ITU-T T.50
PCCPxxx PC-Zeichensatz aus Codepage xxx
PCDN PC-Zeichensatz Dänisch/Norwegisch
UCS2 Unicode gem. ISO/IEC10646
8859-x ISO 8859 Latin x (x : 1..6)
8859-C ISO 8859 Latin/Cyrillic
8859-A ISO 8859 Latin/Arabic
8859-G ISO 8859 Latin/Greek
8859-H ISO 8859 Latin/Hebrew

Das hier ist der oben erwähnte 7bit-Zeichensatz, der gemeinhin als Default verwendet wird:
GSM 03.38 CharSet

at+csq Signal Quality abfragen
  +csq: a,b

a ist der momentane Empfangspegel in folgenden Stufen:

0 -113dBm oder schlechter
1 -111dBm
2...30 -109dBm bis -53dBm
31 -51dBm oder besser
99 nicht lesbar / unbekannt

b ist RXQUAL wie in GSM 05.08 (hier ist die Umrechnungstabelle), wobei RXQUAL natürlich nur während einer Verbindung gelesen werden kann. Im idle mode gibt das Telefon 99 zurück.

Auch hier ist der Bereich der Interpretation der TS GSM weit und unerwartet:

Hersteller Werte für a Werte gem. GSM 05.08
Siemens 0 - 31 JA
Ericsson 0 - 31 JA
Nokia 0,8,16,24,31 NEIN

at+cvib Vibrator ein/ausschalten oder abfragen
  at+cvib? Zeigt an, ab der Vibrator aktuell ein- oder ausgeschaltet ist
  at+cvib=a Schaltet den Vibrator ein (a := 1) oder aus (a := 0)

at+gcap Abfrage der implementierten Features
  +gcap: a bei reinen GSM-Geräten wenig nützlich, da nur +GCAP: +CGSM implementiert.

Quelle: http://www.nobbi.com/atgsm.htm

 

Scannen Sie den Barcode um die Webseite zu öffnen


Quelle: http://www.trinler.net/de/service/doc/gsm.html
Gedruckt am: 23.05.2017 18:50 GMT+0200 (2017-05-23T18:50:10+02:00)