Wir bauen uns eine Telefonanlage
Man nehme:
- Einen Linux Rechner
- Eine aktive oder passive ISDN Karte mit CAPI Interface
- Einen Editor
- Einen von Webfrontends genervten Admin
- Mehrere Tassen Kaffee
- Wenn vorhanden eine Telefonanlage
Eigentlich alles ganz einfach. Man braucht nur ein bisschen Zeit.
Zuallererst hole man sich die aktuellen stabilen(!) Asterisk Sourcen:
cd /usr/src
export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
cvs login - the password is anoncvs.
cvs checkout -r v1-0 asterisk asterisk-addons asterisk-sounds
Diese zerre man nach Anleitung (liegt bei) durch den Compiler.
Nun lade man sich das "chan_capi" Modul von Junghanns.net. (findet sich hier)
Auch dieses werfe man seinem GCC zum Fraß vor.
Ganz wichtig: man sollte per "make samples" die Standardconfig vom Asterisk installieren.
Jetzt sollte man seine Konfigurationsdateien in /etc/asterisk anfassen:
Zu allererst die capi.conf, da sollte sowas ähnliches drin stehen:
[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0
txgain=1.0
[interfaces]
msn=MEINEMSN,MEINEANDEREMSN
incomingmsn=*
controller=1
softdtmf=1
accountcode=
context=default
devices=2
Damit kann man dann theoretisch schon mal raus telefonieren.
Damit der Asterisk die CAPI Schnittstelle auch kennt muß in die modules.conf folgendes:
Unter [modules]:
load => chan_capi.so
Unter [global]:
chan_capi.so=yes
Jetzt folgt die extensions.conf, die "eigentliche" Konfigurationsdatei von asterisk.
Diese kann man bei wenigen Nebenstellen extrem kurz halten:
[general]
static=yes
writeprotect=no
[globals]
[macro-oneline]
exten => s,1,Dial(${ARG1},20,t)
exten => s,2,Answer
exten => s,3,Wait(1)
exten => s,4,Playback(nbdy-avail-to-take-call)
exten => s,5,Wait(1)
exten => s,6,Voicemail(40${MACRO_EXTEN})
exten => h,1,Hangup
[outbound]
exten => _.,1,Dial(CAPI/${CALLERIDNUM}:b${EXTEN},30)
exten => _.,2,Congestion
exten => h,1,Hangup
[intern]
exten => MEINEMSN,1,Macro(oneline,SIP/me)
exten => MEINEANDEREMSN,1,Macro(oneline,SIP/myothersipphone)
[default]
include => intern
include => outbound
Jetzt sollte man noch die sip.conf anpassen, damit Asterisk auch die anderen SIP Peers kennt:
[general]
bindaddr = 0.0.0.0
port = 5060
context = default
maxexpirey = 3600
defaultexpirey = 120
srvlookup = yes
tos = 0x18
disallow = all
allow = gsm
allow = alaw
allow = ulaw
allow = g729
[me]
type = friend
secret = PASSWORD
host = dynamic
dtmfmode = rfc2833
nat = yes
callerid = "Ich" <MEINEMSN>
canreinvite = no
qualify = yes
insecure = no
Den anderen SIP Peer für die andere MSN trägt man entsprechend ein.
Da man natürlich auch Voicemail möchte, sollte man diese an die voicemail.conf anhängen. Die Einträge nach [default] löscht man natürlich und hängt stattdessen
40MEINEMSN => 0815,Ich,mein@email.adresse
an. Jetzt bekommt man den Anrufbeantworter per eMail nachgeschickt.
Das Ergebnis sollte eine kleine VoIP Telefonanlage sein, mit der man untereinander über IP und nach draußen über Telefon telefonieren kann. Wer mag, kann noch LCR einbauen oder Voicemenus.
Guten Appetit.