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.

Trackbacks

    No Trackbacks

Comments

Display comments as (Linear | Threaded)

  1. callya says:

    wie lang braucht man für alles, wenn man es zum ersten mal macht? hört sich interessant an..! ;-)

  2. Falk Stern says:

    Och, so 1-2 Stunden, je nach Unix Kenntnissen.

    Hält sich aber in Grenzen.


Add Comment


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Markdown format allowed