Internet-Telefonie (VoIP) mit Asterisk einrichten (Anleitung)

Aus Portunity Wiki

Wechseln zu: Navigation, Suche

Wie wird die Astersik an den SIP- und IAX-Port-Anschlüsse von Portunity angebunden ? Wie kann raustelefoniert werden ? Wie können eingehende Gespräche verarbeiten werden ? - Konfigurationshinweise und Tipps rund um Asterisk.

Inhaltsverzeichnis

Ausgehende Gespräche Variante 1 (gut für erste Test's)

Um mit der Asterisk Gespräche mit dem IAX-Protokoll über den "IAX-VoIP-Server" von Portunity zu terminieren, ist im Dialplan einfach folgender Dial-Befehl zu verwenden:

exten => _0XXXXXX.,1,Dial(IAX2/iaxAAAAA:BBBB@iax.iaxport.de/${EXTEN})

Wobei iaxAAAAA der Loginname ist (iax plus eine Zahl !) und BBBB das dazu gehörige und selbst gewähltes Account-Kennwort. Mit iax.iaxport.de wird der Server von Portunity adressiert und Asterisk mitgeteilt, das Gespräch über diesen aufgebaut werden sollen. Anstelle des Hostnamen kann auch die IP-Adresse verwendet werden, wobei die Verwendung des Hostnames generrel sicherer ist falls sich die IP-Adresse mal ändern sollte. In der Variable ${EXTEN} steht die Zielrufnummer der aktuellen Asterisk-Extention.

Als Zielrufnummer kann eine ganz normale dt. Nummer verwendet werden (020269555888, wobei 0202 für wuppertal steht und die folgenden Ziffern eine Testnummer unserer TK-Anlage darstellen). Sofern eine führende Null zum Amt-holen im Dialplan der Asterisk definiert wurde, muß natürlich ${EXTEN:1} verwendet werden um die führende 0 der Amts-Holung nicht mit zu Portunity zu übertragen.

Ausgehende Gespräche Variante 2 (Empfohlen):

Um nicht die Zugangsdaten in jedem Dial-Befehl im Dialplan stehen zu haben, bietet sich folgende Variante an:

In der iax.conf-Konfigurationsdatei wird folgender Abschnitt definiert:

[iaxport-outbound]
type=peer
username=iaxAAAAA
secret=BBBB
host=iax.iaxport.de

Im Dialplan vereinfacht sich die Anwahl dann wie folgt:

exten => _0XXXXXX.,1,Dial(IAX2/iaxport-outbound/${EXTEN})

Der Vorteil ist, dass die Zugangsdaten an EINER zentralen Stelle und nicht mehr im Dialplan stehen.

Eingehende Gespräche: Variante 1: (alte Lösung)

Um auch auf dem VoIP-Server von Portunity eingehende Gespräche für die SIP- und IAX-Adresse zu einem eigenen Asterisk-Server zu "leiten", sind weitere Schritte nötig.

Die einfachste ist einfach bei Portunity im Webinterface eine "Weiterleitung" zu einer eigenen "lokalen" SIP- oder IAX-Adresse eines eigenen Asterisk-Gateways zu definieren. Dazu im Webinterface in das SIP- und IAX-Port-Paket wechseln (direkt nach dem Login im linken Frame) und dort den Konfigurationsdialog (1. Icon) aufrufen. Im Block "Anrufweiterleitungen" nun einen Eintrag wie folgt definieren:

  • Priorität (Prio) = 1
  • Anruf von: leer lassen (=default)
  • Uhrzeit von / bis: 00:00 bis 23:59 (=default)
  • Zielrufnummer: alle (=default)
  • Aktion: Weiterleiten
  • Weiterleitungsziel: sip:ihresip@ihredomain.de

Als Weiterleitungsziel können sowohl eine SIP- als auch eine IAX-Adresse als auch Festnetz- oder Handynummern angeben werden (bitte beachten, dass nicht-voip-Adressen an dieser Stelle von Portunity abgerechnet werden !). Dort also einfach die SIP- oder IAX-Adresse des eigenen Asterisk-Servers eintragen und eingehende Gespräche werden zu dem Server weitergeleitet.

Diese Lösung setzt allerdings voraus, dass der eigene Asterisk-Server unter einer "stabilen" Domain / Hostnamen erreichbar ist, d.h. über eine statische IP-Adresse verfügt (z.B. von einem der Portunity-DSL-Zugänge !).

Eingehende Gespräche: Variante 2:

In der iax.conf-Konfigurationsdatei in der [general]-Sektion folgende Zeile einfügen:

register => iaxAAAAA:BBBB@iax.iaxport.de

Wobei iaxAAAAA wieder der Loginname ist (iax plus eine Zahl !) und BBBB das dazu gehörige und selbst gewählte Account-Kennwort. Mit iax.iaxport.de wird wiederum der Server adressiert und Asterisk wird mit dieser Zeile mitgeteilt, sich an den Server mit diesen Zugangsdaten "einzubuchen".

Dies kann auf der Asterisk-Console anschließend mit dem Befehl "iax2 show registry" überprüft werden, der dann etwas wie folgt auswerfen müsste:

gate*CLI> iax2 show registry
Host Username Perceived Refresh State
82.139.223.1:4569 iax12651 213.240.185.xxx:4569 60 Registered
gate*CLI>

Der Status sollte "Registered" sein, ansonsten liegt ein Fehler vor. Die Zeile bewirkt außerdem, dass sich der Asterisk-Server regelmässig beim Portunity-Server meldet (eben alle 60 Sekunden wie unter Refresh in diesem Beispiel ersichtlich) - d.h. dieses Verfahren funktioniert dadurch auch mit einer dynamischen IP-Adresse und bei einem IP-Wechsel vergehen maximal bis zu 60 Sekunden bis die neue IP-Adresse "nachgeführt" ist.

Des weiteren in die iax.conf einfügen:

[iaxport]
type=friend
host=iax.iaxport.de
username=iaxAAAAA
secret=BBBBBB
peercontext=iaxport
context=from-iaxport
notransfer=yes

und in der extensions.conf:

[from-iaxport]
exten => s,1,Dial(wohinauchimmer)

Der [iaxport]-Abschnitt kann dann außerdem wie weiter oben beschrieben auch als Outbound-Konfiguration mitbenutzt werden.

Tipps:

  • Nicht vergessen evt. Firewall Ports und IP-Adressen freizuschalten ! Im Zweifelsfall eine Firewall auch einfach mal ganz kurz für einen Test runterfahren - funktioniert es dann, liegt eine Firewall-Fehlkonfiguration vor, funktioniert es immer noch nicht, liegt der Fehler nicht an der Firewall. Auf keinen Fall aber vergessen, die Firewall anschließend wieder hochzufahren ...
Persönliche Werkzeuge