Unterabschnitte

Asterisk

(c) Fabian Wolter <mailto:fabian@eisfair.org>

Einleitung

Asterisk ist eine Software-Telefonanlage mit Funktionen wie Voicebox- oder Voice over IP-Unterstützung (SIP, IAX). Des weiteren kann sie mit Hilfe einer HFC-ISDN-Karte (Siehe Die HFC-S-ISDN-Karte) einen internen S0-Bus bereitstellen.

Dadurch ist es ohne Weiteres möglich, Asterisk in vorhandene ISDN-Strukturen zu integrieren.

Eine kleinere TK-Anlage (z.B. Eumex, FritzX) kann hinter den Asterisk-Server geschaltet werden. Damit besteht die Möglichkeit, auch mit analogen Telefonen, VoIP-Telefonie zu betreiben. So ist es z.B. möglich mit einen analogen schnurlosen Telefon über das Internet zu telefonieren, ohne dass man etwas davon bemerkt.

Hinweis
Anwendungsbeispiele und eine Feature-Liste von Asterisk auf dem Easy Internet Server sind unter folgender URL abrufbar:
http://www.eisfair.org/fileadmin/doc/AsteriskFlyer.pdf


Im ersten Teil dieses Dokuments wird auf die Konfiguration von Asterisk für Eisfair eingegangen. Sie wird auf der Konsole in einem speziellen Editor (ECE, Eisfair Configuration Editor) durchgeführt. Die Konfiguration über ein Webinterface ist mit dem experimentellen Paket ''webconf'' möglich.

Konfigurations Variablen

START_ASTERISK
Soll Asterisk beim Booten von Eisfair gestartet werden?

Standardeinstellung: START_ASTERISK='no'

ASTERISK_LANGUAGE
Hier wird angegeben in welcher Sprache die Ansagen am Telefon abgespielt werden sollen. Z.B. im Voicebox-Menü oder wenn eine ungültige Rufnummer gewählt wurde.

Mögliche Werte: ASTERISK_LANGUAGE='de', ASTERISK_LANGUAGE='en'

Standardeinstellung: ASTERISK_LANGUAGE='de'

ASTERISK_LOAD_CAPI
Wenn Asterisk auch Anrufe von der CAPI entgegen nehmen soll, muss hier 'yes' eingetragen werden.

Dazu ist natürlich neben der HFC-S-ISDN-Karte noch eine weitere ISDN-Karte nötig, die über eine CAPI angesprochen wird. Momentan sind dies alle Karten die vom CAPI-Paket für Eisfair unterstützt werden.

Standardeinstellung: ASTERISK_LOAD_CAPI='no'

ASTERISK_LOAD_HFCS
Wenn HFC-S-Karten benutzt werden sollen, muss diese Variable auf 'yes' gesetzt sein.

ASTERISK_CODECS
Die Auswahl der Codecs ist entscheidend für die Sprachqualität und die benötigte Bandbreite für ein Gespräch.

Der Codec 'ulaw' überträgt die Daten unkomprimiert und benötigt eine Bruttodatenrate von ca. 11KB/Sek. pro Richtung. Er wird außerdem beim herkömmlichen ISDN verwendet. Aufgrund der Daten rate ist dieser Codec nur DSL-Benutzern zu empfehlen.

Der Codec 'gsm' bietet eine niedrigere Sprachqualität als 'ulaw' und lässt sich deshalb auch mit einem Dial-Up-Zugang wie ISDN oder Modem verwenden.

ASTERISK_ADVANCED_ERROR_MSG
Wenn eine ungültige Nummer gewählt wurde und diese Variable auf yes gesetzt ist, wird eine gefühlsbetonte Fehler ansage ausgegeben.

ASTERISK_AREA_CODE
Diese Variable ist optional. Wenn hier die Ortsvorwahl eingetragen ist, braucht bei SIP-Gesprächen im selben Ort keine Vorwahl mehr angegeben zu werden.

Sie wird verwendet, wenn bei ausgehenden Anrufen über SIP keine Vorwahl (führende 0) vorgewählt wird. Asterisk geht in diesem Fall davon aus, dass sich diese Nummer im selben Ort befindet und wählt die hier angegebene Vorwahl vor die Rufnummer.

Ist diese Variable gesetzt, können natürlich keine Nummern mehr im Netz des eigenen SIP-Providers angewählt werden, da Asterisk davon ausgeht, die gewählte Rufnummer sei eine Nummer im eigenen Ort und wählt die Ortsvorwahl vor.

Ein praktisches Beispiel, welches nicht mehr funktioniert, ist die bloße Eingabe der Sipgate Kundennummer eines anderen Teilnehmers. Hier muss dann die Festnetznummer des SIP-Accounts des Gesprächspartners gewählt werden. Das Gespräch ist dann immer noch kostenlos.)

ASTERISK_RECORD_CONVERSATION
Nimmt alle geführten Gespräche in einer WAV-Datei auf.

In vielen Ländern (darunter auch Deutschland) ist das Mitschneiden von Telefongesprächen ohne das Einverständnis des entfernten Teilnehmers nicht erlaubt. Diese Variable darf in EU-Ländern auf keinen Fall auf 'yes' gesetzt werden!

Die Dateien werden in /var/spool/asterisk/monitor im WAV-Format gespeichert.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.5 des Asterisk-Paketes hinzugefügt!


ASTERISK_LOG_INTO_FILE
Schreibt alle Ausgaben von der Debugconsole und zusätzlich die Verbose-Meldungen in eine Logdatei. Es ist dringend davon abzuraten diese Einstellung im Produktivbetrieb zu aktivieren, da die Logfile sehr schnell sehr groß werden kann.

Die Meldungen werden in die Datei /var/log/asterisk/full geschrieben.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.5 des Asterisk-Paketes hinzugefügt!


HFC-S Karten

ASTERISK_HFCS_GROUP_x_TYPE
Hier wird der Typ der HFC-S-Karte angegeben. Es wird zwischen Karten mit einem RJ45-Port (zaphfc) und mit mehreren RJ45-Ports (multi) unterschieden.

Mögliche Werte: 'zaphfc', 'multi'

ASTERISK_HFCS_GROUP_x_PROVIDE_S0_BUS
Sollen an die Ports in dieser Gruppe Endgeräte (ISDN-Telefone, d/a-Wandler) angeschlossen werden, so muss diese Variable auf 'yes' gesetzt werden.

Sollen die Ports in dieser Gruppe mit dem Telefonanschluss zur Telefongesellschaft verbunden werden, muss diese Variable auf 'no' gesetzt werden. Hierzu zählt auch, wenn man den genannten Port an den internen S0-Bus einer weiteren TK-Anlage anschließen möchte.

ASTERISK_HFCS_GROUP_x_PTP
Ist der Anschlusstyp zur Telefongesellschaft ein Anlagenanschluss (2SM, Point-to-Point, Primärmultiplexanschluss, (meistens 30 B-Kanäle) und kein Mehrgeräteanschluss (Point-to-Multi-Point, 2 B-Kanäle) muss hier 'yes' angegeben werden.

äquivalent dazu gilt, wenn ASTERISK_HFCS_GROUP_x_PROVIDE_S0_BUS auf 'yes' gesetzt ist, ob der generierte S0-Bus an dieser Portgruppe ein Anlagenanschluss oder einen Mehrgeräteanschluss bereitstellen soll .

Hinweis
An einen Anlagenanschluss können keine Telefone direkt angeschlossen werden. Hierfür ist eine extra TK-Anlage (oder eben ein Asterisk) nötig, an die (dem) die Telefone angeschlossen werden.


ASTERISK_HFCS_GROUP_x_PORTS
Hier wird angegeben, wie viel Ports dieser Portgruppe umfassen soll.

Eine Portgruppe kann sich über mehrere HFCS-Karten erstrecken oder nur einen Port umfassen. In welcher Reihenfolge der Treiber die Karten/Ports konfiguriert, ist unterschiedlich und muss ausprobiert werden.

FXO- und FXS-Karten

ASTERISK_FX_GROUP_x_TYPE
Hier wird der Typ der Gegenstelle angegeben, an welche die Portgruppe angeschlossen ist.

ASTERISK_FX_GROUP_x_PORTS
Die Anzahl der RJ11-Buchsen welche zu dieser Portgruppe gehören.

Webinterface

Dieses Webinterface dient nicht zur Konfiguration von Asterisk. Hierfür kann das Paket ''webconf'' verwendet werden.

ASTERISK_WEBINTERFACE
Schaltet das Webinterface ein oder aus.

Wird hier ''yes'' eingetragen, wird der Asterisk eigene mini_httpd gestartet. Die Instanz läuft auf Port 3002 und liefert Seiten mit SSL-Verschlüsselung aus.

Hinweis
Beim Zugriff auf das verschlüsselte Webinterface ist zu beachten, dass ein ''s'' hinter der Angabe des Protokolls stehen muss: https://eis:3002


ASTERISK_WEBINTERFACE_x_USER
Der Benutzername für die HTTP-Authentifizierung wird hier angegeben.

ASTERISK_WEBINTERFACE_x_PASSWD
Das Passwort für die HTTP-Authentifizierung wird hier angegeben.

Netzwerkeinstellungen

ASTERISK_RTP_PORTS
Hier werden die Ports angegeben, die nötig sind, um über SIP telefonieren zu können.

Der komplette Portrange muss per Portforwarding vom Router weitergeleitet werden.

Die Variable muss dem Format 'startport-endport' entsprechen.

Standardeinstellung: ASTERISK_RTP_PORTS='10000-20000'

ASTERISK_LOCALNET
Hier wird angegeben, welche Netze für das NAT maskiert werden sollen.

Standardeinstellung: ASTERISK_LOCALNET='192.168.0.0/24'

ASTERISK_LISTEN_ADDR
Diese Variable wird nur für Cisco und Nortel IP phones benötigt und beinhaltet die IP-Adresse des Eisfair.

ASTERISK_EXTERNIP
Bei manchen Anbietern ist es nötig, dass keine privaten IP-Adressen im SIP-Header auftauchen (z.B. GMX und 1&1).

Deshalb muss hier entweder ein Domainname (z.B. Dyndns bei dynamischer IP-Adresse) oder eine IP-Adresse bei statischer Adressierung der Internetverbindung angegeben werden.

Standardeinstellung: ASTERISK_EXTERNIP='mysubdomain.eisfair.net'

Wählpräfixe

ASTERISK_DIALPREFIX_SIP
Siehe ASTERISK_DIALPRFIX_xxx-Variablen.

Beispiel: ASTERISK_DIALPREFIX_SIP='#*999'

Standardeinstellung: ASTERISK_DIALPREFIX_SIP=''

ASTERISK_DIALPREFIX_IAX
Siehe ASTERISK_DIALPRFIX_xxx-Variablen.

Beispiel: ASTERISK_DIALPREFIX_IAX='#*888'

Standardeinstellung: ASTERISK_DIALPREFIX_IAX=''

ASTERISK_DIALPREFIX_CAPI
Siehe ASTERISK_DIALPRFIX_xxx-Variablen.

Standardeinstellung: ASTERISK_DIALPREFIX_CAPI='000'

ASTERISK_DIALPREFIX_INTERNAL
Siehe ASTERISK_DIALPRFIX_xxx-Variablen und Interne Gespräche.

Standardeinstellung: ASTERISK_DIALPREFIX_INTERNAL='*'

ASTERISK_DIALPREFIX_VBOX
Siehe ASTERISK_DIALPRFIX_xxx-Variablen und Die Voicebox.

Standardeinstellung: ASTERISK_DIALPREFIX_VBOX='#9'

ASTERISK_DIALPREFIX_DISA
Siehe ASTERISK_DIALPRFIX_xxx-Variablen und Asterisk ohne HFC-S-ISDN-Karte.

Standardeinstellung: ASTERISK_DIALPREFIX_DISA='#9'

ASTERISK_DIALPREFIX_SHOW_CAPI
Ist diese Variable auf ,,yes``gesetzt, wird bei eingehenden Anrufen vor die Caller ID des Anrufers, der Dialprefix aus ASTERISK_DIALPREFIX_CAPI gehängt.

Dadurch kann man auf dem Display des Telefons erkennen, ob der Anruf über CAPI oder SIP ankommt. Der Vorteil ist, dass man bei verpassten Anrufen einfach die Nummer in der Anrufer liste auswählen kann und der Dialprefix um über CAPI zurück zurufen wird automatisch vorgewählt.

Natürlich kann es auch sein, dass der Anruf über CAPI eingetroffen ist, aber man gerne die Nummer aus der Anrufer liste über SIP zurückrufen möchte. Dann kann diese Variable auf ,,no``gesetzt werden.

ASTERISK_DIALPREFIX_SHOW_SIP
Siehe ASTERISK_DIALPREFIX_SHOW_CAPI.

ASTERISK_DIALPREFIX_SHOW_IAX
Siehe ASTERISK_DIALPREFIX_SHOW_CAPI.

Allgemeine Konfiguration der Voiceboxen

ASTERISK_VMAIL_FROM_ADDR
Alle aufgenommenen Voicenachrichten werden per Mail an die in
ASTERISK_PHONES_x_VBOX_MAIL angegebene Mailadresse des Users geschickt. Welche Absender-Adresse diese Mails tragen sollen, wird hier angegeben.

Standardeinstellung: ASTERISK_VMAIL_FROM_ADDR='asterisk-mailbox@fabian-wolter.de'

ASTERISK_VMAIL_FROM_NAME
Hier wird der Absender-Name angegeben, der im From-Feld stehen soll.

Standardeinstellung: ASTERISK_VMAIL_FROM_NAME='Asterisk Voicemailbox'

ASTERISK_VBOX_MAX_MSG_LENGTH
Damit ein Anrufer nicht die komplette Festplatte voll quatscht (oder das Auflegen des Anrufers nicht korrekt signalisiert wird), wird die Aufnahme nach der hier angegebenen Zeit abgebrochen.

Der Wert wird in Sekunden angegeben.

Standardeinstellung: ASTERISK_VBOX_MAX_MSG_LENGTH='180'

ASTERISK_VBOX_PLAY_INSTRUCTIONS
Ist diese Variable auf 'yes' gesetzt, wird an die Abwesenheitsansage noch eine weitere Ansage gehängt, in der der Anrufer dazu aufgefordert wird, eine Nachricht zu hinterlassen.

Es ist sinnvoll dies auszustellen, wenn man seine eigene Ansage aufgenommen hat.

Invers-Suche

ASTERISK_RESOLVE_NUMBERS
Ist diese Variable auf 'yes' gesetzt, versucht Asterisk bei jedem eingehenden Anruf die Nummer des Anrufers in den Namen aufzulösen. Dabei wird zunächst das lokale Telefonbuch in Form einer Textdatei oder einer MySQL-Datenbank abgefragt. Wird die Nummer hier nicht gefunden, wird versucht die Nummer über dasoertliche.de aufzulösen.

ACHTUNG
Es ist zu beachten, dass die Endgeräte erst anfangen zu klingeln, nachdem die Antwort von dasoertliche.de erhalten wurde. Antwortet dasoertliche.de aber nicht innerhalb von 2 Sekunden, wird die Anfrage abgebrochen und der Anruf ohne Name durch gestellt.


ACHTUNG
Alle weiteren Parameter in diesem Abschnitt wurden in der Version 1.1.5 des Asterisk-Paketes hinzugefügt!


ASTERISK_RESOLVE_NUMBERS_REMOTE
Mit dieser Variable ist es möglich die automatische Abfrage bei dasoertliche.de zu deaktivieren. In diesem Fall wird nur die Textdatei bzw. die MySQL-Datenbank durchsucht.

ASTERISK_RESOLVE_NUMBERS_SOURCE
Diese Variable kann die Werte 'db' und 'file' annehmen.

Bei der Einstellung 'file' werden die Ergebnisse der Inverssuche in einer Datei gespeichert und bei Bedarf wieder abgerufen. Ebenso können per Hand Telefonnummern bzw. Namen nachgetragen werden.

Bei der Einstellung 'db' wird automatisch eine Datenbank mit der unten angegebenen Konfiguration angelegt und mit Daten von dasoertliche.de gefüllt. Es ist natürlich ebenso möglich Telefonnummern bzw. Namen per Hand nachzutragen.

ASTERISK_RESOLVE_NUMBERS_PATH
Hier wird der Pfad zur Textdatei angegeben, welche mit den Ergebnissen aus der Inverssuche von das oertliche.de gefüllt wird.

Diese Variable ist nur relevant, wenn ASTERISK_RESOLVE_NUMBERS_SOURCE den Wert 'file' hat.

ASTERISK_RESOLVE_NUMBERS_DB_HOST
Der Hostname des MySQL-Servers für die Speicherung der Daten aus der Inverssuche.

Diese Variable ist nur relevant, wenn ASTERISK_RESOLVE_NUMBERS_SOURCE den Wert 'db' hat.

ASTERISK_RESOLVE_NUMBERS_DB_USER
Der Datenbank-User ist hier anzugeben.

Diese Variable ist nur relevant, wenn ASTERISK_RESOLVE_NUMBERS_SOURCE den Wert 'db' hat.

ASTERISK_RESOLVE_NUMBERS_DB_PASS
Das Passwort für den Datenbank-User ist hier anzugeben.

Diese Variable ist nur relevant, wenn ASTERISK_RESOLVE_NUMBERS_SOURCE den Wert 'db' hat.

ASTERISK_RESOLVE_NUMBERS_DB_NAME
In der hier angegebenen Datenbank werden die Daten gespeichert.

Diese Variable ist nur relevant, wenn ASTERISK_RESOLVE_NUMBERS_SOURCE den Wert 'db' hat.

ASTERISK_RESOLVE_NUMBERS_DB_TABLE
In der hier angegebenen Tabelle werden die Daten gespeichert.

Diese Variable ist nur relevant, wenn ASTERISK_RESOLVE_NUMBERS_SOURCE den Wert 'db' hat.

SIP-Provider

ASTERISK_SIP_x_NAME
Hier wird der Name des SIP-Accounts angegeben. Er darf frei gewählt werden, muss aber einzigartig in der Konfiguration sein.

Erlaubt sind nur Zeichen a-Z sowie '-', '_' und die Ziffern 0-9

Standardeinstellung: ASTERISK_SIP_x_NAME='sipgate1'

ASTERISK_SIP_x_USER
Hier wird der Username angegeben, mit dem sich Asterisk am SIP-Server des Providers authentifizieren soll.

Standardeinstellung: ASTERISK_SIP_x_USER='87654321'

ASTERISK_SIP_x_PASSWORD
Hier wird das Passwort angegeben, mit dem sich Asterisk am SIP-Server des Providers authentifizieren soll.

Standardeinstellung: ASTERISK_SIP_x_PASSWORD='not2knew4u'

ASTERISK_SIP_x_HOST
Hier wird der Hostname des SIP-Server angegeben, an dem sich Asterisk authentifizieren soll.

Standardeinstellung: ASTERISK_SIP_x_HOST='sipgate.de'

ASTERISK_SIP_x_CALLERID
Hier wird die Caller ID angegeben, welche mit jedem Anruf an die Gegenstelle übermittelt wird und ggf. dort angezeigt wird.

Standardeinstellung: ASTERISK_SIP_x_CALLERID='4951187654321'

ASTERISK_SIP_x_FALLBACK
Diese Variable wird benutzt, falls der SIP-Account einmal nicht erreichbar sein sollte. Dann wird auf die hier angegebenen weiteren SIP-Accounts bzw. auf das Festnetz versucht raus zu wählen.

Das Format entspricht folgendem Schema:

sip:[String aus ASTERISK_SIP_x_NAME] capi:[MSN, welche
f"ur den ausgehenden Anruf benutzt werden soll]
hfcs[Portgruppen-Nummer aus ASTERISK_HFCS_GROUP_x_*]:[MSN,
welche f"ur den ausgehenden Anruf benutzt werden soll

Die Anzahl und Reihenfolge der sip:, hfcs[1-9]: und capi: Befehle sind beliebig.

Ein Beispiel:

sip:gmx sip:webde capi:123456 sip:sipgate hfcs1:123456

Ist nun der entsprechende SIP-Account nicht verfügbar (z.B. SIP-Proxy nicht erreichbar), wird versucht die Verbindung über den SIP-Account mit dem Namen (ASTERISK_SIP_x_NAME) ,,gmx``herzustellen. Ist dieser ebenfalls nicht erreichbar (z.B. Verbindung zum Internet unterbrochen), wird versucht die Rufnummer über ISDN (CAPI) zu erreichen. Ist die ISDN-Karte z.B. nicht angeschlossen, wird versucht über die HFC-S-Portgruppe 1 die Verbindung herzustellen.

ASTERISK_SIP_x_EXEC_ON_RING
Wenn dieser SIP-Account angerufen wird, wird der hier angegebene Befehl ausgeführt. Mögliche Szenarien sind z.B. das mitloggen der Anrufe in eine Datei oder Datenbank.

Beispiel: ASTERISK_SIP_x_EXEC_ON_RING='echo ``Call from ${EXTEN}``'

Standardeinstellung: ASTERISK_SIP_x_EXEC_ON_RING=''

ASTERISK_SIP_x_VBOX
Schaltet die Voicebox des Accounts ein oder Aus. Diese Variable sollte auf ''no'' gesetzt sein, wenn ASTERISK_SIP_x_REDIRECT_SCHEME nicht leer ist. Dann sollte das Verhalten der Voicebox in dem entsprechenden Weiterleitungsschema definiert werden.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_SIP_x_VBOX_NUMBER
Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll.

Hinweis
Die Nummer der Voicebox wird standardmäßig dem Anrufer angesagt. Es ist also sinnvoll als Nummer der Voicebox, die Telefonnummer ohne Vorwahl anzugeben.


ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_SIP_x_VBOX_ANSWER_AFTER
Hier wird angegeben, nach wie viel Sekunden klingeln die Voicebox das Gespräch annehmen soll.

Befindet sich der User bereits im Gespräch, nimmt die Voicebox das Gespräch sofort an.

Standardeinstellung: ASTERISK_SIP_x_VBOX_ANSWER_AFTER='15'

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_SIP_x_REDIRECT_SCHEME
Der Index ''n'' aus einem Weiterleitungsschema kann hier angegeben werden.

Beispiel: Ist das gewünschte Weiterleitungsschema in
ASTERISK_REDIRECT_2_SCHEME_1_EXECUTE_AFTER etc. definiert, so muss der Variable ASTERISK_SIP_x_REDIRECT_SCHEME der Wert ''2'' zugewiesen werden.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_SIP_x_REDIRECT
Soll die Weiterleitung aktiviert werden?

Mögliche Werte: yes, no

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_SIP_x_REDIRECT_TO
Hier wird die Nummer angegeben zu der der Anruf weitergeleitet werden soll. Es ist darauf zu achten, dass die Nummer mit einem Dialprefix (angegeben in ASTERISK_DIALPREFIX_*) angegeben werden muss.

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_SIP_x_REDIRECT_AFTER
Hier wird angeben, nach wie vielen Sekunden die Weiterleitung erfolgen soll. Wird vorher auf dem eigentlich angerufenen Telefon abgenommen, verfällt die Zeit und es wird nicht weitergeleitet.

Nachdem die Weiterleitung erfolgt ist, hört das eigentlich angerufene Telefon auf zu klingeln und die Nummer in ASTERISK_REDIRECT_TO wird angewählt.

Soll keine Anrufweiterleitung erfolgen, muss diese Variable leer gelassen werden.

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_SIP_x_REDIRECT_OUTGOING_SIP
Falls als Dialprefix der SIP-Prefix angegeben wurde, wird über diesen SIP-Account die Nummer in ASTERISK_REDIRECT_TO angewählt.

Hinweis
Die Caller ID des Anrufers wird ebenfalls für den ausgehenden bzw. weitergeleiteten Anruf verwendet.


ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_SIP_x_REDIRECT_OUTGOING_MSN
Falls als Dialprefix der CAPI-Prefix angegeben wurde, wird als Caller ID für den ausgehenden (weitergeleiteten) Anruf diese MSN verwendet.

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_SIP_x_REDIRECT_OUTGOING_HFCS_GROUP
Diese Variable ist nur von Bedeutung, wenn als Dialprefix der von CAPI angegeben wurde.

Falls die Gespräche über die HFC-S-Karte weitergeleitet werden sollen, wird die hier angegebene Portgruppen-Nummer (ASTERISK_HFCS_GROUP_x_*) verwendet.

Bleibt die Variable leer, wird die ISDN-Verbindung über CAPI (z.B. Fritz!Card) aufgebaut

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


IAX-Provider

Hinweis
Dieser Variablen-Block wurde in der Version 1.1.0 des Asterisk-Paketes eingeführt


ASTERISK_IAX_x_NAME
Hier wird der Name des IAX-Accounts angegeben. Er darf frei gewählt werden, muss aber einzigartig in der Konfiguration sein.

Erlaubt sind nur Zeichen a-Z sowie '-', '_' und die Ziffern 0-9

Standardeinstellung: ASTERISK_IAX_x_NAME='monduno'

ASTERISK_IAX_x_USER
Hier wird der Username angegeben, mit dem sich Asterisk am IAX-Server des Providers authentifizieren soll.

Standardeinstellung: ASTERISK_IAX_x_USER='87654321'

ASTERISK_IAX_x_PASSWORD
Hier wird das Passwort angegeben, mit dem sich Asterisk am IAX-Server des Providers authentifizieren soll.

Standardeinstellung: ASTERISK_IAX_x_PASSWORD='not2knew4u'

ASTERISK_IAX_x_HOST
Hier wird der Hostname des IAX-Server angegeben, an dem sich Asterisk authentifizieren soll.

Standardeinstellung: ASTERISK_IAX_x_HOST='iax.monduno.de'

ASTERISK_IAX_x_CALLERID
Hier wird die Caller ID angegeben, welche mit jedem Anruf an die Gegenstelle übermittelt wird und ggf. dort angezeigt wird.

Standardeinstellung: ASTERISK_IAX_x_CALLERID='4951187654321'

ASTERISK_IAX_x_FALLBACK
Diese Variable wird benutzt, falls der IAX-Account einmal nicht erreichbar sein sollte. Dann wird auf die hier angegebenen weiteren IAX-Accounts bzw. auf das Festnetz versucht raus zu wählen.

Das Format entspricht folgendem Schema:

sip:[String aus ASTERISK_IAX_x_NAME] capi:[MSN, welche f"ur den ausgehenden
Anruf benutzt werden soll] hfcs[Portgruppen-Nummer aus
ASTERISK_HFCS_GROUP_x_*]:[MSN, welche f"ur den ausgehenden
Anruf benutzt werden soll

Die Anzahl und Reihenfolge der iax:, sip:, hfcs[1-9]:, capi: etc. Befehle sind beliebig.

Ein Beispiel:

sip:gmx sip:webde capi:123456 sip:sipgate hfcs1:123456

Ist nun der entsprechende IAX-Account nicht verfügbar (z.B. IAX-Proxy nicht erreichbar), wird versucht die Verbindung über den IAX-Account mit dem Namen (ASTERISK_IAX_x_NAME) ,,gmx``herzustellen. Ist dieser ebenfalls nicht erreichbar (z.B. Verbindung zum Internet unterbrochen), wird versucht die Rufnummer über ISDN (CAPI) zu erreichen. Ist die ISDN-Karte z.B. nicht angeschlossen, wird versucht über die HFC-S-Portgruppe 1 die Verbindung herzustellen.

ASTERISK_IAX_x_EXEC_ON_RING
Wenn dieser IAX-Account angerufen wird, wird der hier angegebene Befehl ausgeführt. Mögliche Szenarien sind z.B. das mitloggen der Anrufe in eine Datei oder Datenbank.

Beispiel: ASTERISK_IAX_x_EXEC_ON_RING='echo ``Call from ${EXTEN}``'

Standardeinstellung: ASTERISK_IAX_x_EXEC_ON_RING=''

ASTERISK_IAX_x_VBOX
Schaltet die Voicebox des Accounts ein oder Aus. Diese Variable sollte auf ''no'' gesetzt sein, wenn ASTERISK_IAX_x_REDIRECT_SCHEME nicht leer ist. Dann sollte das Verhalten der Voicebox in dem entsprechenden Weiterleitungsschema definiert werden.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_IAX_x_VBOX_NUMBER
Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll. Die Nummer wird in ASTERISK_VBOX_x_NUMBER definiert.

Hinweis
Die Nummer der Voicebox wird standardmäßig dem Anrufer angesagt. Es ist also sinnvoll als Nummer der Voicebox, die Telefonnummer ohne Vorwahl anzugeben.


ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_IAX_x_VBOX_ANSWER_AFTER
Hier wird angegeben, nach wie viel Sekunden klingeln die Voicebox das Gespräch annehmen soll.

Befindet sich der User bereits im Gespräch, nimmt die Voicebox das Gespräch sofort an.

Standardeinstellung: ASTERISK_IAX_x_VBOX_ANSWER_AFTER=''

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_IAX_x_REDIRECT_SCHEME
Der Index ''n'' aus einem Weiterleitungsschema kann hier angegeben werden.

Beispiel: Ist das gewünschte Weiterleitungsschema in ASTERISK_REDIRECT_2_SCHEME_1_EXECUTE_AFTER etc. definiert, so muss der Variable ASTERISK_IAX_x_REDIRECT_SCHEME der Wert ''2'' zugewiesen werden.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


Interne Telefone

ASTERISK_PHONES_x_MSN
Hier wird die MSN eingetragen, auf die das entsprechende Endgerät konfiguriert ist.

Bei SIP-Telefonen ist diese Nummer auch gleichzeitig der Benutzername, mit dem sich der SIP-Client beim Asterisk einloggt.

Standardeinstellung: ASTERISK_PHONES_x_MSN='10'

ASTERISK_PHONES_x_TYPE
Hier wird angegeben, von welchem Typ das Endgerät ist. Zu Verfügung stehen folgende Werte:

Hinweis
Sind mehrere HFC-S-Portgruppen vorhanden (ASTERISK_HFCS_GROUP_N > 1), so muss dem Typ ('hfcs') der Index (x) aus ASTERISK_HFCS_GROUP_x_* angehängt werden.

Ist das Endgerät z.B. an der Portgruppe 2 (ASTERISK_HFCS_GROUP_2_*) angeschlossen, muss als Typ ASTERISK_PHONES_x_TYPE='hfcs2' angegeben werden.

ASTERISK_PHONES_x_MAC_ADDR
Diese Variable wird nur bei Cisco und Nortel IP phones gebraucht. Es wird die MAC-Adresse des Phones angegeben, ohne Trenner (Doppelpunkt, Bindestrich, etc.).

Beispiel: ASTERISK_PHONES_x_MAC_ADDR='0011AABBCCDDEEFF'

ASTERISK_PHONES_x_PIN
Hier wird die PIN eingetragen, die abgefragt wird, wenn man seine Voicebox von einem anderen Telefon als das Eigene abrufen möchte.

Bei SIP-Telefonen ist diese PIN auch gleichzeitig das Passwort, mit dem sich der SIP-Client beim Asterisk einloggt.

Gültige Zeichen sind alle, die über das Tastenfeld des entsprechenden Clients eingegeben werden können. Es sollten aber dennoch nur * und die Ziffern 0-9 verwendet werden, damit z.B. die Voicebox eines SIP-Telefons auch über ein normales Telefon abgerufen werden kann.

Hinweis
Das #-Zeichen darf hier nicht verwendet werden, da dies zur Bestätigung der Eingabe der PIN, vor dem Abhören der Voicebox benutzt wird


Standardeinstellung: ASTERISK_PHONES_x_PIN='7710'

ASTERISK_PHONES_x_RING_ON_SIP
Wenn ein Anruf auf einem SIP-Account eingeht und dieses Telefon daraufhin klingeln soll, muss der Wert aus ASTERISK_SIP_x_NAME des entsprechenden SIP-Accounts hier eingetragen werden.

Möglich ist auch die Angabe mehrerer SIP-Accounts. Diese müssen dann mit Leerzeichen getrennt angegeben werden.

Standardeinstellung: ASTERISK_PHONES_x_RING_ON_SIP='sipgate1 sipgate2'

ASTERISK_PHONES_x_RING_ON_IAX
Wenn ein Anruf auf einem IAX-Account eingeht und dieses Telefon daraufhin klingeln soll, muss der Wert aus ASTERISK_IAX_x_NAME des entsprechenden IAX-Accounts hier eingetragen werden.

Möglich ist auch die Angabe mehrerer IAX-Accounts. Diese müssen dann mit Leerzeichen getrennt angegeben werden.

Standardeinstellung: ASTERISK_PHONES_x_RING_ON_IAX=''

ASTERISK_PHONES_x_RING_ON_CAPI
Wenn ein Anruf auf eine externe MSN eingeht, die hier eingetragen ist, klingelt dieses Telefon.

Möglich ist auch die Angabe mehrerer MSNs. Diese müssen dann mit Leerzeichen getrennt eingegeben werden.

Hinweis
Diese Variable ist nur gültig, wenn ASTERISK_LOAD_CAPI auf 'yes' steht.


Standardeinstellung: ASTERISK_PHONES_x_RING_ON_CAPI='11111 22222'

ASTERISK_PHONES_x_OUTGOING_NAME
Hier wird der Name angegeben, der beim Angerufenen auf dem Display erscheinen soll.

Hinweis
Die übermittlung des Namens funktioniert nur intern oder über SIP.


Standardeinstellung: ASTERISK_PHONES_x_OUTGOING_NAME='Wolter Tel1'

ASTERISK_PHONES_x_OUTGOING_SIP
Der hier angegebene SIP-Account wird benutzt, wenn ein ausgehender Anruf von diesem Telefon über SIP getätigt wird.

Standardeinstellung: ASTERISK_PHONES_x_OUTGOING_SIP='sipgate1'

ASTERISK_PHONES_x_OUTGOING_IAX
Der hier angegebene IAX-Account wird benutzt, wenn ein ausgehender Anruf von diesem Telefon über IAX getätigt wird.

Standardeinstellung: ASTERISK_PHONES_x_OUTGOING_IAX='voipbuster'

ASTERISK_PHONES_x_OUTGOING_MSN
Die hier angegebene MSN wird benutzt, wenn ein ausgehender Anruf von diesem Telefon über Festnetz getätigt wird.

Standardeinstellung: ASTERISK_PHONES_x_OUTGOING_MSN='11111'

ASTERISK_PHONES_x_OUTGOING_HFCS_GROUP
Hier wird der Index (x) aus ASTERISK_HFCS_GROUP_x_* angegeben. Diese Variable muss gesetzt sein, wenn nicht die Fritz!Card, sondern eine HFC-S-Karte, raus telefonieren benutzt werden soll. (Dafür muss die HFC-S-Karte natürlich mit dem externen S0-Bus der Telefongesellschaft verbunden sein und ASTERISK_HFCS_GROUP_x_PROVIDE_S0_BUS='no')

Soll über die Fritz!Card raus gewählt werden, so muss diese Variable leer bleiben.

ASTERISK_PHONES_x_EXEC_ON_RING
Siehe auch xxx_EXEC_ON_RING-Variablen

Standardeinstellung: ASTERISK_PHONES_x_EXEC_ON_RING=''

ASTERISK_PHONES_x_NETBIOS_NAME
Hier kann der Windowsname eines Rechners im Netzwerk angegeben werden. Geht ein Anruf auf der in diesem Abschnitt konfigurierten MSN ein, so wird per netsend eine Nachricht an den Rechner geschickt. Auch ggf. mit der Caller ID des Anrufers.

ASTERISK_PHONES_x_LCR
Ist das Least Cost Routing aktiviert so kann über diese Variable eine Ausnahme für das entsprechende Endgerät bzw. MSN definiert werden. Dies kann z.B. sinnvoll für Faxgeräte sein, welche immer über ISDN und nicht über SIP herauswählen sollen.

Ist LCR global ausgeschaltet, (ASTERISK_LCR auf 'no' gesetzt), so hat die Variable ASTERISK_PHONES_n_LCR keine Auswirkung.

ASTERISK_PHONES_x_VBOX
Wenn eine Voicebox für dieses Telefon aktiviert werden soll, muss diese Variable auf 'yes' stehen.

Standardeinstellung: ASTERISK_PHONES_x_VBOX='no'

ACHTUNG
Ab der Version 1.1.0 des Asterisk-Paketes haben die VBOX-Variablen der internen Telefone eine andere Bedeutung bekommen!

Die Voicebox beantwortet nun nur noch Gespräche, welche von einem anderen internen Telefon aus eingehen. Soll eine Voicebox eine ISDN-Rufnummer beantworten, so muss diese in ASTERISK_MSN_x_VBOX eingeschaltet werden. Selbiges gilt für einen SIP-Account für ASTERISK_SIP_x_VBOX und für IAX ebenso.

Wenn eine Weiterleitung über den Variablen-Block ASTERISK_REDIRECT_* realisiert wird, kann die hier konfigurierte Voicebox auch externe Gespräche z.B. Über eine ISDN-Rufnummer oder einen SIP-Account annehmen. Hierzu muss als Voicebox-Nummer die interne MSN des Telefons in ASTERISK_REDIRECT_x_SCHEME_y_TARGET_z_ADDR angegeben werden.

ASTERISK_PHONES_x_VBOX_MAIL
An die hier angegebene Mailadresse werden die empfangenen Nachrichten der Voicebox geschickt. Ist diese Variable leer, wird keine Mail versendet. Die Nachrichten können aber weiterhin per Anwahl der Voicebox abgehört werden.

Um dieses Feature nutzen zu können muss das Eisfair Mail-Paket installiert und funktionsfähig sein.

Standardeinstellung: ASTERISK_PHONES_x_VBOX_MAIL='vbox10@fabian-wolter.de'

ASTERISK_PHONES_x_VBOX_ANSWER_AFTER
Hier wird angegeben, nach wie viel Sekunden klingeln die Voicebox das Gespräch annehmen soll.

Befindet sich der User bereits im Gespräch, nimmt die Voicebox das Gespräch sofort an.

Standardeinstellung: ASTERISK_PHONES_x_VBOX_ANSWER_AFTER='15'

Erweiterte Einstellungen für externe MSNs

ACHTUNG
Der Variablen-Block wurde in der Version 1.1.0 des Asterisk-Paketes von ASTERISK_CAPI_EXTRA nach ASTERISK_MSN umbenannt. Die Grundfunktion wurde nicht verändert.


ASTERISK_MSN_x_NUMBER
Wird diese externe MSN angerufen, wird der Befehl in ASTERISK_MSN_x_EXEC_ON_RING ausgeführt.

Siehe auch xxx_EXEC_ON_RING-Variablen

Hinweis
Diese Variable ist nur gültig, wenn ASTERISK_LOAD_CAPI auf 'yes' gesetzt ist.


Standardeinstellung: ASTERISK_MSN_x_NUMBER='12345678'

ASTERISK_MSN_x_EXEC_ON_RING
Siehe ASTERISK_MSN_x_NUMBER.

Standardeinstellung: ASTERISK_MSN_x_EXEC_ON_RING=''

ASTERISK_MSN_x_VBOX
Schaltet die Voicebox des Accounts ein oder Aus. Diese Variable sollte auf ''no'' gesetzt sein, wenn ASTERISK_IAX_x_REDIRECT_SCHEME nicht leer ist. Dann sollte das Verhalten der Voicebox in dem entsprechenden Weiterleitungsschema definiert werden.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_MSN_x_VBOX_NUMBER
Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll. Die Nummer wird in ASTERISK_VBOX_x_NUMBER definiert.

Hinweis
Die Nummer der Voicebox wird standardmäßig dem Anrufer angesagt. Es ist also sinnvoll als Nummer der Voicebox, die Telefonnummer ohne Vorwahl anzugeben.


ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_MSN_x_VBOX_ANSWER_AFTER
Hier wird angegeben, nach wie viel Sekunden klingeln die Voicebox das Gespräch annehmen soll.

Befindet sich der User bereits im Gespräch, nimmt die Voicebox das Gespräch sofort an.

Standardeinstellung: ASTERISK_MSN_x_VBOX_ANSWER_AFTER='9'

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_MSN_x_REDIRECT_SCHEME
Der Index ''n'' aus einem Weiterleitungsschema kann hier angegeben werden.

Beispiel: Ist das gewünschte Weiterleitungsschema in ASTERISK_REDIRECT_2_SCHEME_1_EXECUTE_AFTER etc. definiert, so muss der Variable ASTERISK_MSN_x_REDIRECT_SCHEME der Wert ''2'' zugewiesen werden.

ACHTUNG
Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefügt!


ASTERISK_MSN_x_REDIRECT_TO
Hier wird angegeben, zu welcher Nummer die Anrufweiterleitung erfolgen soll. Es muss hier zunächst der Dialprefix z.B. für SIP, CAPI oder intern eingegeben werden, drauf folgt die eigentliche Telefonnummer.

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_MSN_x_REDIRECT_AFTER
Hier wird angeben, nach wie vielen Sekunden die Weiterleitung erfolgen soll. Wird vorher auf dem eigentlich angerufenen Telefon abgenommen verfällt die Zeit und es wird nicht weitergeleitet.

Nachdem die Weiterleitung erfolgt ist, hört das eigentlich angerufene Telefon auf zu klingeln und die Nummer in ASTERISK_REDIRECT_TO wird angewählt.

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_MSN_x_REDIRECT_OUTGOING_SIP
Falls als Dialprefix der SIP-Prefix angegeben wurde, wird über diesen CAPI_EXTRA-Account die Nummer in ASTERISK_REDIRECT_TO angewählt.

Hinweis
Die Caller ID des Anrufers wird ebenfalls für den ausgehenden bzw. weitergeleiteten Anruf verwendet.


ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_MSN_x_REDIRECT_OUTGOING_MSN
Falls als Dialprefix der CAPI-Prefix angegeben wurde, wird als Caller ID für den ausgehenden (weitergeleiteten) Anruf diese MSN verwendet.

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


ASTERISK_MSN_x_REDIRECT_OUTGOING_HFCS_GROUP
Diese Variable ist nur von Bedeutung, wenn als Dialprefix der von CAPI angegeben wurde.

Falls die Gespräche über die HFC-S-Karte weitergeleitet werden sollen, wird die hier angegebene Portgruppen-Nummer (ASTERISK_HFCS_GROUP_x_*) verwendet.

Bleibt die Variable leer, wird die ISDN-Verbindung über CAPI (z.B. Fritz!Card) aufgebaut

ACHTUNG
Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden!


Konfiguration der einzelnen Voiceboxen

Hinweis
Dieser Variablen-Block wurde in der Version 1.1.0 des Asterisk-Paketes eingeführt


ASTERISK_VBOX_x_NUMBER
Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll. Die Nummer wird in ASTERISK_VBOX_x_NUMBER definiert.

Hinweis
Die Nummer der Voicebox wird standardmäßig dem Anrufer angesagt. Es ist also sinnvoll als Nummer der Voicebox z.B. die Telefonnummer ohne Vorwahl anzugeben.


ASTERISK_VBOX_x_PIN
Hier wird die PIN eingetragen, die abgefragt wird, wenn man seine Voicebox per Telefon abrufen möchte.

Gültige Zeichen sind alle, die über das Tastenfeld des entsprechenden Clients eingegeben werden können. Es sollten aber dennoch nur * und die Ziffern 0-9 verwendet werden, damit z.B. die Voicebox eines SIP-Telefons auch über ein normales Telefon abgerufen werden kann.

Hinweis
Das #-Zeichen darf hier nicht verwendet werden, da dies zur Bestätigung der Eingabe der PIN, vor dem Abhören der Voicebox benutzt wird.


ASTERISK_VBOX_x_OWNER_NAME
Der Name der Voicebox bzw. der Name des Besitzers wird hier angegeben.

ASTERISK_VBOX_x_MAIL
Neue Voicenachrichten, werden automatisch an die hier angegebene Mail-Adresse geschickt. Mehrere Mail-Adressen können durch Komma getrennt eingegeben werden.

ASTERISK_VBOX_x_NOTIFY_x_PHONE
Hier wird die interne MSN (ASTERISK_PHONES_x_MSN) eines Telefons angegeben, welches mitgeteilt werden soll, dass neue Voicenachrichten vorhanden sind. Dies geschieht entweder über die Funktion Message Waiting Indicator (MWI) (oft bei SIP-Clients) oder durch ein stotterndes Freizeichen, beim Abheben des Hörers.

Konfiguration der Weiterleitungsschemata

Hinweis
Dieser Variablen-Block wurde in der Version 1.1.0 des Asterisk-Paketes eingeführt


ASTERISK_REDIRECT_x_SCHEME_x_EXECUTE_AFTER
Hier wird die Zeit in Sekunden angegeben, wann zum nächsten Weiterleitungsschritt gesprungen werden soll, wenn keines der Telefone im aktuellen Schritt abgenommen wurde.

ASTERISK_REDIRECT_x_SCHEME_x_EXECUTE_BETWEEN_x_TIME
Dieser Weiterleitungsschritt wird nur durchlaufen, wenn die aktuelle Uhrzeit zwischen den hier angegebenen Zeiten liegt.

Die Syntax lautet folgendermaßen:

<time range>|<days of week>|<days of month>|<months>

Beispiele für die einzelnen Parameter:

Anwendungsbeispiel:

ASTERISK_REDIRECT_x_SCHEME_x_TARGET_x_TYPE
Hier wird der Typ des Weiterleitungsziels angegeben. Mögliche Werte sind

ASTERISK_REDIRECT_x_SCHEME_x_TARGET_x_ADDR
Hier muss die Adresse des Weiterleitungsziels angegeben werden. Dies ist z.B. eine MSN, eine SIP-Adresse in der Form name@provider.tld oder die Nummer einer Voicebox. (Der Anrufer kann sowohl auf eine Voicebox welche in ASTERISK_MSN_x_VBOX_*, ASTERISK_MSN_x_SIP_*, ASTERISK_IAX_x_VBOX_* oder ASTERISK_VBOX_x_* konfiguriert wurde, als auch auf eine interne Voicebox (konfiguriert in ASTERISK_PHONES_x_VBOX_*) weitergeleitet werden.

ASTERISK_REDIRECT_x_SCHEME_x_TARGET_x_FROM
Diese Variable braucht nur konfiguriert zu werden, wenn der Anrufer über einen SIP- oder IAX-Provider weitergeleitet werden soll. In diesem Fall muss hier der Inhalt aus ASTERISK_SIP_x_NAME bzw. ASTERISK_IAX_x_NAME angegeben werden.

Least-Cost-Routings

ASTERISK_LCR
Wenn bei ausgehenden ISDN-Verbindungen immer der billigste Call-By-Call Anbieter gewählt werden soll, muss diese Variable auf 'yes' gesetzt werden.

Näheres dazu im Abschnitt LCR.

ASTERISK_LCR_CRON
Hier wird angegeben, wann und wie oft die Routing-Tabelle der Call-By-Call Anbieter aktualisiert werden soll.

Interactive Voice Response Menu (IVR)

Hinweis
Dieser Variablen-Block wurde in der Version 1.1.0 des Asterisk-Paketes eingeführt


ACHTUNG
Das Menü befindet sich in einem sehr experimentellen Status.


ASTERISK_IVR_x_NUMBER
Hier wird die interne(!) MSN angegeben, über welche das Menü erreichbar sein soll. Zur Zeit kann das Menü von Extern nur über ein Weiterleitungsschema oder Callthrough erreicht werden.

ASTERISK_IVR_x_INSTRUCTIONS
Die hier angegebene Datei wird dem Anrufer zu beginn vorgespielt.

Sie muss im GSM-Format unterhalb des Verzeichnisses /var/lib/asterisk/sounds liegen. Dateien können z.B. mit dem Programm ''sox'' in GSM-Dateien konvertiert werden.

ASTERISK_IVR_x_ENTRY_x_NUMBER
Hier wird die Taste (bzw. Nummer) angegeben, welche der Anrufer betätigen muss, um in diesen Unterpunkt zu gelangen.

ASTERISK_IVR_x_ENTRY_x_TYPE
Hier wird angegeben, welche Aktion ausgeführt werden soll, wenn der Anrufer in diesem Unterpunkt geleitet wird. Mögliche Werte sind:

ASTERISK_IVR_x_ENTRY_x_VALUE
In dieser Variable wird entweder der Befehl zum Ausführen (ASTERISK_IVR_x_ENTRY_x_TYPE='exec'), die Telefonnummer mit Dialprefix (ASTERISK_IVR_x_ENTRY_x_TYPE='dial') oder die Nummer der Voicebox (ASTERISK_VBOX_x_NUMBER) (ASTERISK_IVR_x_ENTRY_x_TYPE='vbox') angegeben.

TAPI

ASTERISK_START_TAPI
Wenn der TAPI-Dienst beim Start von Asterisk gestartet werden, muss hier 'yes' angegeben werden.

ASTERISK_TAPI_PORT
Hier wird angegeben, auf welchem Port der TAPI-Dienst auf eingehende Verbindung warten soll.

ASTERISK_TAPI_USER_x_NAME
Der Benutzername, mit dem sich der User am Asterisk-TAPI-Server anmelden darf, wird hier angegeben.

ASTERISK_TAPI_USER_x_PASS
Hier wird das Passwort des Benutzers angegeben.

ASTERISK_TAPI_USER_x_ACCESS
Hier wird angegeben, aus welchen Subnetzen sich der in ASTERISK_TAPI_USER_x_NAME angegebene Benutzer aus am Asterisk-TAPI-Server anmelden darf.

Mögliche Varianten sind z.B.:

192.168.0.0/16 (192.168.0.1 - 192.168.255.254) 0.0.0.0/0 (Alle IP-Adressen)

Callthrough-Systems

ASTERISK_CALLTHROUGH_x_MSN
Auf dieser MSN lauscht Asterisk nach eingehenden Anrufen, die per Callthrough weiter verbunden werden.

ASTERISK_CALLTHROUGH_x_OUTGOING_SIP
Hier wird der Name des SIP-Accounts angegeben, über den ein Anrufer wieder raus wählen kann.

ASTERISK_CALLTHROUGH_x_OUTGOING_MSN
Hier wird die externe MSN angegeben, die als Caller ID benutzt wird, wenn der Anrufer wieder raus wählt.

ASTERISK_CALLTHROUGH_x_OUTGOING_HFCS_GROUP
Diese Variable ist nur von Bedeutung, wenn als Dialprefix der von CAPI gewählt wurde.

Falls die Gespräche über die HFC-S-Karte weitergeleitet werden sollen, wird die hier angegebene Portgruppen-Nummer (ASTERISK_HFCS_GROUP_x_*) verwendet.

Bleibt die Variable leer, wird die ISDN-Verbindung über CAPI (z.B. Fritz!Card) aufgebaut

ASTERISK_CALLTHROUGH_x_ALLOW_SIP
Wenn der Anrufer sich über SIP weiter verbinden darf, muss diese Variable auf 'yes' gesetzt werden. Es ist zu beachten, dass der Dialprefix aus ASTERISK_DIALPREFIX_SIP vor die eigentliche Nummer zu wählen ist.

ASTERISK_CALLTHROUGH_x_ALLOW_CAPI
Wenn der Anrufer sich über CAPI weiter verbinden darf, muss diese Variable auf 'yes' gesetzt werden. Es ist zu beachten, dass der Dialprefix aus ASTERISK_DIALPREFIX_CAPI vor die eigentliche Nummer zu wählen ist.

ASTERISK_CALLTHROUGH_x_ALLOW_x_CALLERID
Die hier angegebene Caller ID bekommt Zugang zum Callthrough-System von Asterisk.

ASTERISK_CALLTHROUGH_x_ALLOW_x_PIN
Optional kann eine PIN angegeben werden, welche über das Tastenfeld des Telefons eingetippt werden muss, um Zugang zum Callthrough-System von Asterisk zu bekommen.

Wird diese Variable frei gelassen, wird der Anrufer nicht aufgefordert eine PIN einzugeben und kann direkt anfangen zu wählen.

ASTERISK_CALLTHROUGH_x_ANONYMOUS_ACCESS
Es ist möglich, dass auch Anrufer Zugang zum Callthrough-System bekommen, die nicht in ASTERISK_CALLTHROUGH_x_ALLOW_x_CALLERID gelistet sind. In diesem Fall muss hier 'yes' angegeben werden.

ASTERISK_CALLTHROUGH_x_ANONYMOUS_PIN
Anrufer, dessen Caller ID nicht in ASTERISK_CALLTHROUGH_x_ALLOW_x_CALLERID gelistet ist, können trotzdem Zugriff auf das Callthrough-System von Asterisk bekommen. Allerdings muss dazu eine PIN eingeben, die mit dieser Variable definiert wird.

Diese Variable darf aus Sicherheitsgründen nicht leer sein. Vorausgesetzt, der anonyme Zugriff ist erlaubt.

Hinweis
Die Eingabe der PIN muss mit # bestätigt werden.


ACHTUNG
Die Callthrough-Funktion sollte mit Vorsicht behandelt werden! Bei falscher Konfiguration kann es passieren, dass sich ein fremder Anrufer in das Callthrough-System ein buchen kann, ohne eine PIN eingeben zu müssen, was fatale Folgen haben kann: Z.B. Anwahl von teuren Service-Rufnummern o.ä. unter Ihrem Namen.

Diese Fehlkonfiguration sollte von der Eisfair Konfigurationsschicht abgefangen werden. Allerdings befindet sich dieses Paket noch im Unstable-Status, also sollte man trotzdem seine Einstellungen nochmals genau überdenken und testen!

Callback-Systems

ASTERISK_CALLBACK_LISTEN_NUMBER
Auf dieser MSN bzw. SIP-/IAX-Caller ID lauscht Asterisk nach eingehenden Anrufen die einen Rückruf auslösen werden.

ASTERISK_CALLBACK_OUTGOING_TYPE
Hier wird die Art des Rückrufs festgelegt. Mögliche Werte sind capi, sip oder iax.

ASTERISK_CALLBACK_OUTGOING_FROM
Die hier angegebene MSN bzw SIP-/IAX-Account wird für den Rückruf verwendet.

ASTERISK_CALLBACK_GLOBAL_PIN
Wenn hier eine PIN definiert ist, können alle Anrufer, unabhängig von der Caller ID, mit dieser PIN einen Rückruf auslösen.

ASTERISK_CALLBACK_ALLOW_x_CALLERID
Die hier angegebene Caller ID darf einen Rückruf auslösen.

ASTERISK_CALLBACK_ALLOW_x_PIN
Die hier definierte PIN muss nach der Ansage eingegeben werden um einen Rückruf auszulösen. Bleibt diese Variable leer, so braucht Asterisk lediglich 1 x angeklingelt zu werden um einen Rückruf auszulösen.

Hinweis
Die Eingabe der PIN muss mit # bestätigt werden.


ASTERISK_DIALPREFIX_xxx-Variablen

Das Eisfair Asterisk-Paket bietet die Möglichkeit ausgehende Anrufe entweder über Voice over IP (SIP) oder über das Festnetz zu führen (z.B. falls der Internetzugang gerade nicht funktioniert). Um dies Asterisk über das Telefon mitzuteilen ist es nötig, dass vor die Rufnummer ein Prefix gewählt wird. Anhand dieses Präfixes bestimmt Asterisk, ob die Nummer über das Festnetz oder über SIP angewählt werden soll.

Ein Beispiel: Wenn ASTERISK_DIALPREFIX_SIP='#000' und Apu Nahasapeemapetilon in Indien über VoIP angerufen werden soll, dessen eigentliche Telefonnummer 0091 1234 8765 ist, dann muss auf dem Telefon #000 0091 1234 8765 gewählt werden.

Natürlich ist es auch möglich ASTERISK_DIALPREFIX_xxx leer zu lassen. Dann muss gar kein Prefix eingeben werden. - Es versteht sich, dass nur ein einziges ASTERISK_DIALPREFIX_xxx leer gelassen werden darf, ansonsten kann Asterisk nicht bestimmten, ob das Gespräch über Festnetz oder SIP hergestellt werden soll. Ebenso dürfen zwei ASTERISK_DIALPREFIX_xxx-Variablen nicht die gleichen Werte haben.

Mögliche Werte: 0-9, *, #, A-D

Manche Telefone bieten zusätzlich noch die Tasten A-D auf dem Tastenfeld. Diese Buchstaben sind ebenfalls erlaubt.

xxx_EXEC_ON_RING-Variablen

Die xxx_EXEC_ON_RING-Variablen dienen dazu Befehle auszuführen, sobald eine Nummer von Asterisk angerufen wurde.

Es sollten nur Befehle verwendet werden, die eine kurze Laufzeit haben, da das entsprechende Telefon erst zu klingeln anfängt, wenn der Befehl vollständig abgearbeitet wurde.

Sind Befehle mit längerer Laufzeit unumgänglich, kann man hier ein & hinter den Befehl setzen. Dies hat zur Folge, dass der Befehl im Hintergrund abgearbeitet wird und das entsprechende Telefon sofort anfängt zu klingeln.

Anrufe protokollieren

Wenn man eingehende Anrufe protokollieren möchte, kann man dies z.B. Über die Variablen ASTERISK_SIP_x_EXEC_ON_RING, ASTERISK_PHONES_x_EXEC_ON_RING und ASTERISK_CAPI_EXEC_x_CMD tun.

Eine EXEC-Variable könnte dann folgendermaßen aussehen:

ASTERISK_PHONES_x_EXEC='echo "${DATETIME}: Recieved call from ${CALLERIDNAME}
(${CALLERID}) to ${EXTEN}" >/var/log/asterisk.phone10'

(Alles in einer Zeile)

Eine Liste aller Asterisk-Variablen findet sich am Ende dieser Dokumentation.

Liste aller Asterisk internen Variablen

Folgende Asterisk-Variablen können in xxx_EXEC_ON_RING-Variablen verwendet werden:

Variable Bedeutung
${ACCOUNTCODE} Account code, if specified - see Asterisk billing
${ANSWEREDTIME} Time when the call was answered.
${CALLERID} The current Caller ID (name and number)
${CALLERIDNAME} The current Caller ID name
${CALLERIDNUM} The current Caller ID number
${CALLINGPRES} PRI Call ID Presentation variable for incoming calls (See callingpres )
${CHANNEL} Current channel name
${CONTEXT} The name of the current context
${DATETIME} Current date time in the format & YYYY-MM-DD_HH:MM:SS
${DIALEDPEERNAME} Name of the called party. Broken for now, see DIALEDPEERNAME
${DIALEDPEERNUMBER} Number of the called party. Broken for now, see DIALEDPEERNUMBER
${DIALEDTIME} Time when the number was dialed.
${DIALSTATUS} Status of the call. See DIALSTATUS
${DNID} Dialed Number Identifier. Limitations apply, see DNID
${EPOCH} The current UNIX-style epoch (number of seconds since 1 Jan 1970)
${EXTEN} The current extension
${HANGUPCAUSE} The last hangup return code on a Zap channel connected to a PRI interface
${INVALID_EXTEN} The extension asked for when redirected to the i (invalid) extension
${CODECS} The current language setting. See Asterisk multi-language
${MEETMESECS} Number of seconds a user participated in a MeetMe conference
${PRIORITY} The current priority
${RDNIS} The current redirecting DNIS, Caller ID that redirected the call. Limitations apply, see RDNIS
${SIPDOMAIN} SIP destination domain of an inbound call (if appropriate)
${SIP_CODEC} Used to set the SIP codec for a call
${SIPCALLID} The SIP dialog Call-ID & header
${SIPUSERAGENT} The SIP user agent header
${PRIORITY} Current priority
${TIMESTAMP} Current date time in the format & YYYYMMDD-HHMMSS
${TXTCIDNAME} Result of application TXTCIDName (see below)
${UNIQUEID} Current call unique identifier

Quelle: http://www.voip-info.org/wiki-Asterisk+variables

Die HFC-S-ISDN-Karte

Um einen internen S0-Bus bereitstellen zu können, bedarf es einer speziellen ISDN-Karte mit HFC-S-Chipsatz. Diese Karten sind relativ selten, sind aber durch ihren Billig-Chipsatz nicht wesentlich teurer als normale ISDN-Karten.

Es gibt verscheidene Typen von HFC-S-Karten. Zum einen die Karte für den Otto-Normal-User mit nur einem RJ45 Port. Bezugsquellen von diesen HFC-S-Karten sind u.A. Reichelt, Conrad oder eBay.

Welche Karten von Asterisk unterstützt werden findet man unter http://isdn.jolly.de/cards.html

Die Firma junghanns.net GmbH bietet HFC-S-Karten für Asterisk mit mehr als einem Port an. Vom Asterisk-Pakte für Eisfair werden folgende Junghanns Karten unterstützt:

Aus eisfairkonfigurationsschichttechnischen Gründen wird die octoBRI nicht unterstützt. (Ich denke, wer so eine Karte benötigt, sollte im Stande sein diese per Hand konfigurieren zu können)

Preislich befinden sich die Karten von Junghanns.net im mittleren dreistelligen bis vierstelligen Euro-Bereich.

Hinweis
Leider werden zur Zeit noch keine Karten von http://www.beronet.com/ unterstützt.


Verkabelung

Bei dem Verbinden der HFC-S-ISDN-Karte mit den restlichen Telefonen, ist zu beachten, dass der ISDN-Bus einmal gekreuzt werden muss. Hier eine Skizze zur Veranschaulichung.

__
  |
  |--------------\/-----|----------------------|-----------|---...
  |--------------/\-----|----------------------|-----------|---...
  |--------------\/-----|----------------------|-----------|---...
  |--------------/\-----|----------------------|-----------|---...
  |                     |    interner S0-Bus   |           |
  |HFC-S-               |    der HFC-S-Karte   |           |
  |ISDN-              NTBA                    z.B.        z.B.
  |Karte          (zur Strom-              TK-Anlage      ISDN-
  |                versorgung)                           Telefon
  |
A |------------------------------------|-------------------|
S |------------------------------------|-------------------|----...
T |------------------------------------|-------------------|----...
E |------------------------------------|-------------------|
R |AVM         interner S0-Bus         |                   |
I |ISDN-      des Netzbetreibers       |                   |
S |Karte                              z.B.                NTBA
K |                                   ISDN-               zum
  |                                   Telefon         Netzbetreiber
  |
  |------------------------------------|-------------------|
  |------------------------------------|-------------------|
  |------------------------------------|-------------------|
  |------------------------------------|-------------------|
  |AVM         interner S0-Bus         |                   |
  |ISDN-        der TK-Anlage          |                   |
  |Karte                              z.B.              TK-Anlage
__|                                   ISDN-           mit internem
 |                                    Telefon            S0-Bus
 |
 |    _______
 |   |       |
 |___|  SIP- |
     | Phone |
     |_______|

Alle oben gezeichneten Endgeräte sind optional. Aber natürlich wäre es sinnvoll mindestens eines zu haben ;-)

Interne Gespräche

Möchte man ein Telefon anrufen, welches an die HFC-S-ISDN-Karte von Asterisk angeschlossen oder ein SIP-Client ist, muss der Wert in ASTERISK_DIALPREFIX_INTERNAL plus die interne MSN des entsprechenden Telefons gewählt werden.

Ein Beispiel: Wenn ASTERISK_DIALPREFIX_INTERNAL='*' und das Telefon mit der internen MSN 11 angerufen werden soll, muss als Telefonnummer *11 gewählt werden.

Die Voicebox

Jedes Telefon besitzt eine eigene Voicebox, wenn ASTERISK_PHONES_x_VBOX='yes'. Bei Bedarf können die empfangenen Nachrichten auch per Mail weitergeleitet werden. (Siehe dazu ASTERISK_PHONES_x_VBOX_MAIL)

Voicebox abhören

Um die Voicebox abzuhören, muss der Prefix in ASTERISK_DIALPREFIX_VBOX definiert plus die interne MSN des entsprechenden Telefons gewählt werden.

Ein Beispiel: Wenn man die Voicebox des Telefons mit der internen MSN 11 abhören möchte und ASTERISK_DIALPREFIX_VBOX='#9', muss die Telefonnummer #911 gewählt werden.

Ist die Caller ID von dem Telefon, von dem die Voicebox angerufen wird, nicht gleich der MSN der angerufenen Voicebox, so wird man aufgefordert, die in ASTERISK_PHONES_x_PIN angegebene PIN einzugeben. Um die Eingabe zu bestätigen, muss die #-Taste gedrückt werden.

Die Voicebox kann über das Callthrough-System auch von außerhalb abgefragt werden.

Das Menü

Quelle: http://www.voip-info.org/tiki-index.php?page=Asterisk%20cmd%20VoiceMailMain

Asterisk ohne HFC-S-ISDN-Karte

Es ist möglich Asterisk hinter einer TK-Anlage mit internem S0-Bus zu betreiben. In diesem Szenario benötigt man keine HFC-S-ISDN-Karte sondern lediglich eine normale ISDN-Karte, die vom Eisfair CAPI-Paket unterstützt wird.

Hinweis
Diese Variante hat einen großen Nachteil: Blockwahl funktioniert nicht mehr. Dies braucht man z.B. bei Kurzwahl oder wenn man eine Nummer aus der Anrufer liste direkt zurückrufen möchte. Deshalb muss man nach dem Anrufen des Asterisk den Hörer abheben und kann dann die eigentliche Nummer wählen.


Konfiguration

Um diese Feature nutzen zu können müssen in der Eisfair Konfiguration folgende Einstellungen vorgenommen werden:

ASTERISK_DIALPREFIX_DISA
Hier wird die MSN angegeben, die in der Konfiguration der TK-Anlage mit internem S0-Bus für Asterisk vergeben wurde. Asterisk wird dann auf dieser MSN für eingehende Anrufe horchen.
ASTERISK_PHONES_1_TYPE
Der Typ des Telefons muss 'disa' sein.
ASTERISK_PHONES_1_MSN
Hier muss die Caller ID, also die Telefonnummer, des Endgerätes angegeben werden, welches für DISA benutzt werden soll. Einige TK-Anlagen senden noch einen Prefix vor der Caller ID mit, damit erkannt werden kann, dass der Anruf von intern kommt. In diesem Fall muss dieser Prefix noch mit angegeben werden. Wenn die Caller ID des Telefons z.B. 20 und der Prefix für interne Gespräche *, muss als MSN '*20' angegeben werden.
ASTERISK_PHONES_1_RING_ON_CAPI
Diese Variable muss leer sein. Denn wenn man über das Festnetz angerufen wird, managt das die TK-Anlage.

Ablauf beim Wählen

Um dann über VoIP ein Gespräch zu führen, muss zuerst Asterisk angerufen werden. - Dies geschieht in diesem Fall mit Eingabe der 0 auf dem Telefon. Danach wählt man einen der Dialpräfixe (ASTERISK_DIALPREFIX_SIP oder ASTERISK_DIALPREFIX_CAPI), je nach dem auf welchen Weg man raus telefonieren möchte. Und anschließend die normale Telefonnummer. (Nach Eingabe der 0 muss der Hörer abgehoben werden, damit die Ziffern in DTMF-Tönen und nicht über den D-Kanal übertragen werden.)

Beispiel: Wenn die ISDN-Karte im Eisfair die MSN 0 hat (ASTERISK_DIALPREFIX_DISA='0'), der Dialprefix für SIP *77 ist (ASTERISK_DIALPREFIX_SIP='*77') und man Apu Nahasapeemapetilon in Indien über VoIP anrufen möchte, dessen eigentliche Telefonnummer 0091 1234 8765 ist, dann muss auf dem Telefon folgende Nummer gewählt werden: 0 [abheben] *77 0091 1234 8765

Callthrough

Callthrough wird z.B. bei so genannten Callingcards verwendet. Üblicherweise ruft man eine kostenfreie Rufnummer an, man gibt seine PIN ein und kann anschließend die eigentlich Nummer wählen, mit der man verbunden werden möchte.

Dieses Feature unterstützt Asterisk ebenfalls. Nützlich kann dies z.B. sein, wenn man einen Telefontarif hat, bei dem man zu bestimmten Zeiten kostenlos telefonieren kann.

So kann man von jedem Ort im Internet eine (kostenlose) Verbindung per SIP zum heimischen Asterisk aufbauen und sich dann weiter über ISDN mit der eigentlichen Nummer verbinden.

Ein weiteres Beispiel ist, wenn man von extern seine Voicebox abrufen möchte. Ist z.B. folgende Konfiguration gegeben und man Apu Nahasapeemapetilon in Indien über VoIP anrufen möchte, dessen eigentliche Telefonnummer 0091 1234 8765 ist ...

ASTERISK_CALLTHROUGH_1_MSN='123456'
ASTERISK_CALLTHROUGH_1_ALLOW_1_PIN='1111'
ASTERISK_DIALPREFIX_SIP='000'

... muss als Telefonnummer folgendes gewählt werden:

123456 [abheben] 1111# 000 0091 1234 8765

Die PIN muss mit # bestätigt werden.

Siehe dazu auch die Beschreibung der ASTERISK_CALLTHROUGH_* Variablen.

LCR - Least Cost Routing

Asterisk unterstützt das so genannte Least Cost Routing. Das bedeutet, dass bei ausgehenden Gesprächen über ISDN automatisch die günstigste Call-By-Call Vorwahl vor die Nummer gewählt wird.

Sollte ein Call-By-Call Anbieter überlastet sein, so wird automatisch der nächst teurere ausgewählt.

Asterisk bekommt seine Routing-Daten von der Website telefon-sparbuch.de und kann diese automatisiert auf den neusten Stand bringen.

Hierzu wird empfohlen sich eine neue Konfiguration zu erstellen, nach welchen Kriterien Asterisk den Call-By-Call Anbieter auswählen soll. Auf der folgenden Seite kann diese Konfiguration erstellt werden:

http://www.telefonsparbuch.de/tmpl/calc/telephone/lcr/Asterisk/calc_tk.htm?TKANLAGE_BASE=Asterisk

Nachdem die gewünschten Einstellungen vorgenommen wurden, klicken Sie auf den Button 'Speichern' auf der Website (nicht auf 'LCR-Tabelle berechnen'). Es wird nun eine Datei zum Download angeboten, die Sie nach 'tsblcr.cfg' umbenennen und unter folgendem Pfad auf dem Eisfair speichern:

/etc/asterisk/lcr/

Nach dem nächsten Update der Routing-Tabelle (definiert in ASTERISK_LCR_CRON) sollte die eben gespeicherte Konfiguration für den nächsten Anruf verwendet werden.

Möchte man nicht so lange warten, kann ein Update der Routing-Tabelle auch manuell mit folgendem Befehl auf der Eisfair-Konsole angestoßen werden:

/var/install/bin/asterisk-update-lcr

Die Einsparungen die mit LCR gemacht werden können, sind immens. Meist 25% ins Mobilfunknetz und bis zu 80% ins Festnetz. Es wäre daher sehr löblich, wenn ein Teil der Einsparungen als Spende in die Entwicklung des Asterisk Pakets zurück fließen würde. So kann gesichert werden, dass der Umfang der unterstützten Hardware stetig steigt. Spendeninformationen unter http://www.nettworks-ev.org/wie.htm

Asterisk hinter einem Router

Um Asterisk hinter einem Router betreiben zu können, müssen auf den Eisfair folgende Ports forwardet werden:

10000 - 20000 (TCP, UDP)
5060 (TCP, UDP)

Asterisk als TAPI-Server

Was ist TAPI?

Mit TAPI (Telephony Application Programming Interface) ist es u.A. möglich eingehende Anrufe zu Clients zu signalisieren, die diese anhand einer Datenbank einem Namen zuordnen können oder ein Fenster aufpoppen lassen, um Notizen zum Gespräch ein zu tippen.

Es ist ebenfalls möglich, mit der entsprechenden Client-Software einen Namen aus einer Datenbank auszuwählen, welchen Sie anrufen möchten. Nun wird die Nummer des Teilnehmers ermittelt und zum Asterisk übermittelt.

Nun besteht die Möglichkeit, dass Asterisk ein Telefon anruft. Sobald man abnimmt, wird man mit dem vorher ausgewählten Teilnehmer verbunden, ohne dass die Nummer auf dem Telefon gewählt werden musste.

Einrichtung der Treiber unter Windows

Zunächst lädt man die Windowstreiber von http://sourceforge.net/projects/asttapi/ herunter und installiert diese.

Asttapi kann man nun in folgendem Menü konfigurieren:

Systemsteuerung Telefon- und Modemoptionen Erweiterte Optionen Omniis TAPI-Driver for Asterisk Konfigurieren

In dem nun folgenden Dialogfenster sollten folgende Einstellungen gemacht werden:

Bezeichnung Wert
Host: [Hostname des Eisfair-Servers]
Port: 5038
User: [Der in ASTERISK_TAPI_USER_x_NAME angegebene Benutzername]
Passwort: [Das in ASTERISK_TAPI_USER_x_PASS angegebene Passwort]
User Channel: Bei Telefonen, die an die HFC-S-Karte angeschlossen sind: Zap/g1/[MSN*]; Bei SIP-Clients: SIP/[MSN*]; Bei DISA-Clients CAPI/[MSN*]: (Man beachte den Doppelpunkt bei CAPI.
Inbound Channel: ???
``Dial by 'Context'``  
Context: outgoing
Caller ID: [MSN*]

MSN*:
Hier muss eine Nummer aus ASTERISK_PHONES_x_MSN angegeben werden. Das Telefon, bei welchem diese MSN einprogrammiert ist, wird klingeln, wenn auf dem Client eine Nummer angewählt wird.

Konfiguration der Windows Wählhilfe

Text bitte an E-Mail fabian@eisfair.org.

Test-Rufnummer

Um die Betriebsbereitschaft von Asterisk zu überprüfen, stehen folgende Test-Rufnummer zur Verfügung:
Nummer Beschreibung
#100 Spielt eine MP3 ab
#101 Gibt einen 1kHz Piep-Ton aus
#102 Nennt die Caller ID des Anrufers
#103 Führt einen Echotest durch
#104 Zeit ansage

Hinweise zu SIP-Providern

Alle nachfolgenden SIP-Anbieter werden von dem Eisfair-Asterisk-Paket unterstützt. Dies muss aber nicht heißen, dass anderen Anbieter nicht funktionieren.

Sipgate

Als Benutzername ist hier der Teil vor dem @-Zeichen der SIP-Adresse anzugeben. Lautet die SIP-Adresse z.B. 123456@sipgate.de, ist der Benutzername 123456.

Als Passwort muss das SIP-Passwort eingegeben werden. (Nicht zu verwechseln mit dem Passwort, mit dem sich beim Webinterface eingeloggt wird)

Der Hostname vom SIP-Proxy lautet sipgate.de

GMX

Als Benutzername muss hier die komplette Telefonnummer inkl. Landesvorwahl ohne die beiden führenden Nullen angegeben werden. Ist die Festnetznummer z.B. 051187654321 in Deutschland, lautet der Benutzername 4951187654321.

Als Passwort wird das normale GMX-Passwort angegeben, mit dem man sich auch im Webinterface einloggt.

Der Hostname vom SIP-Proxy lautet sip.gmx.net.

1&1

Als Benutzername muss hier die komplette Telefonnummer inkl. Landesvorwahl ohne die beiden führenden Nullen angegeben werden. Ist die Festnetznummer z.B. 051187654321 in Deutschland, lautet der Benutzername 4951187654321.

Als Passwort ist das für die DSL-Telefonie anzugeben.

Der Hostname vom SIP-Proxy lautet sip.1und1.de.

web.de

Als Benutzername ist hier Userpart der Email-Adresse anzugeben. Lautet die Email-Adresse z.B. mustermann@web.de, ist der Benutzername mustermann.

Als Passwort wird das normale web.de-Passwort angegeben, mit dem man sich auch im Webinterface einloggt.

Der Hostname vom SIP-Proxy lautet sip.web.de.

T-Online

Als Benutzername ist hier die T-Online-Nummer und der Userpart der Email-Adresse, getrennt durch einen Doppelpunkt anzugeben. Lautet die T-Online Email-Adresse mustermann@t-online.de und die T-Online-Nummer 03299999999, muss als Benutzername 0329999999:mustermann angegeben werden.

Als Passwort ist das normale T-Online-Passwort anzugeben, welches auch bei der Einwahl benutzt wird.

Der Hostname vom SIP-Proxy lautet tel.t-online.de.

ACHTUNG
Der Name des SIP-Proxy (ASTERISK_SIP_x_NAME) muss die Zeichenkette ,,t-online``(Groß- und Kleinschreibung beachten) enthalten, da T-Online eine Sonderbehandlung beim Schreiben der internen Asterisk-Konfiguration benötigt.


Strato

Als Username muss hier der Benutzername und das Passwort angegeben werden, mit dem man sich auch beim Webinterface vom DSL-Login einloggt. Der Hostname vom SIP-Proxy lautet strato-iphone.de.

Beheben von Knacksern im Gespräch oder oder das Volllaufen des Syslogs

Das Problem

Im Syslog (/var/log/messages) treten folgende Fehlermeldungen auf:

Sep 14 17:43:33 eis kernel: zaphfc[0]: b channel buffer underrun: 1, 1
Sep 14 17:43:40 eis kernel: zaphfc[0]: b channel buffer overflow: 24, 24
[...]
Sep 14 17:37:51 eis kernel: zaphfc[0]: tx sync changed: 14, 8
Sep 14 17:37:51 eis kernel: zaphfc[0]: tx sync changed: 8, 8
Sep 14 17:37:52 eis kernel: zaphfc[0]: tx sync changed: 15, 9
Sep 14 17:37:52 eis kernel: zaphfc[0]: tx sync changed: 9, 9

Oder es knackt, während man über ein ISDN-Telefon an der HFC-S-Karte telefoniert. - Ein weiteres Symptom sind regelmäßige Aussetzer im Freizeichen, wenn man den Hörer abnimmt.

Die HFC-S-Karte benötigt 8000 Interrupts/Sek., da der S0-Bus der vom Asterisk bereitgestellt und somit auch synchronisiert wird mit 8kHz laufen muss.

Für einen PC ist dies relativ viel, aber wenn man Asterisk nicht auf dem billigsten Mainboard laufen lassen möchte durchaus realisierbar.

Wenn es dennoch zu o.g. Logeinträge, Knacksern im Gespräch oder Aussetzern im Amtston (Freizeichen) kommt, helfen diese Tipps evt. die Probleme zu beseitigen.

Wie viele Interrupts der HFC-S-Karte werden verworfen?

Diese Frage kann mit dem Programm ''zttest'' beantwortet werden. (Im Paket enthalten ab Asterisk 0.0.18. Bis zum Release unter http://download.eisfair.org/zttest abrufbar)

Durch den Start des Programms werden Interrupts einer HFC-S-Karte simuliert. Auf der Konsole wird in Prozentpunkten angezeigt, wie viele Interrupts erfolgreich waren. Beenden kann man den Test durch die Tastenkombination Strg-C.

Eine Beispiel-Ausgabe sieht folgendermaßen aus:

Opened pseudo zap interface, measuring accuracy...
99.987793% 100.000000% 100.000000% 99.987793% 99.987793% 100.000000% 100.000000%
100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000%
100.000000%
99.987793% 100.000000% 100.000000% 100.000000% 100.000000% 99.987793%
100.000000%
100.000000% 100.000000% 100.000000% 100.000000% 99.987793% 100.000000%
100.000000%
100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000%
100.000000%
100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000%
99.987793%
--- Results after 47 passes ---
Best: 100.000000 -- Worst: 99.987793

Bei Werten über 99,98% sollten keine Aussetzer oder Knackser zu hören sein. Falls doch, ist die Ursache an einer anderen Stelle zu suchen.

Shared IRQ

Die HFC-S-Karte sollte sich keinen IRQ mit einem anderen Gerät im Rechner teilen. Eine übersicht aller IRQs bekommt man auf der Konsole, indem folgender Befehl eingegeben wird:

cat /proc/interrupts

Eine Beispiel-Ausgabe könnte folgendermaßen aussehen:

eis # cat /proc/interrupts
CPU0
0: 96840965 XT-PIC timer
1: 2 XT-PIC keyboard
2: 0 XT-PIC cascade
4: 854 XT-PIC serial
5: 3606503108 XT-PIC usb-uhci, usb-uhci, eth0, zaphfc
9: 0 XT-PIC acpi
10: 69316802 XT-PIC saa7146 (0)
11: 0 XT-PIC usb-uhci, usb-uhci
12: 599873299 XT-PIC fcpci
14: 4525995 XT-PIC ide0
15: 4046837 XT-PIC ide1
NMI: 0
ERR: 0

Es ist zu sehen, dass sich die HFC-S-Karte (zaphfc) ihren IRQ mit dem USB-Controller (usb-uhci, usb-uhci ) und der Netzwerkkarte (eth0) teilt.

Um das zu ändern, kann als erster Schritt versucht werden die HFC-S-Karte in einen anderen PCI-Slot zu stecken. Ändert sich dadurch der IRQ nicht, muss im BIOS der IRQ für den entsprechenden PCI-Slot manuell vergeben werden.

Interrupt-Verbrauch des Festplatten-Controllers drosseln

In vielen Fällen tretend die o.g. Fehlermeldungen erst nach Zugriffen auf die Festplatte(n) auf.

In diesem Fall ist es sinnvoll die HDDs im DMA-Modus zu betreiben (was sowieso ratsam ist). Dies erreicht man mit folgendem Befehl:

hdparm -d 1 -X udma2 -c 3 /dev/hdx

Tritt das Problem weiterhin auf, kann folgender Befehl angewendet werden, welcher marginal die Performance der Festplatten negativ beeinflusst:

hdparm -u1 /dev/hdx

Wie hoch dieser Performance unterschied ist, kann mit folgenden Befehlen getestet werden:

hdparm -u0 /dev/hdx
hdparm -tT /dev/hdx
hdparm -u1 /dev/hdx
hdparm -tT /dev/hdx

''x'' steht für die entsprechende Festplatte.

IRQ der HFC-S-Karte auf einen höher priorisierten IRQ legen

Tritt das Problem weiterhin auf, kann versucht werden den IRQ der HFC-S-Karte auf einen höher priorisierten IRQ zu legen. Im Folgenden wird zwischen APIC (Advanced Processor Interrupt Controller) und Non-APIC Mainboards unterschieden. Generell ist es besser ein Board mit APIC zu besitzen, da hier mehr IRQs zur Verfügung stehen und das Management dieser besser funktioniert.

(APIC ist nicht zu verwechseln mit ACPI)

Non-APIC Mainboards

Die Reihenfolge der Priorisierung der IRQs ist folgende:

0 1 2 8 9 10 11 12 13 14 15 3 4 5 6 7

Wobei 0 die höchste und 7 die niedrigste Priorität besitzt. Die IRQs 0, 1, 2 und 8 können nicht geändert werden. Es ist also empfehlenswert den IRQ der HFC-S-Karte auf 9 zu legen.

APIC Mainboards

Ist man im Besitz eines Mainboards, welches APIC unterstützt (die meisten modernen Boards können dies), hat man pro APIC-Controller 24 IRQs.

Welcher IRQ die höchste Priorität hat, kann durch Eingabe von

dmesg

auf der Konsole herausgefunden werden. (Hierzu muss das Paket ''dmesg'' installiert sein. Zu finden über Pack-Eis)

Es sollte eine Tabelle ähnlich dieser ausgegeben werden.

NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
00 000 00 1 0 0 0 0 0 0 00
01 001 01 0 0 0 0 0 1 1 39
02 001 01 0 0 0 0 0 1 1 31
03 001 01 0 0 0 0 0 1 1 41
04 001 01 0 0 0 0 0 1 1 49
05 000 00 1 0 0 0 0 0 0 00
06 001 01 0 0 0 0 0 1 1 51
07 001 01 0 0 0 0 0 1 1 59
08 001 01 0 0 0 0 0 1 1 61
09 001 01 0 0 0 0 0 1 1 69
0a 001 01 0 0 0 0 0 1 1 71
0b 000 00 1 0 0 0 0 0 0 00
0c 001 01 0 0 0 0 0 1 1 79
0d 001 01 0 0 0 0 0 1 1 81
0e 001 01 0 0 0 0 0 1 1 89
0f 001 01 0 0 0 0 0 1 1 91
10 000 00 1 0 0 0 0 0 0 00
11 001 01 1 1 0 1 0 1 1 99
12 000 00 1 0 0 0 0 0 0 00
13 001 01 1 1 0 1 0 1 1 A1
14 001 01 1 1 0 1 0 1 1 A9
15 001 01 1 1 0 1 0 1 1 B1
16 000 00 1 0 0 0 0 0 0 00
17 001 01 1 1 0 1 0 1 1 B9

Die erste Spalte gibt den IRQ in hexadezimaler Schreibweise an. Die letzte die Priorität des IRQs, welche ebenfalls in hexadezimaler Schreibweise angegeben ist.

Je höher die Priorität ist, desto besser für die HFC-S-Karte.

In diesem Beispiel wäre der IRQ 23 (hex = 17) mit der Priorität 185 (hex = B9) also die erste Wahl.

Quelle für dieses Kapitel:
http://www.asteriskguru.com/tutorials/pci_irq_apic_tdm_ticks_te410p_te405p_noise.html

Glossar

Interne MSN
Intern bedeutet, dass diese MSN bei einem ISDN-Telefon eingetragen ist, welches sich hinter dem Asterisk befindet. Z.B. an der HFC-S-ISDN-Karte. Dieses Telefon kann erst einmal nicht von extern (also von außerhalb) des Asterisk angerufen werden, da diese MSN dort nicht gültig ist.

Damit das Telefon aber trotzdem klingelt, wenn jemand auf einer externen MSN (s.u.) anruft, kann in ASTERISK_PHONES_x_RING_ON_CAPI eine oder mehrere externe MSNs angegeben werden. Asterisk nimmt das Gespräch dann auf der externen MSN entgegen und leitet es auf die interne MSN weiter.

Externe MSN
Eine externe MSN ist die Nummer, die dem Telefon-Anschluss, von der Telefongesellschaft zugeteilt worden ist. Bei der Telefonnummer aus Hannover (Vorwahl 0511) 0511 12345678 ist z.B. die externe MSN 12345678.

Hinweis
MSNs werden grundsätzlich ohne Vorwahl angegeben.


Caller ID
Die Caller ID ist die komplette Telefonnummer. Sprich Vorwahl + MSN. Die Caller ID von Apu Nahasapeemapetilon aus Indien ist z.B. 0091 1234 8765.

Yves Schumann 2010-02-28