iax.conf
steht immer der
Eintrag [general]
. Ähnlich wie bei der
sip.conf
werden im [general]
-Abschnitt
allgemeine Parameter übergeben. Darunter kommt dann die Definition der
einzelnen Channels.ast1
und ast2
. Jede
Anlage soll in der Lage sein, Gespräche an die andere Anlage mit dem
IAX-Protokoll zu übermitteln. Dazu wird eine Vorwahl benutzt. Die
Vorwahl 0901
verbindet zur Anlage ast1
, und
0902
verbindet zur Anlage ast2
. Die Anlage
ast1
besitzt in diesem Beispiel die IP-Adresse
192.168.0.101
und die Anlage ast2
die
IP-Adresse 192.168.0.102
.iax.conf
enthält folgende Konfiguration:
[ast2] type = friend host = 192.168.0.102 secret = 1234 context = test-telefone permit = 0.0.0.0/0.0.0.0Die
extensions.conf
enthält folgende Konfiguration:
[via-asterisk2] exten => 09021000,1,Dial(IAX2/ast2/1000) exten => 09021001,1,Dial(IAX2/ast2/1001) ; ^ ^ ^ ^ ; | | | | ; virt.Vorwahl ext Verbindung ext
iax.conf
enthält folgende Konfiguration:
[ast1] type = friend host = 192.168.0.101 secret = 1234 context = test-telefone permit = 0.0.0.0/0.0.0.0Die
extensions.conf
enthält folgende Konfiguration:
[via-asterisk1] exten => 09011000,1,Dial(IAX2/ast1/1000) exten => 09011001,1,Dial(IAX2/ast1/1001)
[general]
-Teil
definiert werden, sind also gültig für alle Channels. Sie können hier
außerdem auch einige der in „Channel-Einstellungen“
beschriebenen Einstellungen verwenden.bandwidth
bandwidth = [low|medium|high]
allow
und disallow
(„allow
“).high
medium
low
bandwidth = low disallow = lpc10 ; hat schlechte Qualität
allow
allow = [all|Name des Codecs]
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
(„bandwidth
“)
für eine komfortable Einstellung. allow
und
disallow
können mehrmals verwendet werden und sind damit
eine Ausnahme.disallow = all allow = ulaw allow = gsm
codecpriority
codecpriority = [caller|host|disabled|reqonly]
host.
caller
host
disabled
reqonly
codecpriority = caller
authdebug
authdebug = [yes|no]
authdebug=no
deaktiviert werden.authdebug = no
autokill
autokill = [yes|Timeout in Millisekunden]
autokill
nicht gesetzt ist, versucht
Asterisk einen nicht erreichbaren Host sehr lange zu erreichen. Dies
kann bei vielen gleichzeitigen Versuchen (auf mehreren Channels) zu
Performance-Problemen führen. Mit autokill=yes
wird die
Verbindung nach 2000 Millisekunden abgebrochen. Alternativ kann man auch
die Anzahl der Millisekunden angeben.autokill = 3500
amaflags
amaflags = [default|omit|billing|documentation]
omit
werden keine Aufzeichnungen
gemacht.amaflags = billing
bindaddr
bindaddr = [IP-Adresse]
0.0.0.0
für alle
Adressen.bindaddr = 0.0.0.0
bindport
bindport = [Port-Nummer]
bindaddr
-Eintrag erfolgen!bindport = 4569
delayreject
delayreject = [yes|no]
yes
gesetzt werden, um
eventuelle 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.
delayreject = yes
language
language = [en|de|...]
SayNumber()
gelesen, die für
verschiedene Sprachen unterschiedliche Sprachbausteine
verwenden.language = de
mailboxdetail
mailboxdetail = [yes|no]
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.mailboxdetail=yes.
mailboxdetail = yes
tos
tos = [...]
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 der
Rückwärtskompatibilität).doc/README.tos
(1.2) / doc/ip-tos.txt
(1.4):Die zulässigen Werte für die tos*-Einstellungen
sind: be (best effort, die normale, geringste
Priorität), cs1 , af11 , af12 ,
af13 , cs2 , af21 ,
af22 , af23 , cs3 ,
af31 , af32 , af33 ,
cs4 , af41 , af42 ,
af42 , ef (expedited forwarding),
lowdelay (geringe Latenz), throughput
(Durchsatz), reliability (Zuverlässigkeit),
mincost (geringste monetäre Kosten), none
(wie be )Außerdem kann man auch deren numerische Pendants angeben (z.
B. tos=0x18 ).Die Werte lowdelay , throughput ,
reliability , mincost und none
sind veraltet und sollen nicht mehr verwendet werden, da sie das
ToS-Byte nach dem alten „IP precedence“-Modell aus RFC
791 und 1349 setzen.=========================================== 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 =========================================== | ||
--doc/ip-tos.txt |
tos = ef
adsi
adsi = [yes|no]
adsi = yes
register
register => username[:password]@remote-host
register =>
verwendet.register
-Angaben nur benutzt
werden, wenn das entfernte Ende Sie als Peer und
host=dynamic
eingestellt hat.register =>
username[:password]@remote-host
[]
) setzen, einen
RSA-Schlüssel spezifizieren:[48]register =>
username:[rsa-key-name]@remote-host
:Portnummer
(also z. B.
:4444
) an den Hostnamen explizit einen anderen
angeben.[general]
verwendet werden.type
type = [user|peer|friend]
user
(z. B. einem Benutzer-Endgerät, das sich mit uns
verbindet) oder einem peer
(z. B. einem Gateway in ein
anderes Asterisk-Netzwerk, zu dem wir die Verbindung herstellen)
handelt. friend
ist eine Kurzschreibweise, um einen
user
und einen peer
mit den gleichen Angaben
zu definieren.type = peer
type=user
) IP-basierte Zugangsbeschränkungen (siehe
„permit
“) definiert haben, müssen Sie
in der iax.conf
einen Eintrag
[guest]
haben, bei dem Sie weder auth
noch
secret
angeben. Andernfalls können sich beliebige User
verbinden, indem sie ein Passwort erraten.[guest] type=user callerid="IAX-Gast-Benutzer"
accountcode
accountcode = [Abrechnungsnummer]
/var/log/asterisk/cdr-csv/
benutzt. Verwenden Sie
daher nur Kleinbuchstaben, Ziffern, den Bindestrich und den
Unterstrich.accountcode = iax-hausmeister
bandwidth
bandwidth = [low|medium|high]
bandwidth
dient als Gruppierung verschiedener
Soundcodecs. Auf diese Weise kann man einfacher bestimmte Situationen
definieren (siehe „bandwidth
“).bandwidth = low
allow
allow = [all|Name des Codecs]
allow
) oder verboten (disallow
) werden (siehe
„allow
“). Dabei ist zu beachten, das
eventuell im [general]
-Bereich erlaubte Codecs erst durch
ein disallow=all
wieder verboten werden müssen.disallow = all allow = ulaw allow = gsm
codecpriority
codecpriority = [caller|host|disabled|reqonly]
codecpriority
“).codecpriority = caller
amaflags
amaflags = [default|omit|billing|documentation]
amaflags
“).amaflags = documentation
callerid
callerid = [Name[ <Nummer>]]
callerid
können Sie die angezeigte Caller-ID
für einen Nutzer oder ein Peer setzen. Wenn Sie ein Caller-ID-Feld für
einen Benutzer definieren, werden alle Anrufe, die auf diesem Kanal
eingehen, mit dieser Caller-ID verknüpft, unabhängig davon, was Ihnen
das andere Ende sendet. Das ist aus Sicherheitsgründen zu empfehlen
(außer, Sie vertrauen dem anderen Ende), da es sehr leicht möglich ist,
seine Caller-ID zu fälschen.callerid = "Mark Spencer" <(256) 428
6000>
host
host=[Host|dynamic]
host
wird entweder der Hostname oder die
IP-Adresse des anderen Rechners angegeben. Bei Hosts mit dynamisch
vergebenen (also wechselnden) IP-Adressen verwenden Sie den Sonderfall
host=dynamic
, vorzugsweise in Kombination mit der
Einstellung defaultip
(„defaultip
“).host = 192.168.0.201
host = dynamic
defaultip
defaultip = [IP-Adresse]
defaultip
-Einstellung ergänzt
host=dynamic
(siehe „host
“). Ist ein Host noch nicht bei Ihrem
Server angemeldet, versucht Asterisk, Nachrichten an die hier definierte
Standard-IP-Adresse zu schicken.defaultip = 192.168.0.201
permit
permit = IP-Adresse[/Netzmaske]
permit
und deny
erlauben und
beschränken die IP-Adressen, von denen Verbindungen zum entsprechenden
Eintrag möglich sind. Üblicherweise wird zuerst ein
deny=0.0.0.0/0.0.0.0
(alle verbieten) vorangestellt und
dann mit permit
die erlaubte IP-Adresse oder ein Bereich
von Adressen freigegeben. Die Reihenfolge von deny
und
permit
ist entscheidend, und beide können für mehrere
Hosts/Bereiche auch mehrfach auftreten. Wenn genau ein Host gemeint ist,
können Sie die Netzmaske (wäre 255.255.255.255
)
weglassen.192.168.0.*
(Netzmaske 24 Bits,
Klasse-C-Netzwerk):deny = 0.0.0.0/0.0.0.0 ; alle verbieten permit = 192.168.0.102/255.255.255.0 ; 192.168.0.* erlauben permit = 192.168.5.5 ; 192.168.5.5 erlauben
192.168.*.*
:permit = 0.0.0.0/0.0.0.0 ; alle erlauben deny = 192.168.0.0/255.255.0.0 ; 192.168.*.* verbieten
192.168.0.0
bis 192.168.0.127
verboten, dann
aber wieder alle erlaubt werden, was die erste
Regel überschreibt. So wird also nichts verboten:deny = 192.168.0.0/255.255.255.127 permit = 0.0.0.0/0.0.0.0 ; alle erlauben
auth
auth = [plaintext|md5|rsa]
plaintext
, md5
und
rsa
.plaintext
secret
(„secret
“) angegeben.md5
secret
(„secret
“)
angegeben.rsa
auth
legen Sie eine durch Komma getrennte
Liste von erlaubten Authentifizierungsmethoden fest.auth = rsa,md5
auth
noch secret
angeben, bedeutet das, dass keine Authentifizierung notwendig
ist.inkeys
inkeys = [rsa-key:rsa-key:...]
rsa
(siehe
„auth
“) den öffentlichen RSA-Schlüssel
des zu authentifizierenden Systems fest. Um mehr als einen RSA-Schlüssel
mit einer Benutzer-Kanaldefinition zu verknüpfen, trennen Sie die
Schlüsselnamen mit einem Doppelpunkt (:
). Jeder dieser
Schlüssel wird dann eine Verbindung für gültig erklären
können./var/lib/asterisk/keys/schluesselname
.pub
inkeys = server-koblenz:server-bonn
outkey
outkey = [rsa-key]
outkey
-Option verwenden, um sich
bei einem Peer mithilfe eines RSA-Schlüssels zu authentifizieren. Für
ausgehende Authentifizierung kann nur ein RSA-Schlüssel verwendet
werden. Der outkey
wird nicht verteilt, er ist Ihr privater
Schlüssel und sollte 3DES-verschlüsselt sein./var/lib/asterisk/keys/schluesselname
.key
outkey = privater-schluessel
mailbox
mailbox = [Mailboxname[@Mailbox-Context]]
default
, können Sie sie als
mailbox@context
angeben. Um
mehrere Mailboxen mit einem einzigen Peer zu verknüpfen, müssen Sie den
mailbox
-Befehl mehrmals verwenden.mailbox = 1000
language
language = [en|de|...]
SayNumber()
verwendet, um unterschiedliche Sprachbausteine
zu benutzen.language = de
context
context = [Context]
context = default
regcontext
regcontext = [Context]
regexten
keine Extension angegeben, so wird als
auszuführende Extension der Name des Peers benutzt. Dabei ist zu
beachten, dass Asterisk als Erstes automatisch ein NoOp
mit
der Priorität 1 ausführt. Als erste Priorität danach ist also die 2 zu
benutzen. Mehrere Contexte können nacheinander aufgeführt werden; als
Trennungszeichen wird ein &
verwendet.regcontext = from-iax
regexten
regexten = [Nummer]
regcontext
verwendet, um
die Extension zu spezifizieren, die in dem konfigurierten Context
ausgeführt werden soll. Falls regexten
nicht explizit
konfiguriert ist, wird der Name des Peers als Extension
verwendet.regexten = 3000
jitterbuffer
jitterbuffer = [yes|no]
trunk
(siehe „trunk
“).jitterbuffer = yes
forcejitterbuffer
forcejitterbuffer = [yes|no]
forcejitterbuffer = yes
maxjitterbuffer
maxjitterbuffer = [Laenge in Millisekunden]
maxjitterbuffer = 400
resyncthreshold
resyncthreshold=[Wert in Millisekunden]
resyncthreshold
, der in
Millisekunden angegeben wird.resyncthreshold = 800
trunk
trunk = [yes|no]
jitterbuffer
“) nicht gut bei eingeschaltetem
Trunk-Modus.trunk = yes
trunkfreq
trunkfreq = [Wiederholrate in Millisekunden]
trunkfreq
wird in Millisekunden angegeben, wie
oft Trunk-Nachrichten gesendet werden. Gilt nur, wenn
trunk=yes
gesetzt wurde.trunkfreq = 20
qualify
qualify = [yes|no|Zeit in Millisekunden]
qualify=yes
werden in festen Zeitabständen
Ping-Nachrichten an die entfernten Peers gesendet, um herauszufinden, ob
sie verfügbar sind und welche Latenz zwischen den Antworten liegt. Die
Peers antworten mit Pong-Nachrichten. Ein Peer wird als nicht erreichbar
angesehen, wenn innerhalb von 2000 ms noch keine Antwort vorliegt (um
diese Voreinstellung zu ändern, setzen Sie qualify
auf die
entsprechende Anzahl an Millisekunden, die auf eine Anwort gewartet
werden soll). Einige Endgeräte (bzw. deren Software) kommen nicht mit
diesen Nachrichten zurecht.qualify = yes
qualifysmoothing
qualifysmoothing = [yes|no]
qualify
immer der Mittelwert der letzten beiden
Pong-Nachrichten verwendet werden soll. Hosts mit schlechter Verbindung
könnten sonst fälschlicherweise als nicht verfügbar eingestuft
werden.qualifysmoothing = yes
/var/lib/asterisk/keys/
. Sie können mittels des
astkey
-Skripts eigene Schlüssel
generieren.[50] Zum Beispiel das bei Asterisk enthaltene Kernel-Modul
ztdummy
oder zaprtc
von Junghanns (http://www.junghanns.net/downloads/).