Achtung: Dies ist ein Beta Test!
Asterisk Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de. |
Die folgenden Parameter können nur im [general]
-Teil definiert werden, sind also gültig für alle Channels. Sie können hier außerdem auch einige der in Abschnitt 4.4, „Channel-Einstellungen“ beschriebenen Einstellungen verwenden.
bandwidth = [low|medium|high]
Dient als Gruppierung verschiedener Soundcodecs. Auf diese Weise kann man einfacher bestimmte Situationen definieren. Das ist eine komfortable Alternative zu allow
und disallow
(Abschnitt 4.3.2, „allow
“).
high
medium
low
Beispiel:
bandwidth = low disallow = lpc10 ; hat schlechte Qualität
allow = [all|Name des Codecs]
Bestimmte Soundcodecs können gezielt erlaubt (allow
) oder verboten (disallow
) werden. Default ist allow=all
. Die möglichen Codecs sind: g723.1
, gsm
, ulaw
, alaw
, g726
, slinear
, plc10
, adpcm
, g729
, speex
, ilbc
, h261
, h263
und der Platzhalter all
. Siehe auch bandwidth
(Abschnitt 4.3.1, „bandwidth
“) für eine komfortable Einstellung. allow
und disallow
können mehrmals verwendet werden und sind damit eine Ausnahme.
Beispiel:
disallow = all allow = ulaw allow = gsm
codecpriority = [caller|host|disabled|reqonly]
Definiert, welcher Teilnehmer einer eingehenden Verbindung die höhere Priorität bei der Verhandlung des Soundcodecs hat. Default: host
caller
host
disabled
reqonly
Beispiel:
codecpriority = caller
authdebug = [yes|no]
Standardmäßig ist ein minimales Debugging bei der Autorisierung von IAX-Verbindungen eingestellt. Dies kann mit authdebug=no
deaktiviert werden.
Beispiel:
authdebug = no
autokill = [yes|Timeout in Millisekunden]
Falls autokill
nicht gesetzt ist, versucht Asterisk einen nicht erreichbaren Host sehr lange zu erreichen. Dies kann bei vielen gleichzeitigen Versuchen (auf mehreren Channels) zu Performanceproblemen führen. Mit autokill=yes
wird die Verbindung nach 2000 Millisekunden abgebrochen. Alternativ kann man auch die Anzahl der Millisekunden angeben.
Beispiel:
autokill = 3500
amaflags = [default|omit|billing|documentation]
AMA ist die Abkürzung für „Automatic Message Accounting“ und spezifiziert u.a. Standardmechanismen zur Erzeugung und Übermittlung von Anrufprotokollen (Call Data Records / Call Detail Records / CDRs, im Dt. auch Kommunikationsdatensatz / KDS).
Mit omit
werden keine Aufzeichnungen gemacht.
Beispiel:
amaflags = billing
bindaddr = [IP-Adresse]
Definiert die IP-Adresse, auf der Verbindungsanfragen beantwortet werden. Default: 0.0.0.0
für alle Adressen.
Beispiel:
bindaddr = 0.0.0.0
bindport = [Port-Nummer]
Definiert den Netzwerkport, auf dem Verbindungsanfragen beantwortet werden. Der Default-Port für IAX (IAX2!) ist 4569 (IAX Version 1: 5036).
Diese Einstellung muss immer vor dem bindaddr
-Eintrag erfolgen!
Beispiel:
bindport = 4569
delayreject = [yes|no]
Diese Einstellung kann auf yes
gesetzt werden, um evtl. Brute-Force-Attacken (zum Passwortknacken) abzuschwächen. Dann wird nach jedem falschen Einlogversuch 1000 Millisekunden (also 1 Sekunde) gewartet, bis der nächste Versuch akzeptiert wird. Default: no
Beispiel:
delayreject = yes
language = [en|de|...]
Konfiguriert die Sprache für den entsprechenden Channel. Gobale Standardsprache ist Englisch. Die Sprache, die gesetzt ist, wird vom Kanal als Informationselement gesendet. Diese Einstellung wird auch von Anwendungen wie SayNumber()
gelesen, die für verschiedene Sprachen unterschiedliche Sprachbausteine verwenden.
Beispiel:
language = de
mailboxdetail = [yes|no]
Wenn mailboxdetail
auf yes
gesetzt ist, wird dem Apparat des Mailboxbenutzers die Anzahl der neuen (und die der alten) Nachrichten übermittelt (zur Anzeige auf dem Display o.ä.). Ansonsten wird nur signalisiert, dass es neue Nachrichten gibt (ohne die Anzahl zu nennen).
Diese Einstellung ist bei neueren Asterisk-Versionen nicht mehr verfügbar. Mittlerweile verhält sich Asterisk immer (standardkonform) wie mailboxdetail=yes
Beispiel:
mailboxdetail = yes
tos = [...]
ToS steht für „Type of Service“; das sind Flags im IP-Header, die von manchen Routern ausgelesen und befolgt werden. Damit kann das Routingverhalten optimiert werden. Die Empfehlung dieser Einstellung für IAX ist tos=ef
. EF steht für Expedited Forwarding, also etwa Express-Übertragung, was nach geringer Latenz, geringer Verlustrate und wenig Jitter verlangt. Default ist none
(wegen Rückwärts-Kompatibilität).
Die Vielzahl der möglichen Werte soll hier nicht weiter beschrieben werden, Interessierte seien auf die Spezifizierung von Differentiated Services in RFC 2474 und die IANA-DSCP[60] verwiesen. Hier nur ein ins Deutsch übersetzter Auszug aus der Asterisk beiliegenden Datei doc/README.tos
(auch: doc/ip-tos.txt
):
Die zusässigen Werte für die tos*-Einstellungen sind:
Außerdem kann man auch deren numerische Pendants angeben (z.B. Die Werte =========================================== Konfig.- Parameter Empfohlene Datei Einstellung ------------------------------------------- sip.conf tos_sip cs3 sip.conf tos_audio ef sip.conf tos_video af41 ------------------------------------------- iax.conf tos ef ------------------------------------------- iaxprov.conf tos ef =========================================== Für den größtmöglichen Nutzen müssen Sie sicherstellen, dass Ihre Netzwerk-Hardware ToS unterstützt (ggf. aktivieren). Für Cisco-Geräte siehe „Enterprise QoS Solution Reference Network Design Guide“[61] , für Linux-Systeme siehe „Linux Advanced Routing & Traffic Control HowTo“[62]. | ||
--doc/README.tos |
Beispiel:
tos = ef
adsi = [yes|no]
ADSI (Analog Display Services Interface)[63] sind verschiedene Daten-Dienste für analoge Telefone mit einem Display, z.B. blinkende LED / Anzeige im Display bei wartenen Nachrichten etc.
Falls Sie kompatible Telefone haben, können Sie diese Dienst aktivieren.
Beispiel:
adsi = yes
register => username[:password]@remote-host
Ist unser Asterisk-Server nur über eine dynamische IP-Adresse erreichbar (also kein DNS, sondern nur eine IP-Adresse), so muss er sich bei jedem IP-Adresswechsel bei seiner Gegenstelle neu registieren, sonst weiß die Gegenstelle nicht, an welche IP-Adresse sie Gespräche durchstellen soll. Dazu wird register =>
verwendet.
Beachten Sie, dass register
-Angaben nur benutzt werden, wenn das entfernte Ende Sie als Peer und host=dynamic
eingestellt hat.
Das grundlegende Format einer Registerangabe sieht wie folgt aus:
register => username[:password]@remote-host
Alternativ können Sie durch die Einbettung des Namens eines geeigneten RSA-Schlüssels[64] in eckige Klammern ([]
) einen RSA-Schlüssel spezifizieren:[65]
register => username:[rsa-key-name]@remote-host
Standardmäßig werden Registeranfragen über Port 4569 gesendet. Sie können aber durch Anhängen von :
(also z.B. Portnummer
:4444
) an den Hostnamen explizit einen anderen angeben.
[61] http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration_09186a008049b062.pdf
[63] wird per FSK (Frequency Shift Keying, dt.: Frequenzumtastung) übertragen
[64] Asterisk-RSA-Schlüssel finden sich normalerweise in /var/lib/asterisk/keys/
. Sie können mittels des astkey-Skripts eigene Schlüssel generieren.
[65] Die eckigen Klammern sind hier Pflicht und nicht wie im Rest des Buches als Optionsangabe zu lesen.
© by Stefan Wintermeyer