ISTEC 1008 INTERN
Von Hergen Lehmann mit Erweiterungen von Ullrich von Bassewitz
und Norbert Richter.
Updated for 1008 V1.93 - P. Barnard (Emmerich)
Updated for 1008 V2.00 - J. Wagner (Emmerich)
**********************************************************************
* Schnittstellenprotokoll *
**********************************************************************
Schnittstellenparameter: 9600 Baud, 8N1
Die Übertragung geschieht grundsätzlich in Segmenten zu je 4Byte:
+-----------+-----------+-----------+-----------+
| x000 00xx | xxxx xxxx | xxxx xxxx | xxxx xxxx |
+-----------+-----------+-----------+-----------+
| | \-------------------------/
Endemarke | Datenbytes, ungenutzte Bytes
Anzahl der sind 00 oder FF
Datenbytes
Jeweils eine Anzahl Segmente mit dem Startbyte 0x03 und drei Daten-
bytes sowie ein abschliessendes Segment mit dem Startbyte 0x81- 0x83
und entsprechend ein bis drei weiteren Datenbytes bilden zusammen
eine Nachricht. Das erste Byte einer solchen Nachricht bestimmt
ihre Funktion, der Rest sind Parameter.
Prüfsummen oder ähnliches gibt es nicht.
Beispiele:
03 DD 07 01 83 00 01 00
= Opcode 0xDD, Parameter "07 01 00 01 00"
82 18 01 00
= Opcode 0x18, Parameter "01"
**********************************************************************
* Nachrichten vom PC an die ISTEC *
**********************************************************************
Opcode Parameter Funktion
~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x02 (2 Byte Version Bereitschaft prüfen
der PC-SW) Ab FW-Version 2.0 werden von der ISTEC
zusätzlich die Parameter pc_version_h
und pc_version_l erwartet.
Um die Features der Version 2.0 in vollem
Umfang nutzen zu können, muß der Wert
von pc_version_h >= 2 sein. Der Parameter
pc_version_l wurde fuer spätere
Versionen vorgehalten und ist in der
FW-Version 2.0 redundant.
0x05 16 oder 128 Byte Schreiben der Gebührenzähler
Gebührendaten Für jedes der 64 möglichen Endgeräte
sind zwei Bytes reserviert.
Anmerkung (N. Richter):
Ab FW 2.0 liefert und sendet die ISTEC
acht statt 64 Datensätze (also 16 Byte).
0x06 -- Abfrage Gebührenzähler
0x07 1 Byte Endgeräte- Schreiben Endgerätekonfiguration
nummer, gefolgt Endgerätenummer: 0x00=Nebenstelle 21,
von 16-25 Byte 0x01=Nebenstelle 22, usw. bis 0x3F
Konfigurations- was 16, 4 additional byte for V1.93
daten Anmerkung (N. Richter):
Übersicht Größe Endgerätedatensatz der
einzelnen FW-Versionen:
<= 1.92: 16 Byte
FW 1.93: 20 Byte
FW 1.95: 21 Byte
FW 1.96: 21 Byte
FW 2.00: 25 Byte
0x08 -- Abfrage Endgerätekonfiguration
Nach dem Empfang dieser Anweisung sendet
die ISTEC hintereinander 64 Antwortnach-
richten des Typs 0x16 (siehe unten), ent-
sprechend den 64 möglichen Endgeräten.
Anmerkung (Richter):
Ab FW 1.93 liefert die ISTEC nur noch
acht statt 64 Datensätze.
0x09 93-116 Byte Kon- Schreiben Grundkonfiguration
figurationsdaten (wird nicht quittiert!)
Anmerkung (N. Richter):
Übersicht Größe Grundkonfigurationsatz der
einzelnen FW-Versionen:
<= 1.92: 93 Byte
FW 1.93: 106 Byte
FW 1.95: 106 Byte
FW 1.96: 106 Byte
FW 2.00: 116 Byte
0x0a -- Abfrage Grundkonfiguration
0x0c -- Abschluss Konfiguration (Daten in
Permanentspeicher übernehmen!?)
Anmerkung (Wagner, Emmerich):
Mit diesem Kommando wird der EEPROM-
Timerjob gestartet,um die Konfigurations-
daten im EEPROM zu sichern
0xdd 5 Byte Parameter Diagnoseanweisung
siehe unten
**********************************************************************
* Nachrichten von der ISTEC an den PC *
**********************************************************************
Opcode Parameter Funktion
~~~~~~ ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x11 -- Positive Quittung fuer die Kommandos 0x0c
und 0x05
0x12 -- Antwort auf 0x02, Bereitschaft prüfen
0x13 1 Byte Fehler- Wird von der ISTEC im Fehlerfall zurück-
code geliefert, 0x01 = type failure, 0x03 =
invalid data (laut Emmerich Doku). Es
tritt außerdem noch der undokumentierte
Typ 0x02 auf.
Anmerkung (Wagner, Emmerich):
Tatsächlich sind für t=17.10.96
folgende Fehlertypen implementiert:
FEHLER_PROTOKOLL 0x00
FEHLER_ISTEC_TYP 0x01
FEHLER_TRANSPORT 0x02
0x15 16 oder 128 Byte Antwort auf 0x06, Abfrage Gebühren
Gebührendaten Für jedes der 64 möglichen Endgeräte
sind zwei Bytes reserviert.
Anmerkung (Richter):
Ab FW 2.0 liefert und sendet die ISTEC
acht statt 64 Datensätze (also 16 Byte).
0x16 1 Byte Endgeräte- Antwort auf 0x08, Konfiguration abfragen
nummer, gefolgt Endgerätenummer: 0x00=Nebenstelle 21,
von 16-25 Byte 0x01=Nebenstelle 22, usw. bis 0x3F
Konfigurations- Anmerkung (N. Richter):
daten Datensatzgrößen sind abhängig von der
Firmwareversion - siehe Kommando 0x07
0x17 93-116 Byte Kon- Antwort auf 0x0a, Konfiguration abfragen
figurationsdaten Anmerkung (N. Richter):
Datensatzgrößen sind abhängig von der
Firmwareversion - siehe Kommando 0x09
0x18 Endgerätenummer Quittung fuer 0x07, Schreiben der
Endgerätekonfiguration
0xdd 5 Byte Parameter, Diagnosestatus
siehe unten
**********************************************************************
* Diagnosenachrichten *
**********************************************************************
Richtung Parameterbytes Funktion
~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--> 00 69 5A 96 A5 Diagnosemodus einschalten
--> 01 00 00 00 00 Diagnosemodus beenden
<--> 02 ss gg zz 00 Verbindungsmatrix
ss=Spalte, gg=Endgerät, zz=0:aus,=1:ein
<--> 03 gg 00 zz 00 Ruf (gg=Endgerät, zz=0:aus,=1:ein)
<-- 04 gg 00 zz 00 Schleifenzustand
gg=Endgerät, zz=0:inaktiv ,=1:aktiv
<-- 05 gg 00 zz 00 Impulswahl erkannt
gg=Endgerät, zz=gewähle Ziffer
(0x10=R-Taste)
<-- 06 kk 00 zz 00 Tonwahl erkannt
kk=Kanal (0:IVb1,1:IVb2),
zz=gewählte Ziffer
<--> 07 01 00 zz 00 LED Zustand (zz=0:aus, =1:ein)
--> 08 ll 00 zz 00 Gebühren (ll=Leitung, zz=0:aus,=1:ein)
--> 09 00 00 zz 00 TFE-Verstärker (zz=0:aus, 1:ein)
<-- 09 FF FF zz 00
--> 0A 00 00 zz 00 Türöffner (zz=0:aus, =1:ein)
<-- 0A FF FF zz 00
--> 0D 00 00 00 00 Schalter abfragen (zz=0:aus, =1:ein)
<-- 0D 00 00 zz 00
Anmerkung (N. Richter):
Zwei FW 1.95er Versionen (die eigentlich nicht mehr im Umlauf sein
dürften) liefern um zwei Byte verkürzte Diagnosenachrichten.
Die Diagnosenachrichten dieser Versionen sind unbrauchbar. Dies
betrifft die 1.95 vom 9.7.96 und vom 12.7.96.
**********************************************************************
* Datenstruktur Grundkonfiguration *
**********************************************************************
Offset Bytes Typ Funktion
~~~~~~ ~~~~~ ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 1 Flag Anschlußart: 0=Mehrgeraeteanschluss
1=Anlagenanschluss
1 1 Binär Anzahl der a/b-Schnittstellen
2 1 Flag Protokoll: 0=1TR6, 1=E-DSS1
3 2 Binär Software Versionsnummer
5 1 Binär TFE-Zuordnung (0x15=21,0x16=22,...)
6 5 BCD MSN 0
11 5 BCD MSN 1
16 5 BCD MSN 2
21 5 BCD MSN 3
26 5 BCD MSN 4
31 5 BCD MSN 5
36 5 BCD MSN 6
41 5 BCD MSN 7
46 5 BCD MSN 8
51 5 BCD MSN 9
56 1 Flag Music on Hold (00=aus,01=ein)
Anmerkung (N. Richter):
Für FW-Versionen ab 1.93:
Ist Byte 93 ungleich 0x00, dann ist
dieses Byte 0x00 zu setzen. Es gelten
also folgende Zusammenhänge:
Byte 56 93 MOH
--- --- --------------
00 00 Off
01 00 Intern
00 xx Extern port xx
57 1 Binär Anzahl der internen S0-Busse
58 1 Binär Anzahl der externen S0-Busse
59 1 Binär Abfragestelle1 (0x15=21,0x16=22,...)
60 1 Binär Abfragestelle2 (0x15=21,0x16=22,...)
61 1 Binär Anzahl der Ziffern in der 1.Rufnummer
62 10 ASCII 1.Rufnummer, mit 0x00 aufgefüllt
72 1 Binär Anzahl der Ziffern in der 2.Rufnummer
73 10 ASCII 2.Rufnummer, mit 0x00 aufgefüllt
83 10 Bitmaske MSN Gruppenbildung: Für jede der 10
MSN's ein Byte, in dem die einzelnen
Bits angeben, welche der 8 Nebenstellen
klingeln sollen. Auch bei den größeren
Anlagen bleibt es bei 8Bit pro MSN;
keine Ahnung, wie die weiteren
Nebenstellen adressiert werden...
Anmerkung (Wagner, Emmerich):
Die größeren Anlagen werden
ausschließlich im Anlagenanschluß
betrieben. Dort geschieht die Zuordnung
der Tln. ueber DDI's.
----- Ab Firmware 1.93 -------------------------------------------
93 1 Binary Message on Hold port (0x15=21,0x16=22,...)
Anmerkung (N. Richter):
Siehe Anm. Byte 56 'Music on Hold'
94 2 Binary National code integer value (international
dialling code) 0x0031=49=Germany
96 4 Bitmask TFE location.
byte 0 - KEY 0 - bits correspond to ext.
byte 1 - KEY 1 - ditto
byte 2 - KEY 2 - ditto
byte 3 - KEY 3 - ditto
bit 0 - extension 21
bit 1 - extension 22
....
bit 7 - extension 28
This is used to indicate which extension
to ring when the TFE is activated (multiple
extensions are permitted by multiple bits)
Anmerkung (N. Richter):
Firmware 1.93/1.95/1.96 liefert insgesamt
106 Byte, wobei die hier fehlenden 6 Byte
bei diesen Versionen keine Funktion haben
(Reserved for future expansion).
----- Ab Firmware 2.00 -------------------------------------------
100 1 Flag Alarm Ton 0 = AUS, 1-8 = EIN
Dieser Parameter hat in der vorliegenden
Protokollvarainte keine Bedeutung.
In der SW-Struktur werden jedoch die
gleichen Typdeklarationen für die serielle
Sst. wie für die EEPROM-Routinen verwendet.
Zur Zeit wird dieser Wert lediglich für
die internen Routinen benötigt, ist aus
Kompatibilitätsgründen jedoch auch im
Sst.-protokoll enthalten.
Angereizt wird die Alarmfunktion über ein
neu definiertes Protokoll, auf das hier
jedoch nicht genauer eingegangen wird
(bei Emmerich anfragen).
101 10 Binaer Array von 10 Bytes. Jeder MSN kann einer
der folgenden Rufe zugeordnet werden:
normal_ruf -> Wert 0 als
default
sonder_ruf_1 -> Wert 1
sonder_ruf_2 -> Wert 2
sonder_ruf_3 -> Wert 4
kein_ruf -> Wert 3
111 5 Binary Reserved for future expansion
116 --ENDE--
BCD-Werte sind mit "F" aufgefüllt, wenn nicht die volle Stellenzahl
benötigt wird. Die erste Ziffer steht jeweils im LSB.
**********************************************************************
* Datenstruktur Endgerätekonfiguration *
**********************************************************************
Offset Bytes Typ Funktion
~~~~~~ ~~~~~ ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 1 Flag Wahlbewertung: 00=keine,01=Inland,...
1 1 Flag Dienst: 00=Telefonie,01=G3-FAX,...
2 1 Binär Rufumleitung: 00=keine,01=extern,
0x15=Nebenstelle 21,0x16=Nebenstelle 22,usw.
3 1 Flag Gebührenimpuls: 00=nein,01=ja
4 2 BCD PIN
6 10 BCD Rufnummer fuer externe Rufumleitung
----- Ab Firmware 1.93 -------------------------------------------
16 1 Flag Terminal mode (spontane amtsholung) 0x01=ON
17 1 Flag Anklopfen intern
Anmerkung (N. Richter):
Daten ab FW 1.93 vorhanden, Funktion erst
ab FW 2.00 implementiert.
Bit 0 = Anklopfen von Endgerät 21
Bit 1 = Anklopfen von Endgerät 22
...
18 2 Flag Anklopfen extern
Anmerkung (N. Richter):
Daten ab FW 1.93 vorhanden, Funktion erst
ab FW 2.00 implementiert.
Bit 0 = Anklopfen von MSN 0
Bit 1 = Anklopfen von MSN 1
...
Bit 9 = Anklopfen von MSN 9
Bit 10= Anklopfen von Türklingel 1
...
Bit 13= Anklopfen von Türklingel 4
----- Ab Firmware 2.00 -------------------------------------------
20 1 Binär Zusatzinfo ueber Ziffernlänge der ext.
Rufumleitung
21 1 Binär Umleitungsziel bei Besetzt.
0 = keine Umleitung bei Besetzt
1-8 = 21-28
22 1 Binär Umleitungsziel nach Anzahl Rufsequenzen.
0 = keine Umleitung nach Anzahl Rufsequenzen
1-8 = 21-28
23 1 Binär Anzahl Rufe bis Umleitung aktiviert wird
(Gltige Werte: 3-10)
24 --ENDE--
BCD-Werte sind mit "F" aufgefüllt, wenn nicht die volle Stellenzahl
benötigt wird. Die erste Ziffer steht jeweils im LSB.
**********************************************************************
* Aufbau der Konfigurationsdateien (*.IC) *
**********************************************************************
Offset Bytes Funktion
~~~~~~ ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 116 Daten der Grundkonfiguration
116 1 0x00
117 24 Konfiguration Endgerät 21
141 1 0x01
142 24 Konfiguration Endgerät 22
166 1 0x02
167 24 Konfiguration Endgerät 23
: :
: : usw., insgesamt 64 Endgerätedatensätze
: :
--ENDE--
**********************************************************************
* Verarbeitungsgeschwindigkeit der ISTEC *
**********************************************************************
Die ISTEC verarbeitet die an sie geschickten Nachrichten extrem
langsam! Glücklicherweise enthielt die Version 1.7 des Konfigurations-
programms von Emmerich einen Großteil der Turbo-Debugger Infos,
so daß es ein leichtes war, die tatsächlich benötigten Wartezeiten
durch einen Breakpoint auf der delay() Routine zu erfahren:
* Nach jedem einzelnen Block von 4 Bytes muß 40ms gewartet werden
* Nach einem kompletten Kommando nochmals zusätzlich 60ms, d.h.
nach dem letzten Block insgesamt 100ms.
Ein Nichteinhalten dieser Zeiten führt zu einer Fehlermeldung von
der ISTEC, üblicherweise 0x13 0x02.
**********************************************************************
* ERGÄNZUNGEN *
**********************************************************************
Note from Paul Barnard (Emmerich). The serial information is
buffered in the ISTEC and a byte is transfered to/from the serial
UART every time the task is run. Currently the task time is 10ms.
This is inherent in the software structure of the product.
The internal buffer size of the ISTEC is only 4 bytes
(limited by RAM constraints). Hence the need for the delay.
I've remembered to switch off the DEBUG now but if anyone wants
to know anything about either the 1008 software or the
configurationsoftware my Compuserve E-Mail is 100673,2522
Anmerkung von Michael Brandmueller (Emmerich). Ab Platine #3
(Firmware 1.93) müssen die Handshakesignale TRUE = negative
Spannung = LOW und FALSE = positive Spannung = HIGH sein.
(DTR = False und RTS = True)
Nähere Infos in der V.28 Konvention.
Anmerkung von Juergen Wagner (Emmerich). Folgende Leistungsmerkmale
können nur über eine zusätzliche Protokollvariante angereizt
werden:
- Alarmfunktion
- Tag/Nacht-Schaltung
- Kurzwahlspeicher
- Babyruf
- gesperrte Rufnummern
- Sondersignalisierung nach Calling Party Number
**********************************************************************
* CTI-Interface Rev. 005 *
**********************************************************************
Autor: J.Wagner
CTI-Interface Datum: 18.11.1996
1.1 CTI-Opcodes:
Die Daten werden in segmentierter Form über die serielle
Schnittstelle übertragen. Die Segmentlänge beträgt vier Bytes.
Jeweils eine Anzahl Segmente mit dem Startbyte 0x03 und drei
Datenbytes, sowie ein abschließendes Segment mit dem Startbyte 0x81-
0x83 und entsprechend ein bis drei Datenbytes bilden eine
Nachricht. Das MSB des Startbyte wird gesetzt, um das letzte
Segment einer Nachricht zu kennzeichnen (siehe Beispiele).
Das zweite Byte einer Nachricht wird in Form des Kommandos
CTI_START als Eintrittspunkt in das CTI-Protokoll verwendet.
Innerhalb des Protkolls wurden mehr Elemente spezifiziert, als zum
jetzigen Zeitpunkt implementiert wurden. In diesem Zusammenhang
werden lediglich die implementierten Elemente beschrieben.
Opcode Bezeichnung Parameter Funktion
0xcc CTI_START CTI-Daten Protokollkennung. Beginn
variabler jeder CTI-Nachricht
Laenge
0x05 CTI_CONF Opcode der Konfigurationsdaten senden
Information
0x06 CTI_QUERY Opcode der Gezielte Abfrage von
Information Informationen oder Zuständen
0x07 CTI_ERROR Errorcode Protokollfehler
0x08 CTI_ACK Opcode der Quittung auf Kommando
Information
0xff CTI_STOP keine Endekennung
1.2 Daten vom Host an die ISTEC
Opcode Bezeichnung Funktion
0xcc CTI_START Protokollkennung
0xff CTI_STOP Endekennung
1.2.1 CTI-Query:
Anfragen vom Host an ISTEC:
Opcode Bezeichnung Parameter Rueckgabewert
0x03 CTI_LOAD_NUMBER Speicher 1. Byte -> Speicherstelle (0-30)
stelle 2. Byte -> Länge (max. 10 Bytes )
3. bis
12. Byte -> BCD-Ziffern
13. Byte -> Attribut Babyruf
(TRUE/FALSE)
14. Byte -> Attribut gültig für
Tln. (Bitfeld)
15. Byte -> Attribut Sonderruf
Wert:
0: normal_ruf
1: sonder_ruf_1
2: sonder_ruf_2
4: sonder_ruf_3
3: kein_ruf
16. Byte -> Attribut Sperre
0x00: keine Sperre
0xff: Sperre aktiv
Nummer in Kurzwahlspeicher schreiben
Generell wird die tatsächliche Länge
der Rufnummer übertragen. Die erste
Ziffer wird im oberen Nibbel gesendet,
die zweite im unteren usw.
0x05 CTI_ALARM keine Wert: 0 -> OFF
1-8 -> Kanalnummern
0x07 CTI_DAY_NIGHT keine Wert: 0 -> TAG
1 -> NACHT
1.2.2 CTI-Conf:
Konfigurationsdaten vom Host an die ISTEC:
Opcode Bezeichnung Parameter
0x09 CTI_STORE_NUMBER 1. Byte -> Speicherstelle (0-30)
2. Byte -> Länge (max. 10 Bytes )
3. bis
12. Byte -> BCD-Ziffern
13. Byte -> Attribut Babyruf
(TRUE/FALSE)
14. Byte -> Attribut gültig fuer
Tln. (Bitfeld)
15. Byte -> Attribut Sonderruf
Wert:
0: normal_ruf
1: sonder_ruf_1
2: sonder_ruf_2
4: sonder_ruf_3
3: kein_ruf
16. Byte -> Attribut Sperre
0x00: keine Sperre
0xff: Sperre aktiv
Nummer in Kurzwahlspeicher schreiben
Generell wird die tatsächliche Länge
der Rufnummer übertragen. Die erste
Ziffer wird im oberen Nibbel gesendet,
die zweite im unteren usw.
0x05 CTI_ALARM Wert: 0 -> Alarm OFF
1-8 -> Alarm fuer Kanalnummer ON
0x07 CTI_DAY_NIGHT Wert: 0 -> TAG
1 -> NACHT
1.3 Daten der ISTEC an den Host
Opcode Bezeichnung Funktion
0xcc CTI_START Protokollkennung
0xff CTI_STOP Endekennung
1.3.1 Infoelemente:
Opcode Bezeichnung Nachrichteninhalt
0x03 CTI_LOAD_NUMBER Antwort auf CTI_QUERY (s. 1.2.1)
0x05 CTI_ALARM Wert: 0 -> Alarm OFF
1-8 -> Alarm für Kanalnummer ON
0x07 CTI_DAY_NIGHT Wert: 0 -> TAG
1 -> NACHT
1.4. Quittungen und Errorcodes
Opcode Bezeichnung Fehlerart
0x00 CTI_ERROR allgemeiner Protokollfehler
0x01 CTI_INVALID_NUMBER ungültige Wahlziffer
0x02 CTI_INVALID_SP_STELLE ungültige Speicherstelle für
Kurzwahl
0x03 CTI_INVALID_CHANNEL ungültige Kanalnummer ( z.B. für
Alarmfkt. )
0x04 CTI_INVALID_DAY_NIGHT nur TAG(0) oder NACHT(1) gültig
0x05 CTI_EEPROM_IN_USE EEPROM ist zur Zeit gesperrt
0x06 CTI_DAY_NIGHT_CHANGED erfolgreiche Umschaltung
TAG/NACHT
0x07 CTI_DEFAULT_VALUES Daten aus Grundkonfiguration und
nicht EEPROM
0x08 CTI_DAY_NIGHT_SAME TAG/TAG oder NACHT/NACHT
Umschaltung
Beispiele:
1.) Konfigurieren einer Kurzwahlnummer:
-----------------------------------
03 cc 05 03 03 0a 03 35 03 7f 00 81 83 00 00 ff
03 -> Startflag
cc -> CTI_START
05 -> CTI_CONF
03 -> CTI_STORE_NUMBER
03 -> Startflag
0a -> Speicherstelle 10
03 -> Anzahl der BCD-Ziffern (nicht der Bytes)
35 -> Ziffern 3 und 5 (BCD-gepackt)
03 -> Startflag
7f -> Ziffer 7. Die folgende Null wird verworfen (wegen Ziffernlänge 3)
00 -> Attribut Babyruf
81 -> Attribut: Kurzwahlspeicher für Teilnehmer eins und acht aktiviert
83 -> Startflag
00 -> Attribut Sonderruf
00 -> Attribut Sperre
ff -> CTI_STOP
Antwort der ISTEC auf erfolgreiche Konfiguration der Kurzwahl:
03 cc 08 03 81 ff 00 00
03 -> Startflag
cc -> CTI_START
08 -> CTI_ACK
03 -> CTI_STORE_NUMBER
81 -> Startflag, letztes Segment der Nachricht
ff -> CTI_STOP
00 -> wegen Segmentlänge von vier Bytes
00 -> wegen Segmentlänge von vier Bytes
2.) Auslesen einer Kurzwahlnummer:
-----------------------------------
03 cc 06 03 82 0a ff 00
03 -> Startflag
cc -> CTI_START
06 -> CTI_QUERY
03 -> CTI_LOAD_NUMBER
82 -> Startflag, letztes Segment der Nachricht
0a -> Speicherstelle 10
ff -> CTI_STOP
00 -> wegen Segmentlänge von vier Bytes
Antwort der ISTEC:
03 cc 08 05 03 03 0a 03
03 35 7f 00 03 81 00 00
81 ff 00 00
03 -> Startflag
cc -> CTI_START
08 -> CTI_ACK
05 -> CTI_CONF
03 -> Startflag
03 -> CTI_LOAD_NUMBER
0a -> Speicherstelle 10
03 -> Anzahl der BCD-Ziffern (nicht der Bytes)
35 -> Ziffern 3 und 5 (BCD-gepackt)
03 -> Startflag
7f -> Ziffer 7. Die folgende Info "f" wird verworfen
00 -> Attribut Babyruf
03 -> Startflag
81 -> Attribut: Kurzwahlspeicher für Teilnehmer eins und acht aktiviert
00 -> Attribut Sonderruf
00 -> Attribut Sperre
81 -> Startflag, letztes Segment der Nachricht
ff -> CTI_STOP
00 -> wegen Segmentlänge von vier Bytes
00 -> wegen Segmentlänge von vier Bytes
3.) TAG/Nacht Umschaltung:
-----------------------------------
03 cc 05 07 82 00 ff 00
03 -> Startflag
cc -> CTI_START
05 -> CTI_CONF
07 -> CTI_DAY_NIGHT
82 -> Startflag, letztes Segment der Nachricht
00 -> TAG-Konfiguration aktivieren
ff -> CTI_STOP
00 -> wegen Segmentlänge von vier Bytes
00 -> wegen Segmentlänge von vier Bytes
Quittung der ISTEC auf TAG/NACHT Umschaltung:
03 cc 08 07 82 06 ff 00
03 -> Startflag
cc -> CTI_START
08 -> CTI_ACK
07 -> CTI_DAY_NIGHT
82 -> Startflag, letztes Segment der Nachricht
06 -> CTI_DAY_NIGHT_CHANGED
ff -> CTI_STOP
00 -> wegen Segmentlänge von vier Bytes