Beim Telefonieren über VoIP gibt es verschiedene Faktoren, die die Qualität der Sprachübertragung beeinflussen können. In diesem Artikel wollen wir auf Übertragungsprotokolle, Verzögerungen im Gespräch und Jitter eingehen und erklären, was Sie dabei beachten sollten.
Dieses Protokoll wird während eines Telefonates benutzt, also direkt nachdem SIP die Verbindung zwischen den Gesprächsteilnehmern vermittelt hat. Das Einzigartige an diesem Protokoll ist, das es entwickelt wurde für eine kontinuierliche, paketbasierte Übertragung von Multimediainhalten über das Internet.
Erstmals wurde dieses Protokoll 1996 standardisiert von der Audio Video Transport Working Group.
Zu dem RTP Protokoll gehört auch das RTCP (Real- Time Control Protocol) welches eng mit diesem verbunden ist. Beide Protokolle arbeiten praktisch „Hand in Hand“ miteinander. RTP ist hierbei für die Übertragung der Daten zuständig, während RTCP die Einhaltung der Dienstqualität während der Übermittlung sicherstellt sowie der Synchronisierung der verschiedenen Streams dient.
Dass beide Protokolle „Hand in Hand“ arbeiten, wird auch an den genutzten Ports sichtbar. Hier benutzt RTP die Ports mit einer geraden Zahl und RTCP die nächsthöheren Ports mit einer ungeraden Zahl. Als Beispiel: Wenn das RDP Protokoll den UDP Port 7000 verwendet, benutzt RTCP automatisch den UDP Port 7001.
Bei der Sprachübertragung werden UDP Ports genutzt. Die genauen Portbereiche hängen von den jeweiligen Endgeräten ab. Dies wird zwischen den Parteien vor dem Telefonat per SIP ausgehandelt.
Um möglichen Problemen entgegen zu wirken, sollte sichergestellt werden, dass SIP Pakete sowie RTP Pakete ungehindert zwischen Teilnehmern übertragen werden können.
Denn falls eine RTP Verbindung einseitig blockiert wird, z.B. durch eine Firewall, kann sich das auf das auf das Gespräch auswirken. Es kann durch die Blockierung passieren, dass ein Teilnehmer seinen Gesprächspartner nicht hört oder umgekehrt.
Die Verzögerung während eines Telefonates ist auch ein sehr wichtiges Thema. Niemand mag es, wenn das Gesagte noch nicht beim Gesprächspartner angekommen ist und dadurch gegenseitig ins Wort gefallen wird.
Um dies zu vermeiden sollte die Laufzeit der Sprachpakete möglichst kurz sein und ist somit auch ein wichtiges Kriterium in der Internet Telefonie.
Die Gesamtverzögerung gibt an wie lange es dauert bis das Gesprochene von Person A bei Person B zu hören ist. Dies nennt man eine End to End Verzögerung. Die Laufzeitverzögerung, auch Delay genannt, entsteht bei der Umwandlung der Datenformate und dem Routing.
Die größte Verzögerung entsteht dabei vor allem bei Zwischenstationen. Im lokalen Netzwerk kann das bei Switch und Router aber auch durch die Firewall passieren. Auch zwischen dem Sender und Empfänger bei verschiedensten Proxy Servern und Gateways können Verzögerungen auftreten. Es gibt eine Vielzahl von Faktoren, die den Delay vergrößern können.
Auch bei der Digitalisierung, also der Umwandlung sowie Komprimierung, entsteht ein Delay, welcher abhängig vom Codec und der Rechenleistung ist.
Umso schneller komprimiert und codiert bzw. dekomprimiert und decodiert werden kann, desto kürzer die Verzögerung. Jedoch muss dazu gesagt werden, dass der Unterschied zwischen den Codecs den Delay nur minimal beeinflusst und es dadurch wenig Sinn macht den Codec selbst zu optimieren.
Hier ist einmal eine kurze Übersicht über die normale Laufzeit eines Audiopakets und wie viel Zeit an den verschiedenen „Zwischenstationen“ verloren geht.
Ursache | Laufzeit |
---|---|
AD-Wandlung | 20 ms |
Paketerstellung | 30 ms |
Sonstige Servicezeiten | 10 ms |
Routing über 800 Kilometer | 50 ms |
Jitter Buffering | 30 ms |
D-A-Wandlung | 20 ms |
Laufzeit gesamt | 160 ms |
Natürlich können die Durchschnittswerte durch verschiedenste Einflüsse variieren. Für ein perfektes Ergebnis sollte die Gesamtverzögerung einen Wert von 150 ms nicht übersteigen. Denn ab 250 ms kann das Gespräch schon negativ beeinflusst werden. Bis zu 400 ms ist es noch akzeptabel, solange es nicht dauerhaft ist. Aber bei allen Verzögerungen über 400ms sind deutliche Gesprächspausen hörbar. Dadurch wird normales Telefonieren nicht mehr möglich sein ohne seinem Gesprächspartner die ganze Zeit über unbeabsichtigt ins Wort zu fallen und diesen zu Unterbrechen.
Es gibt die Möglichkeit, die Verzögerung mit einem Ping zu messen. Dies ist aber eher eine grobe Schätzung und sollte nicht als genauer Wert benutzt werden.
Denn zuerst misst ein Ping die Gesamtverzögerung von Hinweg und Rückweg auch RTT (Round-Trip-Time) genannt. Jedoch enden beim Empfänger Sprachdaten wodurch der Wert des Pings am Ende halbiert werden muss.
Da ein Ping aber wahrscheinlich nicht denselben Hin- und Rückweg benutzen wird, ist dies nur eine grobe Schätzung. Solch einen Test Sie jederzeit an einem Windows oder Linux Rechner machen, da man mit beidem Ziele anpingen kann.
Zuerst muss man noch die Größe des Pings wissen um diesen einstellen zu können.
Nun ein bisschen Mathematik:
Eine Standard Codierung wäre die G.711 wobei im Durchschnitt 20ms an Sprachdaten in einem Paket gebündelt werden was 160Byte entspricht (64kBit/s * 0,02s). Nun werden 40 Byte hinzugerechnet für den kompletten IPv4, UDP und RTP Header Anteil. Damit sollte der Ping zum Testen 200 Byte pro Paket verschicken.
Unter Windows muss man die Eingabeaufforderung öffnen und dort „ping -I 200 -t {Hostname}“ (Ohne die Anführungszeichen) eintragen. -t bedeutet das der Ping solange wiederholt wird bis Strg + C gedrückt wird. Nun müsste einmal mit Enter bestätigt werden und Windows fängt schon an, an das Ziel zu pingen und gibt einem die Zeit für den Ping in ms wieder. Diesen Wert nun einmal halbieren und man hat einen groben Messwert.
Unter Linux hieße der Befehl „ping -s 200 {Hostname}}“
Unter Jitter oder auch Laufzeitschwankung versteht man die Verzögerungen bei der Laufzeit während einer Übertragung. Diese Verzögerungen können sehr unterschiedlich ausfallen und haben verschiedenste Gründe. Jitter führen zu schlechter Sprachqualität und um dies zu vermeiden werden sogenannte Jitter Buffer eingesetzt. Jitter Buffer erhöhen allerdings den Delay erhöhen und sind somit unter Vorsicht einzusetzen.
Jitter Buffer speichern den eingehenden Datenverkehr um Ungleichmäßigkeiten wie Wiederholungen oder Lücken auszugleichen und den Datenfluss gleichmäßig weiterzugeben.
Als Merksatz bei VoIP gilt: Es geht nicht um 10 ms mehr oder weniger, sondern darum, dass diese 10 ms stets konstant erreicht werden und es keinen Jitter gibt.
Paketverlust bzw. Packet Loss ist bei normalen Anwendungen im Internet ganz normal und nicht weiter schlimm, da diese Pakete einfach ein weiteres Mal geschickt werden. Jedoch ist dies bei einer Echtzeitanwendung wie VoIP nicht hilfreich. Geht eine Silbe verloren und würde noch einmal gesendet werden, ist es dafür längst zu spät.
VoIP Sprachpakete werden mit UDP verschickt, welches schneller ist. Allerdings kann der Absender nicht sicherstellen, ob die Pakete auch angekommen sind. Dies ist aber wie schon erwähnt uninteressant bei der Internettelefonie.
Ein Sprachpaket hat ungefähr 20-30ms an Sprache. Also in etwa eine Silbe pro Sprachpaket. Dadurch ist es egal, wenn vereinzelt Pakete verloren gehen und dadurch manche Silben nicht ankommen. Solange dies nicht zu oft passiert, ist es meistens nicht wirklich merkbar da Menschen in der Lage sind fehlende Silben, welche eindeutig durch den Kontext sind, ganz automatisch im Kopf zu ergänzen.
Wenn jedoch mehrere Pakete aufeinanderfolgend verloren gehen, könnten ganze Wörter fehlen. Das kann sich wiederum durchaus negativ auf ein Gespräch auswirken.
In der Regel geht 1% an Paketen verloren. Bis zu 5% muss der Codec ausgleichen können. Jedoch kann durch verschiedene Gegebenheiten dieser Wert schnell überschritten werden. Die häufigste Ursache davon ist ein überlastetes Netzwerk.
Zum Teil kann diesem Problem Abhilfe geschaffen werden, indem man ausreichend Datenpuffer hat. Diese minimieren Paketverlust und helfen bei Bandbreitenschwankungen durch das Zwischenspeichern von Datenpaketen, bevor diese weitergeschickt werden. Jedoch entsteht dadurch wiederum ein unnötiger Delay in der Telefonie.
Bei der Wahl des Internetanschlusses für Ihr Unternehmen, sollten Sie zudem immer auch die Kapazitäten für IP-Telefonie mit einplanen.