5.5. Die Grundkonfiguration
Als Erstes wird die Telefonanlage so konfiguriert, dass alle
Teilnehmer intern miteinander telefonieren können und jeder eine
persönliche Voicemailbox hat. Danach kann die Anlage mit einzelnen
Bausteinen erweitert werden.
5.5.1. sip.conf für fast 100 Teilnehmer
Der Aufbau einer
/etc/asterisk/sip.conf
für 2
Teilnehmer unterscheidet sich nicht vom Aufbau für 100 Teilnehmer. In
der sip.conf
müssen alle SIP-Telefone eingetragen
werden. Im Folgenden finden Sie die gekürzte Fassung der
Konfigurationsdatei sip.conf
für die Apfelmus GmbH.
Kommentare werden hier immer mit ;
eingeleitet. Diese
Konfigurationsdatei ist analog zum Beispiel in Kapitel 2, „Hello World“ aufgebaut. Bei der Auswahl der
Rufnummern wurden an die Teilnehmer vornehmlich Nummern vergeben, die
nicht auf die Ziffer 0 enden. Der Grund hierfür ist, dass die Endziffer
0 an späterer Stelle für die Zuteilung von Gruppenrufnummern dienen
soll. Lediglich beim Hausmeister wurde eine Ausnahme gemacht, da für ihn
keine Gruppenrufnummer vorgesehen ist.[general] port = 5060 bindaddr = 0.0.0.0 context = sonstige ; Hausmeister ; [150] ; normales Telefon im Büro context=hausmeister secret=1234 callerid="Hausmeister" <150> type=friend host=dynamic [151] ; Mobiltelefon context=hausmeister secret=1234 callerid="Hausmeister" <150> type=friend host=dynamic ; Interne IT-Abteilung ; [161] ; Mitarbeiter 1 context=it secret=1234 type=friend host=dynamic [162] ; Mitarbeiter 2 context=it secret=1234 type=friend host=dynamic [165] ; Mobiles Telefon context=it secret=1234 type=friend host=dynamic ; Geschäftsführung ; [201] ; Geschäftsführer 1 context=geschaeftsfuehrung secret=1234 type=friend host=dynamic [202] ; Geschäftsführer 2 context=geschaeftsfuehrung secret=1234 type=friend host=dynamic ; Sekretariat ; [231] ; Assistentin 1 context=sekretariat secret=1234 type=friend host=dynamic [232] ; Assistentin 2 context=sekretariat secret=1234 type=friend host=dynamic [233] ; Assistentin 3 context=sekretariat secret=1234 type=friend host=dynamic ; Verkauf National ; [301] ; Verkäufer 1 context=verkauf-national secret=1234 type=friend host=dynamic [302] ; Verkäufer 2 context=verkauf-national secret=1234 type=friend host=dynamic [303] ; Verkäufer 3 context=verkauf-national secret=1234 type=friend host=dynamic [304] ; Verkäufer 4 context=verkauf-national secret=1234 type=friend host=dynamic [305] ; Verkäufer 5 context=verkauf-national secret=1234 type=friend host=dynamic [306] ; Verkäufer 6 context=verkauf-national secret=1234 type=friend host=dynamic ; Verkauf Ausland ; [351] ; Verkäufer 1 context=verkauf-ausland secret=1234 type=friend host=dynamic [352] ; Verkäufer 2 context=verkauf-ausland secret=1234 type=friend host=dynamic [353] ; Verkäufer 3 context=verkauf-ausland secret=1234 type=friend host=dynamic [354] ; Verkäufer 4 context=verkauf-ausland secret=1234 type=friend host=dynamic ; Versand ; [401] ; Mitarbeiter 1 context=versand secret=1234 type=friend host=dynamic ; die weiteren 9 Einträge für den ; Versand sind hier ausgelassen. ; Produktion ; [501] ; Mitarbeiter 1 context=produktion secret=1234 type=friend host=dynamic ; die weiteren 49 Einträge für die ; Produktion sind hier ausgelassen.
Wer die
sip.conf
komfortabler mit Templates
gestalten will, findet im Anhang G, Konfigurations-Templates
weitere Informationen dazu.CallerID
In der
sip.conf
kommt zweimal die Variable
callerid
vor. Mit dieser Variable wird festgelegt, was
beim Angerufenen auf dem Display angezeigt wird. Im konkreten
Beispiel:callerid = "Hausmeister" <150>Dies sagt aus, dass sich beide Telefone (150 und 151) mit der Caller-ID 150 und dem Text „Hausmeister“ zu erkennen geben. Dadurch ist sichergestellt, dass Rückrufe immer nur auf die 150 gehen.
5.5.2. Der Wählplan (Dialplan)
Im Kapitel 2, „Hello World“ haben wir schon einen
einfachen Dialplan für zwei Telefone erstellt. Diesmal haben wir jedoch
deutlich mehr Teilnehmer, und obwohl es im Grunde lediglich Fleißarbeit
bedeutet, ist die Pflege einer Konfiguration mit einigen Hundert
Teilnehmern zeitaufwendig. Deshalb benutzen wir in der
extensions.conf
die in Abschnitt 3.3, „Pattern Matching“ beschriebenen Patterns und die in Abschnitt 3.4, „Includes im Dialplan“ beschriebenen Includes.Die extensions.conf für die Apfelmus GmbH
Der für die Apfelmus GmbH passende Rufnummernplan[22] lässt sich wie folgt in eine übersichtliche
extensions.conf
übertragen:[sonstige] [hausmeister] include => interne-gespraeche include => voicemailsystem-komfort [it] include => interne-gespraeche include => voicemailsystem-komfort ; ; Aus Debugging-Gründen ist es für ; die IT-Abteilung teilweise nützlich, ; auf alle Voicemailboxen zugreifen ; zu können. ; include => voicemailsystem-normal [geschaeftsfuehrung] include => interne-gespraeche include => voicemailsystem-komfort [sekretariat] include => interne-gespraeche include => voicemailsystem-komfort [verkauf-national] include => interne-gespraeche include => voicemailsystem-komfort [verkauf-ausland] include => interne-gespraeche include => voicemailsystem-komfort [versand] include => interne-gespraeche include => voicemailsystem-komfort [produktion] include => interne-gespraeche include => voicemailsystem-komfort [interne-gespraeche] exten => _[1-5]XX,1,Dial(SIP/${EXTEN},60) exten => _[1-5]XX,2,VoiceMail(${EXTEN},u) [voicemailsystem-komfort] ; ; Der User muss nicht die Nummer der ; Voicemailbox eingeben. ; exten => 800,1,VoicemailMain(${CALLERID(num)}) [voicemailsystem-normal] exten => 801,1,VoicemailMain()Der Context
[interne-gespraeche]
definiert, dass alle Anrufe an die
Nummern 100 bis 599 mit dem Programm
Dial()
auch mit dieser
Nebenstelle verbunden werden. Wer die 800 anruft, bekommt die
Voicemailbox für sein eigenes Telefon. Nur die IT-Abteilung kann die
801 anrufen und wird dann vom System erst nach der gewünschten
Nebenstelle (Extension) gefragt. Da die IT-Abteilung auch den internen
Support der Telefonanlage zur Verfügung stellt, benötigt sie diese
Funktion zur Störungsermittlung (Debugging).Schwarze Löcher im Rufnummernplan
Genau genommen müsste dieser Dialplan noch etwas komplexer
sein, da es ja laut Rufnummernplan Bereiche gibt (z. B. 270 bis
299), die gar nicht mit Telefonen belegt sind. Da wir dies nicht
beachten, kann es zu Missverständnissen kommen. Ein Anrufer kann
eine nicht vergebene Rufnummer anrufen und dort auf dem
Anrufbeantworter eine Nachricht hinterlassen. Diese Nachricht würde
aber nie abgehört werden. Um dies zu vermeiden, müsste man
korrekterweise den Context
[interne-gespraeche]
wie
folgt gestalten:[interne-gespraeche] exten => _1[5-6]X,1,Dial(SIP/${EXTEN},60) exten => _1[5-6]X,2,VoiceMail(${EXTEN},u) exten => _2[0-6]X,1,Dial(SIP/${EXTEN},60) exten => _2[0-6]X,2,VoiceMail(${EXTEN},u) exten => _[358]XX,1,Dial(SIP/${EXTEN},60) exten => _[358]XX,2,VoiceMail(${EXTEN},u) exten => _4[0-4]X,1,Dial(SIP/${EXTEN},60) exten => _4[0-4]X,2,VoiceMail(${EXTEN},u)Wir verzichten bei der Apfelmus GmbH der Einfachheit halber auf diese ausführlichere Variante und benutzen nur den folgenden Context:
[interne-gespraeche] exten => _[1-5]XX,1,Dial(SIP/${EXTEN},60) exten => _[1-5]XX,2,VoiceMail(${EXTEN},u)
voicemail.conf
Die
voicemail.conf
bleibt so, wie schon in
Abschnitt 2.5.1, „... und jetzt mit einem
Anrufbeantworter“ beschrieben. Es werden einfach nur
ein paar Einträge mehr eingefügt:[general] format = gsm serveremail = voicemail@apfelmus-gmbh.de maxmessage = 600 [local] 150 => 999999,Hans Hausmeister,hausmeister@apfelmus-gmbh.de 200 => 999999,Ernst Wichtig,ernst.wichtig@apfelmus-gmbh.de 201 => 999999,Hans Toll,hans.toll@apfelmus-gmbh.de ; Ich verzichte hier darauf, die restlichen Einträge aufzulisten, sie sind analog zu den aufgeführten Zeilen
[22] Mit Ausnahme der Notrufnummern, die wir später behandeln, da wir jetzt noch keine Verbindung zur Außenwelt eingerichtet haben.