Skip to main content

Verbindungsaufbau bei Asterisk

Damit ein IAX-Client, welcher in der Abbildung als IP-Telefon dargestellt ist, eine Kommunikation mittels des Asterisk-Systems nutzen kann, muss dieser sich an dem Systems authentifizieren. Der IAX-Client kann neben einem IP-Telefon auch ein Softphone auf dem PC oder mittels Adapter angeschaltete analoge bzw. digitale Endgräte sein.

Nachfolgend wird eine Registrierung eines IAX-Clients am Asterisk-System grafisch dargestellt und die einzelnen Schritte der Registrierung aufgezeigt.

Schritt 1:
Der IAX-Client sendet ein REGREQ zum Asterisk-System und fordert so eine Registrierung am System an. Diese Registrierungsanfrage enthält dabei den entsprechenden User-Namen des IAX-Clients.

Das Asterisk-System wiederum bestätigt mittels ACK dem IAX-Client, dass dieser die Registrierungsanfrage erhalten hat.

Schritt 2:
Mit der im ersten Schritt gesendeten Bestätigung (ACK) und die eingegangene Registrierungsanfrage geprüft und ausgewertet hat, übermittelt das Asterisk-System in diesem Schritt mittels REGAUTH die für die Registrierung benötigte Methode der Authentifizierung. Der Erhalt des REGAUTH wird dabei wieder von IAX-Client mittels ACK bestätigt.

Registrierung bei Asterisk

Registrierung bei Asterisk

Schritt 3:
Hierbei übermittelt der IAX-Client eine zweites REGREQ, wobei dieses das für die Authentifizierung nötige Passwort (welches zum entsprechenden IAX-Client gehört) enthält. Der Erhalt wird entsprechend von Asterisk-System mittels ACK bestätigt.

Schritt 4:
Das Asterisk-System prüft das übermittelte Passwort bezüglich der Zugehörigkeit des IAX-Client. Bei erfolgreicher Authentifizierung wird dem IAX-Client mittels des REGACK entsprechend ein freier UDP-Port für dessen Kommunikation zugewiesen. Dies wird letztmalig vom IAX-Client an den Asterisk-Server bestätigt.

Wenn jedoch die Authentifizierung, aus welchen Gründen auch immer, abgelehnt werden muss, so erfolgt im Schritt 4 die Übermittlung eines REGREJ (anstatt REGACK). Hierbei wird zudem der Ablehnungsgrund benannt.

Die eben aufgezeigte Registrierung wird in zyklischen Abständen wiederholt, um so die Sicherheit zu gewährleisten, dass der registrierte IAX-Client die ganze Zeit seiner Registrierung auch der ist der er vorgibt.

Statusabfragen

Neben der Registrierung, welche eben aufgezeigt wurde, gibt es einen zweiten Mechanismus, der nicht direkt an der Kommunikation beteiligt ist. Es handelt sich hierbei um Abfrage von Stadien, was nachfolgend grafisch dargestellt ist und näher erläutert wird. Diese Statusabfragen werden dabei mittels des Mini-Header realisiert.

Statusabfrage

Statusabfrage

Schritt 1:
Mittels LAGRO überprüft das Asterisk-System in einem zyklischen Turnus die Aktivität des IAX-Clients. Bei einem aktiven IAX-Client (mit aktiven Verbindungen) bekommt das System auf dessen Request eine entsprechende Response. Der IAX-Client wiederum bestätigt den Erhalt dieser Anfrage mittels des ACK.

Schritt 2:
Nachdem der IAX-Client die Anfrage (LAGRO) des Asterisk-Systems erhalten hat, liefert dieser mittels LAGRP die Antwort und bestätigt dem System damit seine Aktivität. Das Asterisk-System wiederum bestätigt den Erhalt der Antwort.

Kommunikation zwischen IAX-Client und Asterisk-System

In diesem Punkt soll die Kommunikation eines IAX-Clients mit dem Asterisk-System näher beleuchtet werden. Bei einer Kommunikation zwischen IAX-Client und Asterisk-System kann es sich z. B. um einen Abruf einer Sprachnachricht oder allgemein um eine Kommunikation mit einem VoiceMenü handeln. Diese beiden Aspekte sind nachfolgend grafisch dargestellt und werden entsprächend näher beleuchtet.

Einzelkommunikation

Einzelkommunikation

Schritt 1:
Der IAX-Client sendet eine Verbindungsanfrage (NEW) an das Asterisk-System. Hierbei wird die angewählte Rufnummer (in dem Fall Malibox oder VoiceMenü) übermittelt, was vom Asterisk-System mittels ACK bestätigt wird.

Schritt 2:
Durch die Sicherheitseinstellung des Asterisk-Systems (damit sichergestellt wird, dass der Client der ist, der er vorgibt) wird in diesem Schritt mittels AUTHREQ eine neue Authentifizierung eingeleitet. Hierbei wird entsprechend der die Methode der Authentifizierung übertragen, was wiederum beim Erhalt vom IAX-Client bestätigt (ACK) wird.

Schritt 3:
Die mittels des AUTHREQ angestartete Authentifizierungsanfrage des Asterisk-Systems erwartet eine bestimmte Antwort des IAX-Clients. Die Antwort des IAX-Client soll den Identitätsbeweis liefern und wird mittels des AUTHREP übermittelt. Den Erhalt dieses AUTHREP muss das Asterisk-System entsprechend bestätigen.

Schritt 4.
Die Antwort des IAX-Client (AUTHREP) wird im Asterisk-System ausgewertet. Bei erfolgreicher Identitätsprüfung wird dies an dem IAX-Client mittels ACCEPT übergeben, was dieser natürlich wieder bestätigen muss.

Schritt 5:
In diesem Schritt wird dem IAX-Client die Information (ANSWER) mitgeteilt, dass der Kommunikationsteilnehmer, was in diesem Fall das Asterisk-System ist, die Verbindungsanfrage angenommen bzw. akzeptiert hat. Der Erhalt dieser Information muss entsprechend wieder bestätig werden.

Schritt 6:
Mittels VOICE wird zwischen den Kommunikationsteilnehmern (IAX-Client und Asterisk-System) die Übertragungsart der Daten (ob Sprache, Video, Bilder etc.) ausgehandelt. Dies wird gegenseitig mittels ACK entsprechend bestätigt.

Nachdem die Aushandlung erfolgt ist und dies beiderseitig bestätigt ist, wird ein Sprachkanal aufgebaut.

Einzelkommunikation 2

Einzelkommunikation 2

Im Fall des Nachrichtenabrufes kann der IAX-Client nun entsprechend seine Nachrichten abhören.

Im Fall der Kommunikation mit einem VoiceMenü hingegen ist der IAX-Client zu diesem Zeitpunkt mit dem VoiceMenü verbunden. Er ist somit noch nicht am gewünschten Ziel, was auch eine VoiceBox oder auch ein anderer Teilnehmer sein kann. Hierfür muss der User über die Tastatur des IAX-Clients seinen gewünschten Weg einschlagen.

Einzelkommunikation 3

Einzelkommunikation 3

Mit diesem zweiten aufgebauten Sprachkanal ist der User dann entsprechend mit der VoiceBox oder einem anderen Teilnehmer verbunden.
Das Verbindungsende, sprich das Auflegen des Hörers, ist wieder in beiden Fällen gleicht. Mittels des Auflegen wird vom IAX-Client eine HANGUP-Befehl an das Asterisk-System übermittelt, mit welchem die Verbindung beendet wird.

Einzelkommunikation 4

Einzelkommunikation 4

Kommunikation zwischen IAX-Client und IAX-Client

Ein IAX-Client kann nun natürlich nicht nur mit dem Asterisk-Server kommunizieren, wie es im vorherigem Abschnitt aufgezeigt wurde. Asterisk ist eine Telefonanlage und die Aufgabe einer Telefonanlage ist die Verbindung von Usern. Somit befasst sich dieser Abschnitt mit der Kommunikation zweier IAX-Clients.

Kommunikation zweier IAX-Clients

Kommunikation zweier IAX-Clients

Schritt 1:
Der IAX-Client A sendet eine Verbindungsanfrage (NEW) an das Asterisk-System. Hierbei wird die angewählte Rufnummer (in dem Fall IAX-Client B) übermittelt, was vom Asterisk-System zum IAX-Client B durchgereicht wird. Dieser wiederum senden eine Bestätigung (ACK) an das Asterisk-System, welche zum IAX-Client A durchgereicht wird..

Schritt 2:
Durch die Sicherheitseinstellung des Asterisk-Systems (damit sichergestellt wird, dass der Client der ist, der er vorgibt) wird in diesem Schritt mittels AUTHREQ eine neue Authentifizierung eingeleitet. Hierbei wird entsprechend der die Methode der Authentifizierung an den IAX-Client A übertragen, was dieser wiederum beim Erhalt bestätigt (ACK) wird.

Es ist hierbei auch nur die Authentifizierung des IAX-Client A notwendigt. Der IAX-Client B wird entsprechend nicht vom Asterisk-System betrachtet.

Schritt 3:
Die mittels des AUTHREQ angestartete Authentifizierungsanfrage des Asterisk-Systems erwartet eine bestimmte Antwort des IAX-Clients A. Die Antwort des IAX-Client A soll den Identitätsbeweis liefern und wird mittels des AUTHREP übermittelt. Den Erhalt dieses AUTHREP muss das Asterisk-System entsprechend bestätigen.

Schritt 4.
Die Antwort des IAX-Client A (AUTHREP) wird im Asterisk-System ausgewertet. Bei erfolgreicher Identitätsprüfung wird ACCEPT von IAX-Client B an IAX-Client A vom Asterisk-System hindurchgereicht.

Schritt 5:
Mittels des RINGING wird dem Anrufenden User das Freizeichen / Klingeln signalisiert, was wiederum bestätigt wird.

Schritt 6:
In diesem Schritt wird dem IAX-Client A die Information (ANSWER) von IAX-Client B mitgeteilt, was die Annahme der Verbindungsanfrage bedeutet. Der Erhalt dieser Information muss entsprechend wieder bestätig werden.

Schritt 7:
Mittels VOICE wird zwischen den Kommunikationsteilnehmern (IAX-Client A und IAX-Client B) die Übertragungsart der Daten (in diesem Fall Sprache) ausgehandelt. Dies wird gegenseitig mittels ACK entsprechend bestätigt.

Nachdem die Aushandlung erfolgt ist und dies beiderseitig bestätigt ist, wird ein Sprachkanal aufgebaut. Diese kann nun für den Sprachverkehr eingesetzt werden. Somit können sich die beiden Teilnehmer ab siedem Zeitpunkt hören.

Das Verbindungsende, sprich das Auflegen des Hörers, wird mittels des HANGUP-Befehls eines der beiden IAX-Clients hervorgerufen. Somit beendet das Asterisk-System die Verbindung.

Top Artikel in Asterisk