Die Haupt-Config der Asterisk: extensions.conf

Mit dieser Config-Datei legen wir den sogenannten Dialplan fest. Wir sagen der Asterisk also was sie mit eingehenden Gesprächen tun soll. Ein eingehendes Gespräch muss nicht zwangsläufig "von aussen" kommen. Abgehende Gespräche eines in unserem lokalen Netz angeschlossenen SIP-Telefons werden auch als eingehende Gespräche behandelt. Sie kommen schließlich erst bei der Asterisk rein und werden dann von Ihr weitergeleitet (oder anderweitig verarbeitet).

Der Aufbau der "extensions.conf" ist simpel:

Context

Mit Contexts kann man verschiedene "Extensions" voneinander trennen.
Man definiert einen Context durch die Angabe eines eindeutigen Namens in eckigen Klammern, z.B.:

[FooBar]

Groß-/Kleinschreibung wird unterschieden, man darf aber trotzdem nicht zweimal denselben Namen in unterschiedlichen Schreibweisen verwenden.

Extensions

Ein Context enthält eine Reihe von sogenannten "Extensions".
Man definiert eine Extension folgendermaßen:

exten = extension,priority,command(parameters)

Links vom "=" steht immer das selbe: "exten".
Anstatt "=" kann man auch "=>" schreiben, die Bedeutung ist dabei dieselbe.
"extension" ist eine Zeichenkette, die gewissermaßen die Rufnummer darstellt. Im einfachsten Fall gibt man hier die Telefonnummer an, auf die "gehört werden soll".
"priority" ist eine Zahl, die man sich als Zeilennummer vorstellen könnte. Bei einem eingehenden Gespräch werden meistens mehrere Kommandos nacheinander ausgeführt, z.B. Abheben -> Ansage abspielen -> Auflegen. Das erste Kommando bekommt die Priorität 1. Wenn ein Kommando abgearbeitet wurde, wird die Priorität in der Regel automatisch um 1 erhöht, und das nächste Kommando wird ausgeführt, man spricht hier auch von einer "Finite State Machine" (FSM) also einem Zustandsautomaten.

Ein einfaches Beispiel

[MeinePrivatenNummern] ; hier kommen die Extensions für meine privaten Rufnummern hin
exten = 1234,1,Answer() ; Bei Anrufen auf der Nummer 1234 zuerst abheben
exten = 1234,2,Playback(digits/6) ; Die Zahl 6 vorsprechen (wieso? wieso nicht? :)
exten = 1234,3,HangUp() ; Auflegen

exten = 5678,1,... ; Hier kommen Kommandos für weitere private Rufnummern

Wenn Euch diese Seite weitergeholfen hat, dann verlinkt sie bitte. Ihr habt ein Problem? Fragen, Anregungen und Kritik bitte an feedback@lilalinux.net
Ihr könnt mich auch per ICQ erreichen: 1028730, sowie mit Jabber/GoogleTalk/XMPP: lilalinux@jabber.net-lab.net