Multiple Data Message Format
# Multiple Data Message Format

Das Multiple Data Message Format (MDMF) dient zur Übertragung von Kurznachrichten auf der analogen Telefonanschlussleitung 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 zwei verschiedene Frequenzen repräsentiert, es handelt sich um Frequenzumtastung. 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-1 (V.23 Modus 2) | Bellcore GR-30-Core | Deutschland (gemessen) |
| 1 (Mark) | 1300 Hz | 1200 Hz | 1400 Hz |
| 0 (Space) | 2100 Hz | 2200 Hz | 1950 Hz |

## Beispiel der Übermittlung bei CLIP

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.
Nebenstehend ein Klangbeispiel für die Rufnummer 1234567890.
Diesen Ton bekommt man normalerweise nicht zu hören, weil das Amt beim Abnehmen des Telefonhörers (Herstellung des Schleifenstroms) die Signalübertragung sofort abbricht.

## Dekodierung

Ein Dekoder wird vom ersten Klingeln geweckt. Er kann die Energie der Rufwechselspannung speichern und für die anschließende Dekodierung verwenden. Danach erwartet er eine Folge aus wechselnden Bits (0-1-0-1…), was 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, tiefer liegende Frequenz. Dann kann die Dekodierung der Nutzdaten beginnen: Mit jedem Frequenzanstieg über die anfangs ermittelte Frequenzschwelle wird ein RS-232-Startbit erkannt, das Einlesen der Datenbits jedes Zeichens erfolgt mit 1200 Schritt pro Sekunde (Baud). Zwischen den Einzelzeichen sind Lücken (aus 1-Bits) erlaubt, aber unüblich.
Die einzelnen Datenbytes addiert mit der Prüfsumme müssen 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.

## Single Data Message Format

Der Paketaufbau bei SDMF unterscheidet sich von MDMF durch die „fehlende“ Längenangabe des inneren Datenblocks; dadurch kann es nur einen inneren Datenblock geben. Eine praktische Implementierung von SDMF ist nicht bekannt.