Asterisk Einleitung Asterisk ist eine Software-Telefonanlage mit Funktionen wie Voicebox- oder Voice over IP-Unterstuetzung (SIP, IAX). Desweiteren kann sie mit Hilfe einer HFC-ISDN-Karte (Siehe [2]Die HFC-S-ISDN-Karte) einen internen S[0]-Bus bereitstellen. Dadurch ist es ohne Weiteres moeglich, 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 Moeglichkeit, auch mit analogen Telefonen, VoIP-Telefonie zu betreiben. So ist es z.B. moeglich mit einen analogen schnurlosen Telefon ueber das Internet zu telefonieren, ohne dass man etwas davon bemerkt. In diesem Dokument wird auf die Konfiguration von Asterisk fuer eisfair eingegangen. Sie wird auf der Konsole in einem speziellen Editor (ECE, eisfair Configuration Editor) durchgefuehrt. Konfigurations Variablen START_ASTERISK Soll Asterisk beim Booten von eisfair gestartet werden? Gueltige Werte: yes, no Standardeinstellung: START_ASTERISK='no' ASTERISK_CONFIG_USE Ueber diesen Parameter wird das schreiben der configs beeinflusst. 'yes' die Asterisk configs werden nach den Angaben aus dieser Konfig erstellt. 'no' die Asterisk configs werden von Hand erstellt, die Angaben in dieser Konfig werden nicht beachtet. Ausser: ASTERISK_LOAD_CAPI, ASTERISK_LOAD_DAHDI, ASTERISK_LOG_INTO_FILE Gueltige Werte: yes, no Standardeinstellung: ASTERISK_CONFIG_USE='yes' ASTERISK_LOAD_CAPI Wenn Asterisk auch Anrufe von der CAPI entgegen nehmen soll, muss hier 'yes' eingetragen werden. Dazu ist natuerlich neben der HFC-S-ISDN-Karte noch eine weitere ISDN-Karte noetig, die ueber eine CAPI angesprochen wird. Momentan sind dies alle Karten die vom CAPI-Paket fuer Eisfair unterstuetzt werden. Gueltige Werte: yes, no Standardeinstellung: ASTERISK_LOAD_CAPI='no' ASTERISK_LOAD_DAHDI Wenn Telefonie Karten benutzt werden sollen, muss diese Variable auf 'yes' gesetzt sein. Gueltige Werte: yes, no Standardeinstellung: ASTERISK_LOAD_DAHDI='no' ASTERISK_LOG_INTO_FILE Schreibt alle Ausgaben von der Debugconsole und zusaetzlich die Verbose-Meldungen in eine Logdatei. Es ist dringend davon abzuraten diese Einstellung im Produktivbetrieb zu aktivieren, da die Logfile sehr schnell sehr gross werden kann. Die Meldungen werden in die Datei /var/log/asterisk/full geschrieben. Gueltige Werte: yes, no Standardeinstellung: ASTERISK_LOG_INTO_FILE='no' ASTERISK_LANGUAGE Hier wird angegeben in welcher Sprache die Ansagen am Telefon abgespielt werden sollen. Z.B. im Voicebox-Menue oder wenn eine ungueltige Rufnummer gewaehlt wurde. Gueltige Werte: de, en, fr' Standardeinstellung: ASTERISK_LANGUAGE='de' ASTERISK_CODECS Die Auswahl der Codecs ist entscheidend fuer die Sprachqualitaet und die benoetigte Bandbreite fuer ein Gespraech. Der Codec 'ulaw' uebertraegt die Daten unkomprimiert und benoetigt eine Bruttodatenrate von ca. 11KB/Sek. pro Richtung. Er wird ausserdem beim herkoemlichen ISDN verwendet. Aufgrund der Datenrate ist dieser Codec nur DSL-Benutzern zu empfehlen. Der Codec 'gsm' bietet eine niedrigerere Sprachqualitaet als 'ulaw' und laesst sich deshalb auch mit einem Dial-Up-Zugang wie ISDN oder Modem verwenden. Es koennen auch alle zusammen ausgaewaehlt werden, nur mit 'space' Gueltige Werte: ulaw, alaw, gsm Standardeinstellung: ASTERISK_CODECS='ulaw' ASTERISK_ADVANCED_ERROR_MSG Wenn eine ungueltige Nummer gewaehlt wurde und diese Variable auf yes gesetzt ist, wird eine gefuehlsbetonte Fehleransage ausgegeben. ASTERISK_AREA_CODE Diese Variable ist optional. Wenn hier die Ortsvorwahl eingetragen ist, braucht bei SIP-Gespraechen im selben Ort keine Vorwahl mehr angegeben zu werden. Sie wird verwendet, wenn bei ausgehenden Anrufen ueber SIP keine Vorwahl (fuehrende 0) vorgewaehlt wird. Asterisk geht in diesem Fall davon aus, dass sich diese Nummer im selben Ort befindet und waehlt die hier angegebene Vorwahl vor die Rufnummer. Ist diese Variable gesetzt, koennen natuerlich keine Nummern mehr im Netz des eigenen SIP-Providers angewaehlt werden, da Asterisk davon ausgeht, die gewaehlte Rufnummer sei eine Nummer im eigenen Ort und waehlt die Ortsvorwahl vor. Ein praktisches Beispiel, welches nicht mehr funktioniert, ist die blosse Eingabe der Sipgate Kundennummer eines anderen Teilnehmers. Hier muss dann die Festnetznummer des SIP-Accounts des Gespraechspartners gewaehlt werden. Das Gespraech ist dann immernoch kostenlos.) ASTERISK_RESOLVE_NUMBERS Ist diese Variable auf 'yes' gesetzt, versucht Asterisk bei jedem eingehenden Anruf die Nummer des Anrufers in den Namen aufzuloesen. Dabei wird zunaechst das lokale Telefonbuch in /public/phonelist.txt abgefragt. Wird die Nummer hier nicht gefunden, wird versucht die Nummer ueber dasoertliche.de aufzuloesen. ACHTUNG Es ist zu beachten, dass die Endgeraete 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 durchgestellt. Webinterface Dieses Webinterface dient nicht zur Konfiguration von Asterisk. ASTERISK_WEBINTERFACE_START Schaltet das Webinterface ein oder aus. Wird hier 'yes' eingetragen, wird der asterisk_httpd gestartet. Hinweis Der Zugriff auf das Webinterface erfolgt ueber Port 3002. Bei SSL Verschluesselung ist zu beachten, dass ein 's' hinter der Angabe des Protokolls stehen muss: https://eis:3002 Gueltige Werte: yes, no Standardeinstellung: ASTERISK_WEBINTERFACE_START='no' ASTERISK_WEBINTERFACE_FORCE_SSL Hier wird angeben, ob das Asterik Webinterface ueber eine SSL Vebindung erreicht werden soll oder nicht. Bei der Einstellung: 'yes' werden die Asterisk Seiten mit SSL Verschluesselung ausgeliefert, dass ist die Standardeinstellung und sehr empfohlen. Beispiel: https://eis:3002 'no' werden die Asterisk Seiten 'ohne' SSL Verschluesselung ausgeliefert. Dieses Vorgehen ist moeglich wird aber nicht empfohlen, da das Passwort und der Username im Klartext uebertragen werden. Beispiel: http://eis:3002 Gueltige Werte: yes, no Standardeinstellung: ASTERISK_WEBINTERFACE_FORCE_SSL='yes' ASTERISK_WEBINTERFACE_CERTIFICATE Hier wird der Name des SSL Server Zertifikats angegeben. Asterisk legt fuer die SSL Verbindung einen link 'asterisk.pem' an. Asterisk benutzt dafuer auch das Standard Zertifikat des Servers. Es kann hier auch ein Zertifikat einer anderen 'CA', das fuer Asterisk ausgestellt wurde, angegeben werden. Gueltige Werte: Zertifikat Name Standardeinstellung: ASTERISK_WEBINTERFACE_CERTIFICATE='' ASTERISK_WEBINTERFACE_n_USER Der Benutzername fuer die HTTP-Authentifizierung wird hier angegeben. ASTERISK_WEBINTERFACE_n_PASSWD Das Passwort fuer die HTTP-Authentifizierung wird hier angegeben. 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. Moegliche Werte: 'zaphfc', 'multi' ASTERISK_HFCS_GROUP_x_PROVIDE_S0_BUS Sollen an die Ports in dieser Gruppe Endgeraete (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 verbuden werden, muss diese Variable auf 'no' gesetzt werden. Hierzu zaehlt auch, wenn man den genannten Port an den internen S0-Bus einer weiteren TK-Anlage anschliessen moechte. ASTERISK_HFCS_GROUP_x_PTP Ist der Anschlusstyp zur Telefongesllschaft ein Anlagenanschluss (2SM, Point-to-Point, Primaermultiplexanschluss, (meistens) 30 B-Kanaele) und kein Mehrgeraeteanschluss (Point-to-Multi-Point, 2 B-Kanaele) muss hier 'yes' angegeben werden. aequivalent 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 Mehrgeraeteanschluss bereitstellen soll . Hinweis An einen Anlagenanschluss koennen keine Telefone direkt angeschlossen werden. Hierfuer ist eine extra TK-Anlage (oder eben ein Asterisk) noetig, an die (dem) die Telefone angeschlossen werden. ASTERISK_HFCS_GROUP_x_PORTS Hier wird angegeben, wieviel Ports dieser Portgruppe umfassen soll. Eine Portgruppe kann sich ueber 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 angegben, an welche die Portgruppe angeschlossen ist. + fxs: An die Portgruppe sind ein oder mehrere Telefone angeschlossen + fxo: Die Portgruppe ist mit einem oder mehreren Telefonanschluesse verbunden + none: Auf dem entsprechenden Slot steckt kein ASTERISK_FX_GROUP_x_PORTS Die Anzahl der RJ11-Buchsen welche zu dieser Portgruppe gehoeren. Waehlpraefixe ASTERISK_DIALPREFIX_SIP Siehe [4]ASTERISK_DIALPRFIX_xxx-Variablen. Beispiel: ASTERISK_DIALPREFIX_SIP='#*999' Standardeinstellung: ASTERISK_DIALPREFIX_SIP='' ASTERISK_DIALPREFIX_IAX Siehe [5]ASTERISK_DIALPRFIX_xxx-Variablen. Beispiel: ASTERISK_DIALPREFIX_IAX='#*888' Standardeinstellung: ASTERISK_DIALPREFIX_IAX='' ASTERISK_DIALPREFIX_CAPI Siehe [6]ASTERISK_DIALPRFIX_xxx-Variablen. Standardeinstellung: ASTERISK_DIALPREFIX_CAPI='000' ASTERISK_DIALPREFIX_INTERNAL Siehe [7]ASTERISK_DIALPRFIX_xxx-Variablen und [8]Interne Gespraeche. Standardeinstellung: ASTERISK_DIALPREFIX_INTERNAL='*' ASTERISK_DIALPREFIX_VBOX Siehe [9]ASTERISK_DIALPRFIX_xxx-Variablen und [10]Die Voicebox. Standardeinstellung: ASTERISK_DIALPREFIX_VBOX='#9' ASTERISK_DIALPREFIX_DISA Siehe [11]ASTERISK_DIALPRFIX_xxx-Variablen und [12]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 gehaengt. Dadurch kann man auf dem Display des Telefons erkennen, ob der Anruf ueber CAPI oder SIP ankommt. Der Vorteil ist, dass man bei verpassten Anrufen einfach die Nummer in der Anruferliste auswaehlen kann und der Dialprefix um ueber CAPI zurueckzurufen wird automatisch vorgewaehlt. Natuerlich kann es auch sein, dass der Anruf ueber CAPI eingetroffen ist, aber man gerne die Nummer aus der Anruferliste ueber SIP zurueckrufen moechte. Dann kann diese Variable auf ,,no``gesetzt werden. ASTERISK_DIALPREFIX_SHOW_SIP Siehe [13]ASTERISK_DIALPREFIX_SHOW_CAPI. Netzwerkeinstellungen ASTERISK_SIP_PORT Hier wird der Port angegeben, auf dem der Asterisk das SIP werkeln laesst. Dies ist der Port, den jeder SIP-Client benutzen muss, der sich mit dem Asterisk-Server verbinden will. Gueltige Werte: ein vom Server unbenutzter Port im Bereich '0-65535'. Standardeinstellung: ASTERISK_SIP_PORT='5060' ASTERISK_RTP_PORTS Hier werden die Ports angegeben, die noetig sind, um ueber SIP telefonieren zu koennen. Der komplette Portrange muss per Portforwarding zum Router weitergeleitet werden. Die Variable muss dem Format 'startport-endport' entsprechen. Standardeinstellung: ASTERISK_RTP_PORTS='10000-20000' ASTERISK_LOCALNETS_N Hier wird die Anzahl der Netzbereiche angegeben, die benutzt werden sollen. Gueltige Werte: Zahl Standardeinstellung: ASTERISK_LOCALNETS_N='1' ASTERISK_LOCALNETS_%_NAME Hier kann ein Name zur Orientierung eingetragen werden. Asterisk wertet diesen Parameter nicht aus. Gueltige Werte: Alles Standardeinstellung: ASTERISK_LOCALNETS_%_NAME='' ASTERISK_LOCALNETS_%_ACTIVE Ueber diesen Parameter wird eingestellt, ob der Datensatz aktiv sein soll. Gueltige Werte: yes, no Standardeinstellung: ASTERISK_LOCALNETS_%_ACTIVE='yes' ASTERISK_LOCALNETS_%_IP Hier wird angegeben, welche Netze fuer das NAT maskiert werden sollen. Gueltige Werte: Netzmaske Standardeinstellung: ASTERISK_LOCALNETS_%_IP='192.168.0.0/24' ASTERISK_LISTEN_ADDR Diese Variable wird nur fuer Cisco und Nortel IP phones benoetigt und beinhaltet die IP-Adresse des Eisfair. ASTERISK_EXTERNIP Bei manchen Anbietern ist es noetig, 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' Allgemeine Konfiguration der Voiceboxen ASTERISK_VMAIL_FROM_ADDR Alle aufgenommenen Voicenachrichten werden per Mail an die in [14]ASTERISK_PHONES_x_VBOX_MAIL angegebene Mailadresse des Users geschickt. Welche Absenderadresse diese Mails tragen sollen, wird hier angegeben. Standardeinstellung: ASTERISK_VMAIL_FROM_ADDR='asterisk-mailbox@fabian-wolter.de' ASTERISK_VMAIL_FROM_NAME Hier wird der Absendername angegeben, der im From-Field stehen soll. Standardeinstellung: ASTERISK_VMAIL_FROM_NAME='Asterisk Voicemailbox' ASTERISK_VBOX_MAX_MSG_LENGTH Damit ein Anrufer nicht die komplette Festplatte zuquatscht (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 gehaengt, in der der Anrufer dazu aufgefordert wird, eine Nachricht zu hinterlassen. Es ist sinnvoll dies auszustellen, wenn man seine eigene Ansage aufgenommen hat. SIP-Provider ASTERISK_SIP_QUALIFY Durch Setzen dieser Variable auf "yes" schickt Asterisk dem anderen Geraet regelmaessig Pings; wenn das Geraet nicht innerhalb der Standardzeit (1000ms) mit einem Pong antwortet, gilt es als nicht erreichbar. In der "debug console" (erreichbar ueber das Asteriskmenue) wird dadurch mit dem Kommando "sip show peers" der aktuelle Status angezeigt. Durch Setzen dieser Variable auf "no" ist obig beschriebene Funktion ausgeschaltet (Status: Unmonitored). Standardeinstellung: ASTERISK_SIP_QUALIFY='no' ASTERISK_SIP_x_NAME Hier wird der Name des SIP-Accounts angegeben. Er darf frei gewaehlt werden, muss aber einzigartig in der Konfiguration sein. Fuer t-online ist hier zwingend 't-online' eizutragen, da fuer t-online eine besondere Syntax eingehalten werden muss. 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. Speziell fuer t-online: Die Rufnummer mit Vorwahl, ohne Bindestriche etc, getrennt durch einen ':' Die Zugangnummer. Das ist das mit der ihr euch beim DSL anmeldet. Auf keinen Fall den Web-Usernamen mit dem ihr euch auf https://kundencenter.telekom.de/ anmeldet ! 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. Speziell fuer t-online: Das Persnliche Kennwort aus der DSL Anmeldung, nicht das Web-Kennwort ! Standardeinstellung: ASTERISK_SIP_x_PASSWORD='not2knew4u' ASTERISK_SIP_x_HOST Hier wird der Hostname des SIP-Server angegeben, an dem sich Asterisk authentifizieren soll. Speziell fuer t-online: tel.t-online.de Standardeinstellung: ASTERISK_SIP_x_HOST='sipgate.de' ASTERISK_SIP_x_CALLERID Hier wird die [15]Caller ID angegeben, welche mit jedem Anruf an die Gegenstelle uebermittelt wird und ggf. dort angezeigt wird. Speziell fuer t-online: Vorwahl_Rufnummer Standardeinstellung: ASTERISK_SIP_x_CALLERID='4951187654321' ASTERISK_SIP_x_FALLBACK Diese Variable wird benutzt, falls der SIP-Account einmalnicht erreichbar sein sollte. Dann wird auf die hier angebenen weiteren SIP-Accounts bzw. auf das Festnetz versucht rauszuwaehlen. Das Format entspricht folgendem Schema: sip:[String aus ASTERISK_SIP_x_NAME] capi:[MSN, welche fuer den ausgehenden Anruf benutzt werden soll] hfcs[Portgruppen-Nummer aus ASTERISK_HFCS_GROUP_n_*]:[MSN, welche fuer 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 verfuegbar (z.B. SIP-Proxy nicht erreichbar), wird versucht die Verbindung ueber 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 ueber ISDN (CAPI) zu erreichen. Ist die ISDN-Karte z.B. nicht angeschlossen, wird versucht ueber die HFC-S-Portgruppe 1 die Verbindung herzustellen. ASTERISK_SIP_x_REDIRECT_SCHEME Der Index ''n'' aus einem Weiterleitungs-Schema kann hier angegeben werden. Beispiel: Ist das gewuenschte Weiterleitungs-Schema 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 hinzugefuegt! 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 hinzugefuegt! ASTERISK_SIP_x_VBOX_NUMBER Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll. Die Nummer wird in ASTERISK_VBOX_n_NUMBER definiert. Hinweis Die Nummer der Voicebox wird standardmaessig 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 hinzugefuegt! ASTERISK_SIP_x_VBOX_ANSWER_AFTER Hier wird angegeben, nach wieviel Sekunden klingeln die Voicebox das Gespraech anehmen soll. Befindet sich der User bereits im Gespraech, nimmt die Voicebox das Gespraech sofort an. Standardeinstellung: ASTERISK_SIP_x_VBOX_ANSWER_AFTER='15' ACHTUNG Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefuegt! ASTERISK_SIP_x_REDIRECT Soll die Weiterleitung aktiviert werden? Moegliche Werte: yes, no ACHTUNG Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden! ASTERISK_SIP_x_HOST 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 wievielen Sekunden die Weiterleitung erfolgen soll. Wird vorher auf dem eigentlich angerufenen Telefon abgenommen, verfaellt die Zeit und es wird nicht weitergeleitet. Nachdem die Weiterleitung erfolgt ist, hoert das eigentlich angerufene Telefon auf zu klingeln und die Nummer in ASTERISK_REDIRECT_TO wird angewaehlt. 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 ueber diesen SIP-Account die Nummer in ASTERISK_REDIRECT_TO angewaehlt. Hinweis Die CallerID des Anrufers wird ebenfalls fuer 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 CallerID fuer 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 Gespraeche ueber die HFC-S-Karte weitergeleitet werden sollen, wird die hier angegebene Portgruppen-Nummer (ASTERISK_HFCS_GROUP_n_*) verwendet. Bleibt die Variable leer, wird die ISDN-Verbindung ueber CAPI (z.B. Fritz!Card) aufgebaut ACHTUNG Dieser Parameter ist mit der Version 1.1.0 des Asterisk-Paketes entfernt worden! ASTERISK_SIP_x_EXEC_ON_RING Wenn dieser SIP-Account angerufen wird, wird der hier angegebene Befehl ausgefuehrt. Moegliche 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='' IAX-Provider ASTERISK_IAX_QUALIFY Durch Setzen dieser Variable auf "yes" schickt Asterisk dem anderen Geraet regelmaessig Pings; wenn das Geraet nicht innerhalb der Standardzeit (2000ms) mit einem Pong antwortet, gilt es als nicht erreichbar. In der "debug console" (erreichbar ueber das Asteriskmenue) wird dadurch mit dem Kommando "iax2 show peers" der aktuelle Status angezeigt. Durch Setzen dieser Variable auf "no" ist obig beschriebene Funktion ausgeschaltet (Status: Unmonitored). Standardeinstellung: ASTERISK_IAX_QUALIFY='no' ASTERISK_IAX_x_NAME Hier wird der Name des IAX-Accounts angegeben. Er darf frei gewaehlt 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 [16]Caller ID angegeben, welche mit jedem Anruf an die Gegenstelle uebermittelt wird und ggf. dort angezeigt wird. Standardeinstellung: ASTERISK_IAX_x_CALLERID='4951187654321' ASTERISK_IAX_x_FALLBACK Diese Variable wird benutzt, falls der IAX-Account einmalnicht erreichbar sein sollte. Dann wird auf die hier angebenen weiteren IAX-Accounts bzw. auf das Festnetz versucht rauszuwaehlen. Das Format entspricht folgendem Schema: sip:[String aus ASTERISK_IAX_x_NAME] capi:[MSN, welche fuer den ausgehenden Anruf benutzt werden soll] hfcs[Portgruppen-Nummer aus ASTERISK_HFCS_GROUP_n_*]:[MSN, welche fuer 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 verfuegbar (z.B. IAX-Proxy nicht erreichbar), wird versucht die Verbindung ueber 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 ueber ISDN (CAPI) zu erreichen. Ist die ISDN-Karte z.B. nicht angeschlossen, wird versucht ueber die HFC-S-Portgruppe 1 die Verbindung herzustellen. ASTERISK_IAX_x_REDIRECT_SCHEME Der Index ''n'' aus einem Weiterleitungs-Schema kann hier angegeben werden. Beispiel: Ist das gewuenschte Weiterleitungs-Schema 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 hinzugefuegt! 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 hinzugefuegt! ASTERISK_IAX_x_VBOX_NUMBER Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll. Die Nummer wird in ASTERISK_VBOX_n_NUMBER definiert. Hinweis Die Nummer der Voicebox wird standardmaessig 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 hinzugefuegt! ASTERISK_IAX_x_VBOX_ANSWER_AFTER Hier wird angegeben, nach wieviel Sekunden klingeln die Voicebox das Gespraech anehmen soll. Befindet sich der User bereits im Gespraech, nimmt die Voicebox das Gespraech sofort an. Standardeinstellung: ASTERISK_IAX_x_VBOX_ANSWER_AFTER='15' ACHTUNG Dieser Parameter wurde in der Version 1.1.0 des Asterisk-Paketes hinzugefuegt! ASTERISK_IAX_x_EXEC_ON_RING Wenn dieser IAX-Account angerufen wird, wird der hier angegebene Befehl ausgefuehrt. Moegliche 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='' Interne Telefone ASTERISK_PHONES_x_TYPE Hier wird angegeben, von welchem Typ das Endgeraet ist. Zu Verfuegung stehen folgende Werte: + hfcs[1-9] - Geraet ist an eine HFCS-Karte angeschlossen. [1-9] ist die Portgruppe. + sip - Geraet ist ein SIP-Client. + skinny - Geraet ist ein Cisco IP phone. + sccp - Geraet ist ein Cisco IP phone mit Unterstuetzung durch chan-sccp-b. + unistim - Geraet ist ein Nortel IP phone. + disa - Geraet ist an eine TK-Anlage angeschlossen, an dessen internen S0-Bus der Asterisk haengt. Hinweis Ein Parallelbetrieb von skinny und sccp ist nicht moeglich. Für SCCP muss das Modul chan-sccp-b installiert sein. Bei Konfiguration eines sccp Telefons werden skinny Geraete ignoriert. Wenn chan-sccp-b nicht installiert ist, werden sccp Geraete ignoriert. Sind mehrere HFC-S-Portgruppen vorhanden (ASTERISK_HFCS_GROUP_N > 1), so muss dem Typ ('hfcs') der Index (n) aus ASTERISK_HFCS_GROUP_n_* angehaegt werden. Ist das Endgeraet 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_n_MAC_ADDR='0011AABBCCDDEEFF' ASTERISK_PHONES_x_MSN Hier wird die MSN eingetragen, auf die das entsprechende Endgeraet 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_PIN Hier wird die PIN eingetragen, die abgefragt wird, wenn man seine Voicebox von einem anderen Telefon als das Eigene abrufen moechte. Bei SIP-Telefonen ist diese PIN auch gleichzeitig der Benutzername, mit dem sich der SIP-Client beim Asterisk einloggt. Gueltige Zeichen sind alle, die ueber das Tastenfeld des entsprechenden Clients eingegeben werden koennen. Es sollten aber dennoch nur * und die Ziffern 0-9 verwendet werden, damit z.B. die Voicebox eines SIP-Telefons auch ueber ein normales Telefon abgerufen werden kann. Hinweis Das #-Zeichen darf hier nicht verwendet werden, da dies zur Bestaetigung der Eingabe der PIN, vor dem Abhoeren 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 [17]ASTERISK_SIP_x_NAME des entsprechenden SIP-Accounts hier eingetragen werden. Moeglich ist auch die Angabe mehrerer SIP-Accounts. Diese muessen dann mit Leerzeichen getrennt angegeben werden. Standardeinstellung: ASTERISK_PHONES_x_RING_ON_SIP='sipgate1 sipgate2' ASTERISK_PHONES_x_RING_ON_CAPI Wenn ein Anruf auf eine externe MSN eingeht, die hier eingetragen ist, klingelt dieses Telefon. Moeglich ist auch die Angabe mehrerer MSNs. Diese muessen dann mit Leerzeichen getrennt eingegeben werden. Hinweis Diese Variable ist nur gueltig, wenn [18]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 uebermitlung des Namens funktioniert nur intern oder ueber 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 ueber SIP getaetigt wird. Standardeinstellung: ASTERISK_PHONES_x_OUTGOING_SIP='sipgate1' ASTERISK_PHONES_x_OUTGOING_MSN Die hier angegebene MSN wird benutzt, wenn ein ausgehender Anruf von diesem Telefon ueber Festnetz getaetigt wird. Standardeinstellung: ASTERISK_PHONES_x_OUTGOING_MSN='11111' ASTERISK_PHONES_x_OUTGOING_HFCS_GROUP Hier wird der Index (n) aus ASTERISK_HFCS_GROUP_n_* angegeben. Diese Variable muss gesetzt sein, wenn nicht die Fritz!Card, sondern eine HFC-S-Karte, raustelefonieren benutzt werden soll. (Dafuer muss die HFC-S-Karte natuerlich mit dem externen S0-Bus der Telefongesellschaft verbunden sein und ASTERISK_HFCS_GROUP_n_PROVIDE_S0_BUS='no') Soll ueber die Fritz!Card rausgewaehlt werden, so muss diese Variable leer bleiben. ASTERISK_PHONES_x_EXEC_ON_RING Siehe auch [19]xxx_EXEC_ON_RING-Variablen Standardeinstellung: ASTERISK_PHONES_x_EXEC_ON_RING='' ASTERISK_PHONES_x_VBOX Wenn eine Voicebox fuer 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 Gespraeche, welche von einem anderen internen Telefon aus eingehen. Soll eine Voicebox eine ISDN-Rufnummer beantworten, so muss diese in ASTERISK_MSN_n_VBOX eingeschaltet werden. Selbiges gilt fuer einen SIP-Account fuer ASTERISK_SIP_n_VBOX und fuer IAX ebenso. Wenn eine Weiterleitung ueber den Variablen-Block ASTERISK_REDIRECT_* realisiert wird, kann die hier konfigurierte Voicebox auch externe Gespraeche z.B. ueber 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 koennen aber weiterhin per Anwahl der Voicebox abgehoert werden. Um dieses Feature nutzen zu koennen muss das Eisfair Mail-Paket installiert und funktionsfaehig sein. Standardeinstellung: ASTERISK_PHONES_x_VBOX_MAIL='vbox10@fabian-wolter.de' ASTERISK_PHONES_x_VBOX_ANSWER_AFTER Hier wird angegeben, nach wieviel Sekunden klingeln die Voicebox das Gespraech anehmen soll. Befindet sich der User bereits im Gespraech, nimmt die Voicebox das Gespraech sofort an. Standardeinstellung: ASTERISK_PHONES_x_VBOX_ANSWER_AFTER='15' Erweiterte Einstellungen fuer 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 veraendert. ASTERISK_MSN_x_NUMBER Wird diese externe MSN angerufen, wird der Befehl in ASTERISK_MSN_x_EXEC_ON_RING ausgefuehrt. Siehe auch xxx_EXEC_ON_RING-Variablen Hinweis Diese Variable ist nur gueltig, wenn ASTERISK_LOAD_CAPI auf 'yes' gesetzt ist. Standardeinstellung: ASTERISK_MSN_x_NUMBER='12345678' ASTERISK_MSN_x_EXEC_ON_RING Siehe [20]ASTERISK_MSN_x_NUMBER. Standardeinstellung: ASTERISK_MSN_x_EXEC_ON_RING='' ASTERISK_MSN_x_REDIRECT_TO Hier wird angegeben, zu welcher Nummer die Anrufweiterleitung erfolgen soll. Es muss hier zunaechst der Dialprefix z.B. fuer 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 wievielen Sekunden die Weiterleitung erfolgen soll. Wird vorher auf dem eigentlich angerufenen Telefon abgenommen verfaellt die Zeit und es wird nicht weitergeleitet. Nachdem die Weiterleitung erfolgt ist, hoert das eiegentlich angerufene Telefon auf zu klingeln und die Nummer in ASTERISK_REDIRECT_TO wird angewaehlt. 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 ueber diesen CAPI_EXTRA-Account die Nummer in ASTERISK_REDIRECT_TO angewaehlt. Hinweis Die CallerID des Anrufers wird ebenfalls fuer 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 CallerID fuer 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 Gespraeche ueber die HFC-S-Karte weitergeleitet werden sollen, wird die hier angegebene Portgruppen-Nummer (ASTERISK_HFCS_GROUP_n_*) verwendet. Bleibt die Variable leer, wird die ISDN-Verbindung ueber 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 eingefuehrt ASTERISK_VBOX_N ASTERISK_VBOX_x_ACTIVE ASTERISK_VBOX_n_NUMBER Hier wird die Nummer der Voicebox angegeben, welche den Anruf entgegen nehmen soll. Die Nummer wird in ASTERISK_VBOX_n_NUMBER definiert. Hinweis Die Nummer der Voicebox wird standardmaessig dem Anrufer angesagt. Es ist also sinnvoll als Nummer der Voicebox z.B. die Telefonnummer ohne Vorwahl anzugeben. ASTERISK_VBOX_n_PIN Hier wird die PIN eingetragen, die abgefragt wird, wenn man seine Voicebox per Telefon abrufen moechte. Gueltige Zeichen sind alle, die ueber das Tastenfeld des entsprechenden Clients eingegeben werden koennen. Es sollten aber dennoch nur * und die Ziffern 0-9 verwendet werden, damit z.B. die Voicebox eines SIP-Telefons auch ueber ein normales Telefon abgerufen werden kann. Hinweis Das #-Zeichen darf hier nicht verwendet werden, da dies zur Bestaetigung der Eingabe der PIN, vor dem Abhoeren der Voicebox benutzt wird. ASTERISK_VBOX_n_OWNER_NAME Der Name der Voicebox bzw. der Name des Besitzers wird hier angegeben. ASTERISK_VBOX_n_MAIL Neue Voicenachrichten, werden automatisch an die hier angegebene Mail-Adresse geschickt. Mehrere Mail-Adressen koennen durch Komma getrennt eingegeben werden. ASTERISK_VBOX_x_NOTIFY_N ASTERISK_VBOX_x_NOTIFY_x_ACTIVE ASTERISK_VBOX_n_NOTIFY_n_PHONE Hier wird die interne MSN (ASTERISK_PHONES_n_MSN) eines Telefons angegeben, welches mitgeteilt werden soll, dass neue Voicenachrichten vorhanden sind. Dies geschieht entweder ueber die Funktion Message Waiting Indicator (MWI) (oft bei SIP-Clients) oder durch ein stotterndes Freizeichen, beim Abheben des Hoerers. Konfiguration der Weiterleitungsschemata Hinweis Dieser Variablen-Block wurde in der Version 1.1.0 des Asterisk-Paketes eingefuehrt ASTERISK_REDIRECT_n_SCHEME_n_EXECUTE_AFTER Hier wird die Zeit in Sekunden angegeben, wann zum naechsten Weiterleitungs-Schritt gesprungen werden soll, wenn keines der Telefone im aktuellen Schritt abgenommen wurde. ASTERISK_REDIRECT_n_SCHEME_n_EXECUTE_BETWEEN_n_TIME Dieser Weiterleitungs-Schritt wird nur durchlaufen, wenn die aktuelle Uhrzeit zwischen den hier angegebenen Zeiten liegt. ASTERISK_REDIRECT_n_SCHEME_n_TARGET_n_TYPE Hier wird der Typ des Weiterleitungsziels angegeben. Moegliche Werte sind + hfcs[1-9] - Anrufer soll an eine MSN weitergeleitet werden, welche ueber eine HFC-S Karte erreichbar ist. ueblicherweise ist dies der Fall, wenn eine HFC-S Karte mit dem Telefonanschluss verbunden ist. ([1-9] ist die Portgruppe) + capi - Der Anrufer soll an eine Nummer weitergeleitet werden, welche ueber eine Fritz!Card erreichbar ist. + internal - Anrufer soll an ein internes Telefon weitergeleitet werden + sip - Anrufer soll an externe SIP-Adresse weitergeleitet werden + disa - Anrufer soll an ein Telefon weitergeleitet werden, welches z.B. an einer TK-Anlage an einer ISDN-Karte haengt + vbox - Anrufer soll auf eine Voicebox weitergeleitet werden ASTERISK_REDIRECT_n_SCHEME_n_TARGET_n_ADDR Hier muss die Adresse des Weiterleitungs-Ziels 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_n_VBOX_*, ASTERISK_MSN_n_SIP_*, ASTERISK_IAX_n_VBOX_* oder ASTERISK_VBOX_n_* konfiguriert wurde, als auch auf eine interne Voicebox (konfiguriert in ASTERISK_PHONES_n_VBOX_*) weitergeleitet werden. ASTERISK_REDIRECT_n_SCHEME_n_TARGET_n_FROM Diese Variable braucht nur konfiguriert zu werden, wenn der Anrufer ueber einen SIP- oder IAX-Provider weitergleitet werden soll. In diesem Fall muss hier der Inhalt aus ASTERISK_SIP_n_NAME bzw. ASTERISK_IAX_n_NAME angegeben werden. Least-Cost-Routings ASTERISK_LCR Wenn bei ausgehenden ISDN-Verbindungen immer der billigste Call-By-Call Anbieter gewaehlt werden soll, muss diese Variable auf 'yes' gesetzt werden. Naeheres dazu im Abschnitt [21]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 eingefuehrt ACHTUNG Das Menue befindet sich in einem sehr experimentellen Status. ASTERISK_IVR_n_NUMBER Hier wird die interne(!) MSN angegeben, ueber welche das Menue erreichbar sein soll. Zur Zeit kann das Menue von Extern nur ueber ein Weiterleitungsschema oder Callthrough erreicht werden. ASTERISK_IVR_n_INSTRUCTIONS Die hier angegebene Datei wird dem Anrufer zu beginn vorgespielt. Sie muss im GSM-Format unterhalb des Verzeichnises /var/lib/asterisk/sounds liegen. Dateien koennen z.B. mit dem Programm ''sox'' in GSM-Dateien konvertiert werden. ASTERISK_IVR_n_ENTRY_n_NUMBER Hier wird die Taste (bzw. Nummer) angegeben, welche der Anrufer betaetigen muss, um in diesen Unterpunkt zu gelangen. ASTERISK_IVR_n_ENTRY_n_TYPE Hier wird angegeben, welche Aktion ausgefuehrt werden soll, wenn der Anrufer in diesem Unterpunkt geleitet wird. Moegliche Werte sind: + exec - fuehrt einen Befehl aus + dial - waehlt eine Nummer (Die Nummer muss mit Dialprefix angegeben werden!) + vbox - leitet den Anrufer auf eine Voicebox weiter ASTERISK_IVR_n_ENTRY_n_VALUE In dieser Variable wird entweder der Befehl zum Ausfuehren (ASTERISK_IVR_n_ENTRY_x_TYPE='exec'), die Telefonnummer mit Dialprefix (ASTERISK_IVR_n_ENTRY_x_TYPE='dial') oder die Nummer der Voicebox (ASTERISK_VBOX_n_NUMBER) (ASTERISK_IVR_n_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. Moegliche 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_N ASTERISK_CALLTHROUGH_x_ACTIVE ASTERISK_CALLTHROUGH_x_MSN Auf dieser MSN lauscht Asterisk nach eingehenden Anrufen, die per Callthrough weiterverbunden werden. ASTERISK_CALLTHROUGH_x_OUTGOING_SIP Hier wird der Name des SIP-Accounts angegeben, ueber den ein Anrufer wieder rauswaehlen kann. ASTERISK_CALLTHROUGH_x_OUTGOING_MSN Hier wird die externe MSN angegeben, die als CallerID benutzt wird, wenn der Anrufer wieder rauswaehlt. ASTERISK_CALLTHROUGH_x_OUTGOING_HFCS_GROUP Diese Variable ist nur von Bedeutung, wenn als Dialprefix der von CAPI gewaehlt wurde. Falls die Gespraeche ueber die HFC-S-Karte weitergeleitet werden sollen, wird die hier angegebene Portgruppen-Nummer (ASTERISK_HFCS_GROUP_n_*) verwendet. Bleibt die Variable leer, wird die ISDN-Verbindung ueber CAPI (z.B. Fritz!Card) aufgebaut ASTERISK_CALLTHROUGH_x_ALLOW_SIP Wenn der Anrufer sich ueber SIP weiterverbinden darf, muss diese Variable auf 'yes' gesetzt werden. Es ist zu beachten, dass der Dialprefix aus [22]ASTERISK_DIALPREFIX_SIP vor die eigentliche Nummer zu waehlen ist. ASTERISK_CALLTHROUGH_x_ALLOW_CAPI Wenn der Anrufer sich ueber CAPI weiterverbinden darf, muss diese Variable auf 'yes' gesetzt werden. Es ist zu beachten, dass der Dialprefix aus [23]ASTERISK_DIALPREFIX_CAPI vor die eigentliche Nummer zu waehlen ist. ASTERISK_CALLTHROUGH_x_ALLOW_N ASTERISK_CALLTHROUGH_x_ALLOW_x_ACTIVE ASTERISK_CALLTHROUGH_x_ALLOW_x_CALLERID Die hier angegebene [24]Caller ID bekommt Zugang zum Callthrough-System von Asterisk. ASTERISK_CALLTHROUGH_x_ALLOW_x_PIN Optional kann eine PIN angegeben werden, welche ueber 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 waehlen. ASTERISK_CALLTHROUGH_x_ANONYMOUS_ACCESS Es ist moeglich, dass auch Anrufer Zugang zum Callthrough-System bekommen, die nicht in [25]ASTERISK_CALLTHROUGH_x_ALLOW_x_CALLERID gelistet sind. In diesem Fall muss hier 'yes' angegeben werden. ASTERISK_CALLTHROUGH_x_ANONYMOUS_PIN Anrufer, dessen [26]Caller ID nicht in [27]ASTERISK_CALLTHROUGH_x_ALLOW_x_CALLERID gelistet ist, koennen 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 Sicherheitsgruenden nicht leer sein. Vorausgesetzt, der anonyme Zugriff ist erlaubt. Hinweis Die Eingabe der PIN muss mit # bestaetigt 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 einbuchen kann, ohne eine PIN eingeben zu muessen, was fatale Folgen haben kann: Z.B. Anwahl von teueren Service-Rufnummern o.ae. 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 ueberdenken und testen! ASTERISK_DIALPREFIX_xxx-Variablen Das eisfair Asterisk-Paket bietet die Moeglichkeit ausgehende Anrufe entweder ueber Voice over IP (SIP) oder ueber das Festnetz zu fuehren (z.B. falls der Internetzugang gerade nicht funktioniert). Um dies Asterisk ueber das Telefon mitzuteilen ist es noetig, dass vor die Rufnummer ein Prefix gewaehlt wird. Anhand dieses Prefixes bestimmt Asterisk, ob die Nummer ueber das Festnetz oder ueber SIP angewaehlt werden soll. Ein Beispiel: Wenn ASTERISK_DIALPREFIX_CAPI='#000' und Apu Nahasapeemapetilon in Indien ueber VoIP angerufen werden soll, dessen eigentliche Telefonnummer 0091 1234 8765 ist, dann muss auf dem Telefon #000 0091 1234 8765 gewaehlt werden. Natuerlich ist es auch moeglich 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 Gespraech ueber Festnetz oder SIP hergestellt werden soll. Ebenso duerfen zwei ASTERISK_DIALPREFIX_xxx-Variablen nicht die gleichen Werte haben. Moegliche Werte: 0-9, *, #, A-D Manche Telefone bieten zusaetzlich 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 auszufuehren, 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 anfaengt, wenn der Befehl vollstaendig abgearbeitet wurde. Sind Befehle mit laengerer Laufzeit unumgaenglich, kann man hier ein & hinter den Befehl setzen. Dies hat zur Folge, dass der Befehl im Hintergrund abgearbeitet wird und das entsprechende Telefon sofort anfaengt zu klingeln. Anrufe protokollieren Wenn man eingehende Anrufe protokollieren moechte, kann man dies z.B. ueber die Variablen [28]ASTERISK_SIP_x_EXEC_ON_RING, [29]ASTERISK_PHONES_x_EXEC_ON_RING und [30]ASTERISK_CAPI_EXEC_x_CMD tun. Eine EXEC-Variable koennte dann folgendermassen 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. Signalisierung von Anrufen im Netzwerk Ein weiteres Anwendungsbeispiel waere die Signalisierung von Anrufen im Netzwerk. Dies koennte aehnlich wie der Telmond funktionieren nur dass der Imonc hier nicht der Client waere, sondern ein Server. (Darum kann man den Imonc fuer so eine Anwendung nicht benutzen.) Hier muesste ein Extra-Programm geschrieben werden, welches auf dem Client-Rechner im Netzwerk laeuft, auf einem Port horcht und ggf. ein Popup-Fenster mit der Nummer des Anrufers aufpoppen laesst. In diesem Fall koennte der EXEC-Befehl folgendermassen aussehen: ASTERISK_PHONES_x_EXEC='echo "call from '${CALLERID}' to '${EXTEN}'" | netcat ' (Alles in eine Zeile) Moechte man mehrere Rechner im Netzwerk erreichen, kann man dies ueber mehrere netcat-echo-Kombinationen hintereinander, getrennt durch ein Semikolon erreichen. Diese Loesung waere aber nicht ideal. Besser waere es, wenn man ein kleines Serverprogramm auf dem Eisfair laufen laesst. Dieses nimmt alle netcat-Befehle von Asterisk entgegen, und anhand einer Dateiliste oder einer Datenbank werden bestimmte Rechner im Netzwerk kontaktiert. Wenn diese dann das Client-Programm gestartet haben, poppt ein Fenster auf. Vielleicht findet sich ja jemand, der so eine Applikation fuer Windows schreiben kann. Bitte melden! Liste aller Asterisk internen Variablen Folgende Asterisk-Variablen koennen 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: [31]http://www.voip-info.org/wiki-Asterisk+variables Die HFC-S-ISDN-Karte Um einen internen S[0]-Bus bereitstellen zu koennen, 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 fuer 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 unterstuetzt werden findet man unter [32]http://isdn.jolly.de/cards.html. Die Firma junghanns.net GmbH bietet als einzige Firma HFC-S-Karten fuer Asterisk mit mehr als einem Port an. Vom Asterisk-Paket fuer eisfair werden folgende Junghanns Karten unterstuetzt: * quadBRI PCI ISDN * singleE1 PCI ISDN * doubleE1 PCI ISDN Aus Eisfairkonfigurationsschichttechnischen Gruenden wird die octoBRI nicht unterstuetzt. (Ich denke, wer so eine Karte benoetigt, sollte im Stande sein diese per Hand konfigurieren zu koennen) Preislich befinden sich die Karten von Junghanns.net im mittleren dreistelligen bis vierstelligen Euro-Bereich. 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 Endgeraete sind optional. Aber natuerlich waere es sinnvoll mindestens eines zu haben ;-) Interne Gespraeche Moechte man ein Telefon anrufen, welches an die HFC-S-ISDN-Karte von Asterisk angeschlossen oder ein SIP-Client ist, muss der Wert in [33]ASTERISK_DIALPREFIX_INTERNAL plus die interne MSN des entsprechenden Telefons gewaehlt werden. Ein Beispiel: Wenn ASTERISK_DIALPREFIX_INTERNAL='*' und das Telefon mit der internen MSN 11 angerufen werden soll, muss als Telefonnummer *11 gewaehlt werden. Die Voicebox Jedes Telefon besitzt eine eigene Voicebox, wenn ASTERISK_PHONES_x_VBOX='yes'. Bei Bedarf koennen die empfangenen Nachrichten auch per Mail weitergeleitet werden. (Siehe dazu [34]ASTERISK_PHONES_x_VBOX_MAIL) Voicebox abhoeren Um die Voicebox abzuhoeren, muss der Prefix in [35]ASTERISK_DIALPREFIX_VBOX definiert plus die interne MSN des entsprechenden Telefons gewaehlt werden. Ein Beispiel: Wenn man die Voicebox des Telefons mit der internen MSN 11 abhoeren moechte und ASTERISK_DIALPREFIX_VBOX='#9', muss die Telefonnummer #911 gewaehlt werden. Ist die CallerID von dem Telefon, von dem die Voicebox angerufen wird, nicht gleich der MSN der angerufenen Voicebox, so wird man aufgefordert, die in [36]ASTERISK_PHONES_x_PIN angegebene PIN einzugeben. Um die Eingabe zu bestaetigen, muss die #-Taste gedrueckt werden. Die Voicebox kann ueber das [37]Callthrough-System auch von ausserhalb abgefragt werden. Das Menue * 1 Nachrichten abrufen + 3 Erweiterte Optionen o 1 Antwort aufnehmen o 3 Weitere Informationen o * Zurueck + 4 Vorherige Nachricht abspielen + 5 Aktuelle Nachricht wiederholen + 6 Naechste Nachricht abspielen + 7 Aktuelle Nachricht loeschen + 8 Nachricht zu einer anderen Voicebox weiterleiten + 9 Nachricht in einen anderen Ordner speichern + * Hilfe + # Beenden * 2 Ordner Wechseln * 0 Voicebox Optionen + 1 Eigene Abwesenheits-Nachricht aufnehmen + 2 Eigene ,,gerade beschaeftigt`` Nachricht aufnehmen + 3 Eigenen Namen aufnehmen + 4 Passwort aendern + * Zurueck zum Hauptmenue * * Hilfe * # Beenden * Nachdem man eine seiner eigenen Nachrichten aufgenommen hat + 1 - Akzeptieren + 2 - Nochmal anhoeren + 3 - Nochmal aufnehmen + 0 - Reach operator (not available when recording greetings/name) * Wenn eine Nachricht abgespielt wird + * Vorspulen + # Zurueckspulen Quelle: http://www.voip-info.org/tiki-index.php?page=Asterisk%20cmd%20VoiceMai lMain Asterisk ohne HFC-S-ISDN-Karte Es ist moeglich Asterisk hinter einer TK-Anlage mit internem S[0]-Bus zu betreiben. In diesem Szenario benoetigt man keine HFC-S-ISDN-Karte sondern lediglich eine normale ISDN-Karte, die vom Eisfair CAPI-Paket unterstuetzt wird. Hinweis Diese Variante hat einen grossen Nachteil: Blockwahl funktioniert nicht mehr. Dies braucht man z.B. bei Kurzwahl oder wenn man eine Nummer aus der Anruferliste direkt zurueckrufen moechte. Deshalb muss man nach dem Anrufen des Asterisk den Hoerer abheben und kann dann die eigentliche Nummer waehlen. Konfiguration Um diese Feature nutzen zu koennen muessen 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 S[0]-Bus fuer Asterisk vergeben wurde. Asterisk wird dann auf dieser MSN fuer 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 Endgeraetes angegeben werden, welches fuer DISA benutzt werden soll. Einige TK-Anlagen senden noch einen Prefix vor der CallerID 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 fuer interne Gepraeche *, muss als MSN '*20' angegeben werden. ASTERISK_PHONES_1_RING_ON_CAPI Diese Variable muss leer sein. Denn wenn man ueber das Festnetz angerufen wird, managet das die TK-Anlage. Ablauf beim Waehlen Um dann ueber VoIP ein Gespraech zu fuehren, muss zuerst Asterisk angerufen werden. - Dies geschieht in diesem Fall mit Eingabe der 0 auf dem Telefon. Danach waehlt man einen der Dialprefixe (ASTERISK_DIALPREFIX_SIP oder ASTERISK_DIALPREFIX_CAPI), je nach dem auf welchen Weg man raustelefonieren moechte. Und anschliessend die normale Telefonnummer. (Nach Eingabe der 0 muss der Hoerer abgehoben werden, damit die Ziffern in DTMF-Toenen und nicht ueber den D-Kanal uebertragen werden.) Beispiel: Wenn die ISDN-Karte im Eisfair die MSN 0 hat (ASTERISK_DIALPREFIX_DISA='0'), der Dialprefix fuer SIP *77 ist (ASTERISK_DIALPREFIX_SIP='*77') und man Apu Nahasapeemapetilon in Indien ueber VoIP anrufen moechte, dessen eigentliche Telefonnummer 0091 1234 8765 ist, dann muss auf dem Telefon folgende Nummer gewaehlt werden: 0 [abheben] *77 0091 1234 8765 Callthrough Callthrough wird z.B. bei sogenannten Callingcards verwendet. ueblicherweise ruft man eine kostenfreie Rufnummer an, man gibt seine PIN ein und kann anschliessend die eigentlich Nummer waehlen, mit der man verbunden werden moechte. Dieses Feature unterstuetzt Asterisk ebenfalls. Nuetzlich 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 ueber ISDN mit der eigentlichen Nummer verbinden. Ein weiteres Beispiel ist, wenn man von extern seine Voicebox abrufen moechte. Ist z.B. folgende Konfiguration gegeben und man Apu Nahasapeemapetilon in Indien ueber VoIP anrufen moechte, 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 gewaehlt werden: 123456 [abheben] 1111# 000 0091 1234 8765 Die PIN muss mit # bestaetigt werden. Siehe dazu auch die Beschreibung der [38]ASTERISK_CALLTHROUGH_* Variablen. LCR - Least Cost Routing Asterisk unterstuetzt das sogenannte Least Cost Routing. Das bedeutet, dass bei ausgenden Gespraechen ueber ISDN automatisch die guenstigste Call-By-Call Vorwahl vor die Nummer gewaehlt wird. Sollte ein Call-By-Call Anbieter ueberlastet sein, so wird automatisch der naechst teurere ausgewaehlt. 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 auswaehlen soll. Auf der folgenden Seite kann diese Konfiguration erstellt werden: [39]http://www.telefonsparbuch.de/tmpl/calc/telephone/lcr/Asterisk/cal c_tk.htm?TKANLAGE_BASE=Asterisk Nachdem die gewuenschten 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 naechsten Update der Routing-Tabelle (definiert in ASTERISK_LCR_CRON) sollte die eben gespeicherte Konfiguration fuer den naechsten Anruf verwendet werden. Moechte man nicht so lange warten, kann ein Update der Routing-Tabelle auch manuell mit folgendem Befehl auf der Eisfair-Konsole angestossen werden: /var/install/bin/asterisk-update-lcr Die Einsparungen die mit LCR gemacht werden koennen, sind immens. Meist 25% ins Mobilfunknetz und bis zu 80% ins Festnetz. Es waere daher sehr loeblich, wenn ein Teil der Einsparungen als Spende in die Entwicklung des Asterisk Pakets zurueckfliessen wuerde. So kann gesichert werden, dass der Umfang der unterstuetzten Hardware stetig steigt. Spendeninformationen unter [40]http://www.nettworks-ev.org/wie.htm Asterisk hinter einem Router Um Asterisk hinter einem Router betreiben zu koennen, muessen 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. moeglich eingehende Anrufe zu Clients zu signalisieren, die diese anhand einer Datenbank einem Namen zuordnen koennen oder ein Fenster aufpoppen lassen, um Notzien zum Gespraech einzutippen. Es ist ebenfalls moeglich, mit der entsprechenden Client-Software einen Namen aus einer Datenbank auszuwaehlen, welchen Sie anrufen moechten. Nun wird die Nummer des Teilnehmers ermittelt und zum Asterisk uebermittelt. Nun besteht die Moeglichkeit, dass Asterisk ein Telefon anruft. Sobald man abnimmt, wird man mit dem vorher ausgewaehlten Teilnehmer verbunden, ohne dass die Nummer auf dem Telefon gewaehlt werden musste. Einrichtung der Treiber unter Windows Zunaechst laedt man die Windowstreiber von [41]http://sourceforge.net/projects/asttapi/ herunter und installiert diese. Asttapi kann man nun in folgendem Menue konfigurieren: Systemsteuerung $ \Rightarrow$ Telefon- und Modemoptionen $ \Rightarrow$ Erweiterte Optionen $ \Rightarrow$ Omniis TAPI-Driver for Asterisk $ \Rightarrow$ 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 Benutzname] 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 angewaehlt wird. Konfiguration der Windows Waehlhilfe Text bitte an fabian@eisfair.org. Testrufnummer Um die Betriebsbereitschafft von Asterisk zu ueberpruefen, stehen folgende Testrufnummern zur Verfuegung: Nummer Beschreibung #100 Spielt eine MP3 ab #101 Gibt einen 1kHz Piepton aus #102 Nennt die Caller ID des Anrufers #103 Fuehrt einen Echotest durch #104 Zeitansage Hinweise zu SIP-Providern Alle nachfolgenden SIP-Anbieter werden von dem Eisfair-Asterisk-Paket unterstuetzt. Dies muss aber nicht heissen, 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 Benutzname 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 fuehrenden 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 Die entsprechenden Daten bitte an fabian@eisfair.org senden. 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 Benutzname 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``(Gross- und Kleinschreibung beachten) enthalten, da T-Online eine Sonderbehandlung beim Schreiben der internen Asterisk-Konfiguration benoetigt. 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 Gespraech 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, waehrend man ueber ein ISDN-Telefon an der HFC-S-Karte telefoniert. - Ein weiteres Symptom sind regelmaessige Aussetzer im Freizeichen, wenn man den Hoerer abnimmt. Die HFC-S-Karte benoetigt 8000 Interrupts/Sek., da der S0-Bus der vom Asterisk bereitgestellt und somit auch syncronisiert wird mit 8kHz laufen muss. Fuer einen PC ist dies relativ viel, aber wenn man Asterisk nicht auf dem billigsten Mainboard laufen lassen moechte durchaus realisierbar. Wenn es dennoch zu o.g. Logeintraege, Knacksern im Gespraech oder Aussetzern im Amtston (Freizeichen) kommt, helfen diese Tipps evt. die Probleme zu beseitigen. Wieviele 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 [42]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, wieviele Interrupts erfolgreich waren. Beenden kann man den Test durch die Tastenkombination Strg-C. Eine Beispielausgabe sieht folgendermassen 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.000 000% 99.987793% 100.000000% 100.000000% 100.000000% 100.000000% 99.987793% 100.00000 0% 100.000000% 100.000000% 100.000000% 100.000000% 99.987793% 100.000000% 100.0000 00% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000 000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 100.000000% 99.9877 93% --- Results after 47 passes --- Best: 100.000000 -- Worst: 99.987793 Bei Werten ueber 99,98% sollten keine Aussetzer oder Knackser zu hoeren 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 Geraet im Rechner teilen. Eine uebersicht aller IRQs bekommt man auf der Konsole, indem folgender Befehl eingegeben wird: cat /proc/interrupts Eine Beispielausgabe koennte folgendermassen 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 aendern, kann als erster Schritt versucht werden die HFC-S-Karte in einen anderen PCI-Slot zu stecken. aendert sich dadurch der IRQ nicht, muss im BIOS der IRQ fuer den entsprechenden PCI-Slot manuell vergeben werden. Interrupt-Verbrauch des Festplatten-Controllers drosseln In vielen Faellen 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 Perfomance der Festplatten negativ beeinflusst: hdparm -u1 /dev/hdx Wie hoch dieser Performanceunterschied 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 fuer die entsprechende Festplatte. IRQ der HFC-S-Karte auf einen hoeher priorisierten IRQ legen Tritt das Problem weiterhin auf, kann versucht werden den IRQ der HFC-S-Karte auf einen hoeher 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 Verfuegung 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 hoechste und 7 die niedrigste Prioritaet besitzt. Die IRQs 0, 1, 2 und 8 koennen nicht geaendert werden. Es ist also empfehlenswert den IRQ der HFC-S-Kart auf 9 zu legen. APIC Mainboards Ist man im Besitz eines Mainboards, welches APIC unterstuetzt (die meisten modernen Boards koennen dies), hat man pro APIC-Controller 24 IRQs. Welcher IRQ die hoechste Prioritaet hat, kann durch Eingabe von dmesg auf der Konsole herausgefunden werden. (Hierzu muss das Paket ''dmesg'' installiert sein. Zu finden ueber Pack-Eis) Es sollte eine Tabelle aehnlich 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 Prioritaet des IRQs, welche ebenfalls in hexadezimaler Schreibweise angegeben ist. Je hoeher die Prioritaet ist, desto besser fuer die HFC-S-Karte. In diesem Beispiel waere der IRQ 23 (hex = 17) mit der Prioritaet 185 (hex = B9) also die erste Wahl. Quelle fuer dieses Kapitel: [43]http://www.asteriskguru.com/tutorials/pci_irq_apic_tdm_ticks_te410 p_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 ersteinmal nicht von extern (also von ausserhalb) des Asterisk angerufen werden, da diese MSN dort nicht gueltig ist. Damit das Telefon aber trotzdem klingelt, wenn jemand auf einer externen MSN (s.u.) anruft, kann in [44]ASTERISK_PHONES_x_RING_ON_CAPI eine oder mehrere externe MSNs angegeben werden. Asterisk nimmt das Gespraech 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 Telefonnumer aus Hannover (Vorwahl 0511) 0511 12345678 ist z.B. die externe MSN 12345678. Hinweis MSNs werden grundsaetzlich 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. _________________________________________________________________ Fabian Wolter 2005-12-24