Multiple Data Message Format
SDMF und MDMF dienen zur Übertragung von Kurznachrichten über die analoge Telefonleitung im aufgelegten Zustand. Am bekanntesten ist die Übermittlung der Rufnummer des Anrufers (CLIP-Funktion).
Nicht zu verwechseln mit der Datenübertragung während des Gesprächs.
Implementierung
Die Übertragung erfolgt mit einer RS-232-kompatiblen Signalisierung mit 1200 Baud, 8 Datenbits, 1 Stoppbit. Dazu werden die binären Zustände 0 (auch Space genannt) und 1 (Mark) durch 2 verschiedene Frequenzen repräsentiert, es handelt sich um FSK. Die genauen Frequenzen sind im Standard festgelegt, aber Untersuchungen haben ergeben, dass es verschiedene Implementierungen gibt. Daher muss ein entsprechend ausgestattetes Endgerät (Telefon) mit verschiedenen Frequenzen auskommen. Den eigentlichen Daten ist ein Vorspann (Header) angefügt, der die automatische Detektierung der Frequenzen im Empfänger ermöglicht.
Binärer Zustand | ETSI-Standard EN 300 659-3 | Bellcore GR-30-Core | Deutschland (gemessen) |
---|---|---|---|
0 (Space) | 2130 Hz | 1200 Hz | 1400 Hz |
1 (Mark) | 2750 Hz | 2200 Hz | 1950 Hz |
In Deutschland und den meisten Ländern Europas erfolgt diese Signalübertragung in geringer Amplitude zwischen dem ersten und zweiten Klingeln. Je nach Land wird die Anrufzeit mit übertragen oder nicht, in Deutschland ist die Übertragung unüblich. Es ergibt sich das folgende Bild.

Und so hört sich das an; die Rufnummer ist anonymisiert 1234567890.
(bitte in .wav umbenennen und anhören)
Diesen Ton bekommt man normalerweise nicht zu hören, weil das Amt beim Abnehmen des Telefonhörers (Herstellung des Schleifenstroms) sofort die Signalübertragung abbricht.
Dekodierung
Ein Dekoder wird vom ersten Klingeln geweckt. Er kann auch die Energie der Rufwechselspannung für die anschließende Dekodierung verwenden. Danach erwartet dieser eine Folge aus wechselnden Bits (0-1-0-1...), welches der lückenlosen RS-232-Übertragung des Zeichens „U“ (0x55) entspricht. Von dieser Folge bildet der Dekoder den Frequenz-Mittelwert als künftiges Entscheidungskriterium.
Danach erwartet der Dekoder eine konstante, höher liegende Frequenz. Dann kann die Dekodierung der Nutzdaten beginnen: Mit jedem Frequenzabfall unter die anfangs ermittelte Frequenzschwelle wird ein RS-232-Startbit erkannt, und das Einlesen der Datenbits eines jeden Zeichens erfolgt mit 1200 Schritt pro Sekunde (Baud). Zwischen den Einzelzeichen sind Lücken (aus 1-Bits) erlaubt, aber unüblich.
Die Datenbytes mitsamt Prüfsumme addiert muss ein Nullbyte ergeben. Das Datenpaket besteht aus einem äußeren Rahmen (mit der Kennung 0x80 für Anrufvorbereitung) und beliebig vielen inneren Rahmen, von denen das Bild die zwei üblicherweise benutzten zeigt. Die Kennung für die Rufnummer des Anrufers ist 0x02, die für die Unterdrückung 0x04. Detaillierte Angaben über die Möglichkeiten stehen im ETSI-Standard. Anhand der Längenangaben der Sub-Pakete kann die Dekoder-Software problemlos unbekannte Sub-Pakete überspringen und somit ignorieren.