Protokoll IAX/IAX2

Aus Deutsche Asterisk User Group
Zur Navigation springenZur Suche springen

Seit Februar 2009 ist IAX Version 2 offiziell als RFC bei der IETF aufgenommen, der momentane Status ist Informational die RFC-Nummer ist die 5456

Dieses Protokoll ist ein auf Asterisk - Server zugeschnittenes Protokoll. Mehr zum technischen Hintergrund auf www.voip-info.org (Quelle: http://www.voip-info.org/wiki/view/IAX). Momentanen liegt es in der Version 2 vor und unterstützt neben Audio auch Videodaten. Version 1 ist zwar noch im Sourcecode enthalten, aber seit Januar 2004 deaktiviert (Quelle: http://www.voip-info.org/wiki/view/Asterisk+IAX+channels). Um Version 1 zu aktivieren, konnte man im Sourcecode von Asterisk 1.0 die Datei channels/Makefile editieren, bei folgender Zeile ist die Raute zu entfernen:

#CHANNEL_LIBS+=chan_iax.so

In Asterisk Version 1.2 ist IAX Version 1 nicht mehr enthalten. Heute wird IAX2 nicht nur zur Verbindung von Asterisk - Servern untereinander genutzt, sondern auch für Telefone selbst. Sehr verbreitet sind dabei Software-Telefone auf Basis der IAXClient-Bibliothek (Quelle: http://iaxclient.sourceforge.net/).

Ein großer Vorteil des Protokolls ist die einfache Nutzung durch Firewalls hindurch. Es benötigt nur einen einzelnen UDP Port, SIP benötigt dagegen je einen für die Signalisierung und einen für den Sprachverkehr. Mit IAX gibt es kaum Probleme für Telefone mit einer privaten IP-Adresse, die nach außen hin maskiert wird (NAT). Eine Auflistung der Vorteile von IAX gegenüber SIP ist unter (Quelle: http://www.voip-info.org/wiki/view/IAX+versus+SIP) zu finden.

IAX2 unterstützt das Trunking, was so etwas wie „Containerverkehr“ bedeutet. Technisch bedeutet dies, dass über eine Verbindung zwischen zwei Asterisk-Servern mehrere Gespräche laufen können. Hat man also zwei Asterisk-Server und ein Nutzer des einen Servers telefoniert mit einem Nutzer des zweiten Servers, so wird zwischen den beteiligten Servern eine logische Verbindung über einen UDP Port aufgebaut. Kommt nun ein zweites Gespräch zustande, indem ein weiterer Nutzer des ersten Servers einen anderen Nutzer des zweiten Servers anruft, so wird keine zweite Verbindung zwischen den beiden Asterisk-Servern aufgebaut, sondern die Daten wandern mit über die erste Verbindung. Dadurch wird der durch die Header der IP-Pakete produzierte Overhead reduziert.

Das Trunking ist effizient, es belegt nur die tatsächlich benötigte Bandbreite. Andere TDMoIP Trunking-Protokolle reservieren mehr als die tatsächlich genutzte Bandbreite (Quelle: http://www.voip-info.org/wiki/view/IAX).