Skip to content

rossi75/rtp2fax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Fax-Dekodierung aus G.711 RTP Streams (Konzept)

Dieses Bash-Skript extrahiert aus einem .pcap-File mit einem G.711 kodierten Fax-RTP-Stream automatisch den Faxinhalt und wandelt ihn in ein TIFF (und ein PNG-Bild) um


Funktionsweise

  1. Analyse des PCAP-Files:
    Das Skript erkennt UDP-Streams im .pcap und überprüft, ob genau ein oder zwei mögliche RTP-Streams vorhanden sind. Bei mehr als zwei Streams bricht es ab, um Fehlinterpretationen zu vermeiden. Bei zwei Streams (Hin- und Rückrichtung) wird der Stream mit den meisten Paketen verwendet. Der Stream mit weniger Paketen ist dann "nur" die Seite die das Fax empfängt und die Bestätigungen verschickt

  2. Codec-Erkennung:
    Automatische Erkennung, ob der G.711-Stream µ-law (Payload Type 0) oder A-law (Payload Type 8) ist

  3. Extraktion & Konvertierung:

    • RTP-G.711 Payload wird extrahiert und in eine rohe Audiodatei geschrieben
    • Diese wird mit sox in eine WAV-Datei umgewandelt
    • rxfax dekodiert aus der WAV-Datei das Fax in eine TIFF-Datei
    • Optional wird das TIFF mit ImageMagick (convert) in ein PNG-Bild konvertiert

Voraussetzungen

Das Skript benötigt folgende Programme, die installiert sein müssen:

Programm Paketname (Debian/Raspbian) Zweck
tshark tshark RTP-Stream Analyse
xxd vim-common Hexdump in Binärdatei umwandeln
sox sox Audio-Konvertierung
rxfax spandsp-utils Fax-Dekodierung
convert imagemagick TIFF → PNG Konvertierung [optional]

Installation der Abhängigkeiten

sudo apt update
sudo apt install tshark sox spandsp-utils imagemagick vim-common

About

converts unencrypted G711 stream with fax data into a TIFF and JPG

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published