background image

Mini Quickinstall zu 

Asterisk* Open Source PBX 

 
 
 

 

 

Erste Anlaufadressen zu Asterisk VoIP  

 

 

http://www.voip-info.org/wiki-Asterisk+introduction

 

http://www.voip-info.org/wiki-Asterisk+installation+tips

 

 

 

http://www.ip-phone-forum.de/forum

  

 

 
 

1.Hardware 
2.Installation von SuSE Linux 9.0 
3.Update von SuSE und Installation erforderlicher Pakete 
4.Installieren von Asterisk

   

5.Konfiguration Netzwerk 
6.Konfiguration von Asterisk  
7. Konfiguration ISDN 
8. Konfiguration SIP 

 

 
 
 
1. Hardware 
 

• 

Beim Aufbau eines Systems wird geraten die SUSE HWL (Hardwarekompatibilitätsliste) zu 
Rate zu ziehen, da Linux unter umständen auf bestimmter Hardware nicht einwandfrei läuft, 
oder nachträglich spezielle, nicht getestete Treiberpakete nachinstalliert werden müssen. 

 
• 

Aus der in der HWL befindlichen und zur Verfügung stehenden Komponenten wird ein 
betriebsfähiger Rechner aufgebaut. Bei dem hier verwendeten System wurden folgende 
Komponenten verwendet. 

 

 

 

AT Tower mit 150Watt NT 

 

 

AMD K6 300 Mhz 

 

 

ATI Rage II Grafikkarte 

 

 

AT Mainboard Sockel7 VIA 

 

 

128 Mb SDRAM 

 

 

3,03Gb Festplatte 

 

 

CD-Rom Laufwerk 

 

 

Floppylaufwerk 

 

 

ISA Soundkarte  

 

 

10/100 Mbit Realtek NWK 

 

 

Fritzcard ISDN 

  

• 

128MB Ram sind zwingend notwendig, da sonst die Suse Installation Probleme bereitet, 
und unter Umständen mehrere Stunden dauern kann.  

 
• 

da Asterisk ein rein kommandozeilen basierendes Programm ist, ist eine speziell schnelle 
HW nicht nötig.  

 

• 

da zur Konfiguration des Rechners kann yast und sax (Konfigurationsprogramme unter 
Suse) auf grafisch basierender Oberfläche (KDE) verwendet werden, sollte der Rechner 
jedoch mindestens über o.g. HW verfügen. (2D Grafikkarte, 24xCD) 

 

• 

alle nicht in Verwendung kommenden Funktionen des HW wie z.B. serielle oder parallele 
Ports können zur Recourcenschonung im BIOS deaktiviert werden. 

 

• 

Da die ausgewählte Hardware von Linux uneingeschränkt unterstützt wird, ist eine volle 
Ausnutzung des Speichertimings kein Problem, und kann im Bios auf FAST betrieben 
werden. 

 
 

background image

2. Installation von Linux (SuSE 9.0) 
 

• 

nach Einlegen der SuSE 9.0 CD1 wird der Rechner von CD gestartet.(Bootreihenfolge im 
BIOS beachten, und ggf vorher umstellen. 

 

• 

Bei Erscheinen des LinuxBootOption Fensters den Menüpunkt „Installation“ auswählen 
(durch drücken der Taste F2 lässt sich der Bootvorgang einsehen) 
 

• 

Auswahl des Gebietsschemas (hier deutsch) 

 

• 

Nun sucht SuSE die vorhandene Hardware und stellt entsprechend die zu installierenden 
Pakete zusammen. Diese können nach eigenen Bedürfnissen angepasst werden. 

 

• 

Das Anlegen der Partitionen erfolgt ebenfalls automatisch und kann übernommen werden 

 

• 

Als Software wird das Standart System mit KDE-Desktopumgebung und Grafischem 
Grundsystem installiert.  

 
• 

Unter Systemstart empfiehlt sich den Bootloader von GRUB auf LILO umzustellen. (durch 
klick auf Systemstart und anschließendem doppelklick auf den Bootloadertyp lässt sich der 
Loader auswählen. Die Konvertierung sollte automatisch von LILO erfolgen.) 

 

• 

Durch anschließenden Klick auf „Übernehmen“ kann die Installation gestartet werden. 

 

• 

für die Installation werden die ersten 4CD´s benötigt die auf Anweisung der 
Installationsroutine zu wechseln sind. 

 

• 

Zum Abschluss der Installation sind die Antworten auf Fragen Suses bezüglich der HW, 
und  
Eingabe von Einwahldaten zu beantworten. Es wird hier schon ein Teil der 
Systemkonfiguration vorgenommen (z.B. Monitor, Grafikkarte und Netzwerkeinstellungen) 

 
3. Update von SuSE und Installation erforderlicher Pakete 
 

• 

Sollte eine frühere Version als 9.0 installiert worden sein, ist nach Beenden der Installation 
und erstem Start des Systems für den einwandfreien Betrieb von Asterisk ein Update des 
Kernels auf mind. 2.4.1notwendig (ab SuSE 9.0 ist der 2.4.1 schon enthalten und damit 
kein Update notwendig 

 

• 

starten des Systems von boot cd 

 

• 

Auswahl des Punktes "Installation / Update" ( ab hier den Anweisungen folgen) 

 

• 

Auswahl eines Suseservers zum Download der Updatepakete 

  

ftp://ftp.htwk-leipzig.de/pub/suse.com/ftp.suse.com/suse/i386/9.0

  ; IP=141.57.1.11 )  

 

• 

Es wird nach Verbindung mit dem Server automatisch nach Updates gesucht, und 
gefundene Updates zur persönlichen Auswahl angezeigt. 

 

• 

zu den Updates müssen zusätzlich zum einwandfreien Betrieb von Asterisk spezielle 
Pakete mitinstalliert werden, da sonst das Einkompilieren der Asteriskfiles fehlschlägt. 
Diese Pakete müssen über die Paketsuchefunktion von Hand gesucht werden. Dabei 
handelt es sich um folgende Pakete 

 

=> Linux Kernel Sources 

 

 

=> Openssl 

 

 

=> readline 

 

 

=> make Befehl 

 

 

=> bison library 

 

 

=> termcap (inkl devel) library 

 

 

=> newt (inkl. devel) library 

 

 

=> ncurses (inkl devel) library 

• 

ist eines oder mehrere der Pakete nicht installiert, muss dies an dieser Stelle geschehen,  

  

da sonst die Installation von Asterisk fehlschlägt. 

background image

4. Installation von Asterisk 
 

• 

für die Installation von Asterisk werden folgende Installationsdateien benötigt, welche auf 
der Asterisk Homepage zum Download bereit stehen.  

ftp://ftp.asterisk.org/pub/telephony/asterisk

 )  

 

• 

Es ist ebenso möglich, dass die Files aus dem öffentlichen CVS Bereich bezogen werden, 
da dort die ständig aktualisierten Asterisk Binarys abgelegt werden. 

http://asterisk.espia-net.net/horde/chora/cvs.php?login=1&asterisksess=07e6e16d8c94545979d7c87f67de30d6

 ) 

 

=>    asterisk-0.9.0.tar.gz 

 (evtl. asterisk-sounds-0.1.1.tar.gz ) 

=>    bei Verwendung von ZapTel Hardware das ZaptelPaket 

 

• 

diese Dateien werden in das root/home Verzeichnis in jeweils eigene Unterordner entpackt. 

 

• 

vor der Installation von Asterisk den Kernel ( befindet sich im Verz.usr/src/linux-xxxxx) mit 

 

 

 

#

make cloneconfig und #make dep 

 

sichern und zum Bearbeiten freigeben. Dieser Vorgang kann einige Zeit in Anspruch 

nehmen. 

 

• 

Danach in das entpackte Asterisk Verzeichnis wechseln und mit folgenden Befehlen die 
Dateien aus den jeweiligen Verzeichnissen installieren. Dabei sind in der Reihenfolge 
vorzugehen wie die Dateien o.a. sind. 

 

 

 

 

#cd <Verzeichnis> 

  

 

#make clean 

  

 

#make install 

 

• 

Während der Installation wird ständig der aktuelle Status ausgegeben, darin dürfen KEINE 
Fehlermeldungen auftauchen wie z.B. Directory not found. Anderweitig wurden nicht alle 
benötigten Pakete wie unter 3. beschrieben installiert. Der Installationsvorgang sollte daher 
hier abgebrochen und die Paketinstallation nachgeholt werden. 

 
• 

Ausführbare Dateien sind jetzt in den Ordnern   

erzeugte Strukturen befinden sich 

in: 

/usr/sbin/asterisk 

 

 

 

 

 

usr/include/asterisk 

/usr/sbin/safe_asterisk 

 

 

 

 

usr/lib/asterisk 

/usr/sbin/astgenkey  

 

 

 

 

var/lib/asterisk 

 

 

 

 

 

 

 

var/spool/asterisk 

 

• 

nach der abgeschlossenen Installation in das Asterisk Verzeichnis (root/bin/asterisk) 
wechseln und mit dem Befehl 

#make samples

 die Default Konfigurationsdateien erzeugen. 

Diese werden in das Verzeichnis etc/Asterisk erstellt, und können später weiter konfiguriert 
werden. Asterisk ist jetzt bereits mit den Defaulteinstellungen lauffähig. 

 
 
5. Konfiguration Netzwerk 
 

• 

Wenn Linux und Asterisk installiert sind, wird das Netzwerk aufgebaut. Zu empfehlen ist, 
alle Geräte in ein und dem selben Netz zu betreiben, da es bei der NAT und Asterisk noch 
zu Problemen kommen kann. 

 
• 

Folgende Geräte kommen zum Einsatz, und erhielten die aufgeführten festvergebenen IP 
Adressen. Vorläufig wurden zu Testzwecken alle Ports von 3000-30000 am Router 
freigegeben. 

 

1x ZyAir B2000 WLAN AP 

 

192.168.1.10 / 24 

1x ZyXEL Prestige 202H 

 

192.168.1.2   / 24  (WAN auf AUTO) 

1x ZyXEL P2000W   

 

192.168.1.60 / 24 

1x ZyXEL P2000W   

 

192.168.1.61 / 24 

1x RTL LAN an Asterisk 

 

192.168.1.3   / 24 

• 

Bei den SIP Telefonen sind extra noch folgende Einstellungen vorzunehmen 

 

Outbound Proxy 

 

 

192.168.1.3:5060 

SIP-Proxy 

 

 

192.168.1.3:5060 

Username und SIP Nummer müssen ein und die selbe Nummer sein 

background image

6. Konfiguration von Asterisk  
 

• 

Asterisk im debug Modus starten mit "asterisk -vvvvgc" (Neustarten mit „restart now“ , 
Beenden mit „stopp now“ ) 

 
• 

Asterisk sollte nun schon laufen. Eventuelle Fehlermeldungen abarbeiten, die Fehler 
werden angezeigt mit Verzeichnis und Datei und können so leicht lokalisiert werden. 

 

• 

Befehle für die Asterisk <cli> Kommandozeile sind auf einem extra Blatt festgehalten. 

 

• 

um ein internes telefonieren zu ermöglichen müssen nun die sip.conf und die 
extentions.conf bearbeitet werden. Dabei ist darauf zu achten, das Einträge in deren conf 
Dateien auch gleich den Einträgen in den Telefonen sein muss. (etc/asterisk) 

 

• 

Die folgende abgebildete Konfiguration ist ein Beispiel und wurde auch so in Funktion mit 

Erfolg getestet. (ACHTUNG: im SIP Telefon muss unter dem Menüpunkt Username kein 
Name, sondern die SIP Telefonnummer eingetragen werden, da sonst ein anmelden des 
Telefons an Asterisk fehlschlägt.) 

 

#####sip.conf:##### 

 

 

 

[general] 

 

 

port = 5060 

 

 

bindaddr = 192.168.1.3 

 

 

 

 

context = default 

 

 

  

 

 

[10] 

 

 

 

 

 

 

type=friend 

 

 

 

username=10 

 

 

 

 

 

secret=T1  

 

 

 

 

 

host=dynamic 

 

 

qualify=1200 

 

 

 

 

 

[11] 

 

 

 

 

 

 

type=friend 

 

 

 

 

 

username=11 

 

 

 

 

secret=T2  

 

 

 

 

 

host=dynamic 

 

 

 

 

 

qualify=1200 

 

 

 

 
 

#####extentions.conf##### 

 

 

 

[general] 

 

 

static=yes 

 

 

writeprotect=no 

 

 

[default] 

 

 

include => 10 

 

 

include => 11 

 

 

 

 

[10] 

 

 

exten => 10,1,Dial(SIP/10,45) 

 

 

exten => 10,2,Hangup 

 

[11] 

 

 

exten => 11,1,Dial(SIP/11,45) 
exten => 11,2,Hangup 

 

• 

nach diesen Einstellungen sollte bereits das telefonieren intern untereinander funktionieren. 

 
• 

Jede Aktion in Asterisk wird auf dem Bidschirm als Statusnachricht angezeigt, so lässt sich 
z.B. die Anmeldung des Telefons an Asterisk verfolgen. 

 

• 

Befehle für die Asterisk <cli> Kommandozeile sind auf einem extra Blatt festgehalten. Mit 
diesen ist es möglich sich z.B. angemeldete Telefone, Benutzung der Kanäle und die 
Verbindungsqualität anzeigen zu lassen. Die wichtigsten sind 

sip debug 

 

;schaltet SIP Debugging ein (Fehler werden angezeigt) 

sip show registry 

;zeigt Asterisk Registrierungsdaten 

sip show users   

;zeigt angemeldete User 

sip show channels 

;zeigt Benutzung der Kanäle 

sip show peers   

;zeigt die Verbindungen 

show version   

;zeigt aktuelle Versionsdaten 

 

background image

7. Konfiguration ISDN 
 

• 

soll Asterisk über eine ISDN Anbindung verfügen, ist es notwendig einen entsprechenden 
CAPI Treiber zu installieren. Dieser wird wie nach oben aufgeführtem Beispiel installiert. 
Unbedingt die readme des CAPI Packs beachten!   

http://www.junghanns.net/asterisk/downloads/chan_capi.0.3.1.tar.gz

 )

  

 

• 

Die Installation erfolgt nach obigem Schema mit den gleichen Befehlen, nur ist darauf zu 
achten  

 

Das man das entsprechende Verzeichnis aufsuchen muss) 

 

• 

nach der Installation muss der bereits vorhandene isdn4linux Treiber deaktiviert werden, 
inkl. all seiner Abhängigkeiten. Dafür müssen die folgenden Dateien bearbeitet werden: 
modules.conf  und capi.conf) 
 
#####modules.conf##### 

 

 

 

[modules] 

 

 

autoload=yes 

 

 

noload => pbx_gtkconsole.so 

 

 

noload => pbx_kdeconsole.so 

 

 

noload => chan_modem_i4l.so 

 

 

noload => chan_modem_bestdata.so 

 

 

noload => chan_modem_aopen.so 

 

 

noload => chan_modem.so 

 

 

noload => app_intercom.so 

 

 

load => chan_capi.so 

 

 

load => res_musiconhold.so 

 

 

noload => chan_elsa.so 

 

 

noload => chan_oss.so 

 

 

[global] 

 

 

chan_capi.so=yes 

 

• 

nach Start von asterisk sind eventuelle Fehlermessages abzuarbeiten, indem die Module in 
der modules.conf entsprechend aktiviert oder deaktiviert werden, (load xxxx, noload xxxxx) 

 
• 

läuft Asterisk fehlerfrei, kann die capi.conf so bearbeitet werden, dass eine Einwahl via 
ISDN ins Festnetz möglich ist. Dazu wird die MSN im Script eingetragen und der 
dazugehörige ISDN Adapter zugewiesen. 
 
#####capi.conf##### 

 

 

 

[general] 

 

 

nationalprefix=0 

 

 

internationalprefix=00 

 

 

rxgain=0.8 

 

 

txgain=0.8 

 
 

 

[interface] 

 

 

msn=<MSN1> 

 

 

incomingmsn=* 

 

 

controller=1 

 

 

softdtmf=1 

 

 

accountcode= 

 

 

context=from-sip 

 

 

callergroup=1 

 

 

devices=2

 

• 

Um nun ein Telefonieren auch nach extern, und von extern nach intern zu ermöglichen, 
muss die extentions.conf folgendermaßen angepasst werden. Enthalten in diesem Beispiel 
sind Rufweiterleitung bei nicht zustande kommendem Gespräch auf eine andere Nummer 

 

#####extentions.conf##### 

 

 

 

[general] 

 

 

static=yes 

 

 

writeprotect=no 

 
 

 

[default] 

 

 

include => 10 

 

 

include => 11 

 

background image

exten => _xxx.,1,StripMSD,1   

 

 

 

 

exten => _xxx.,2,Dial,CAPI/<MSN1>:b${EXTEN} 

 

 

 

 

 

exten => <MSN1>,1,Dial(SIP/10,20,tr)   

 

exten => <MSN1>,2,Dial(SIP/11,20,tr)   

 

 

 

 

 

 

 

exten => <MSN2>,1,Dial(SIP/11,20,tr)   

 

 

 

exten => <MSN2>,2,Dial(SIP/10,20,tr)   

 

 
 

 

[10] 

 

 

exten => 10,1,Dial(SIP/10,20,tr) 

 

 

 

 

exten => 10,2,Dial(CAPI/<MSN1>:b<Nummer zu der Umgeleitet wird>,20,tr) 

 

 

exten => 10,3,Hangup 

 

 

 

 
 

 

[11] 

 

 

exten => 11,1,Dial(SIP/11,20,tr) 

 

 

exten => 11,2,Dial(CAPI/<MSN1>:b<Nummer zu der Umgeleitet wird>,20,tr) 
exten => 10,3,Hangup

 

 
8. Konfiguration SIP 
 

• 

Um SIP (Session Initialisation Protokoll) zu nutzen, und über LAN ins Internet zu 
telefonieren, muss als erstes bei einem Anbieter (Sipgate.de oder Nikotel.de) eine SIP 
Telefonnummer registriert werden. Mit dieser Nummer meldet sich Asterisk am SIP-Server 
an. 

 
• 

Sollte es sich bei der Anbindung ans Internet um eine Dynamische Verbindung handeln, so 
wird empfohlen einen Account bei DynDNS zu erstellen, da dem SIP-Server die aktuelle IP 
mitgeteilt werden muss, um Gespräche aus dem Internet auf Asterisk weiterzuleiten. 

 

• 

Damit Asterisk sich am SIP-Server anmeldet und Authentifiziert, müssen Erweiterungen 
sowohl in der sip.conf als auch in der extensions.conf vorgenommen werden. Diese sollten 
so aussehen. 

 

#####exten.conf######  
 

[general]  
static=yes  
writeprotect=no  
nat=yes  

 

[globals]  
FWDUSERID=<SIP-Nummer>  
FWDUSERNAME=<Screename>   

 

[default]  
include => 10  
include => 11  

 

;wenn zu SIP Nummern angerufen wird 
exten => _0Nxxxx.,1,SetCallerID(${FWDUSERID})  
exten => _0Nxxxx.,2,SetCIDName(${FWDUSERNAME})  
exten => _0Nxxxx.,3,Dial(SIP/${EXTEN:5}@sipgate.de,40,tr)  
exten => _0Nxxxx.,4,Wait,20 
exten => _0Nxxxx.,5,Hangup 

 

;wenn zu Festnetznummern angerufen wird 
exten => _[1-9]xxx.,1,StripMSD,0  
exten => _[1-9]xxx.,2,Dial,CAPI/<MSN1>:b${EXTEN}  
exten => _[1-9]xxx.,3,Hangup  

 

;wenn auf MSN1 angerufen wird  
exten => <MSN1>,1,Dial(SIP/11,20,tr)  
exten => <MSN1>,2,Dial(SIP/10,20,tr)  

 

;wenn auf MSN2 angerufen wird  
exten => <MSN2>,1,Dial(SIP/10,20,tr)  
exten => <MSN2>,2,Dial(SIP/11,20,tr)  

 

;wenn intern die 10 gewählt wird  
[10] 

 

 

exten => 10,1,Dial(SIP/10,20,tr) 

 

 

 

 

exten => 10,2,Dial(CAPI/<MSN1>:b<Nummer zu der Umgeleitet wird>,20,tr) 
exten => 10,3,Hangup 

 

background image

;wenn intern die 11 gewählt wird  
[11] 

 

 

exten => 11,1,Dial(SIP/11,20,tr) 

 

 

 

 

exten => 11,2,Dial(CAPI/<MSN1>:b<Nummer zu der Umgeleitet wird>,20,tr) 
exten => 11,3,Hangup

 

 
 

#######sip.conf#######  
 

[general]  
port = 5060  
bindaddr = 192.168.1.3  
externip = <name bei dyndns>.dyndns.org  
context = default 
tos = reliability  
srvlookup = yes 
nat = yes 
maxexpirey = 1200  
defaultexpirey = 20  
register => <SIP-Nummer>:<SIP-Passwort>:@sipgate.de:5060/<SIP-Nummer> 

 

[sipgate.de]  
type=friend  
username=<SIP-Nummer>  
secret=<SIP-Passwort>  
host=sipgate.de  
fromuser=<SIP-Nummer>  
fromdomain=sipgate.de  
nat=yes  
qualify=1200  
context= default  
canreinvite=no  

 

[10]  
type=friend  
username=10  
secret=T1  
host=dynamic  
qualify=1200  
dtmfmode=rfc2833  
context=default 
disallow=all  
allow=ulaw  
allow=alaw  

 

[11]  
type=friend  
username=11  
secret=T2  
host=dynamic  
qualify=1200  
dtmfmode=rfc2833  
context= default 
disallow=all  
allow=ulaw  
allow=alaw  

 
 
9.Test & Fazit 
 

• 

Asterisk ist eine sehr grossartige und mit vielen Funktionen (erweiterbar) ausgestattete 
PBX, bereits nach kleiner konfiguration war das interne telefonieren möglich. Nach 
umfangreicheren erweiterungen der sip.conf und extentions.conf ist ein problemloses 
telefonieren zwischen SIP-Phones und Festnetz , in beide Richtungen, von und zueinander 
möglich.  

 

• 

Sehr erfreut hat mich die reibungslose Funktion des CAPI, hier ist sowohl ein rein als auch 
raustelefonieren, sogar mit Umleitungen ohne Probleme von statten gegangen. 

 

• 

Sehr überzeugend ist die Sprachqualität über SIP. Testweise kamen Softwareclients wie 
SIPPS von sipgate.de oder X-Lite von nicotel.de zum Einsatz, wobei SIPPS kostenpflichtig 
und X-Lite Kostenfrei ist. Völlig ausreichend erscheint daher die kostenfreie Version von 
nicotel. In Verbindung mit einem Headset am Arbeitsplatz PC und einer Soundkarte ist so 
schnell ein kostengünstiges Telefonnetz aufgebaut. 

background image

Links und Verweise: 
 

ftp://ftp.asterisk.org/pub/telephony/asterisk

 

 

http://asterisk.espia-net.net/horde/chora/cvs.php?login=1&asterisksess=07e6e16d8c94545979d7c87f67de30d6

  

 

http://www.voip-info.org/wiki-Asterisk+introduction

 

 

http://www.voip-info.org/wiki-Asterisk+installation+tips

 

 

http://archiv.tu-chemnitz.de/pub/2004/0008/data/asterisk.pdf

  

 

http://graphics.cs.uni-sb.de/~rainer/projects.html

  

 

http://www.junghanns.net/asterisk/downloads/chan_capi.0.3.1.tar.gz

 

 

http://www.ip-phone-forum.de/forum

 

 

http://www02.sipgate.de/user_interface/index.php

  

 

http://www.nikotel.de/de/index.htm

  

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Diese Ausarbeitung ist Eigentum von: 

 

Michael S.  - aka - dEEpNIGht 
Mail: 

deepnight@planet-hh.de

 

 

Veröffentlichungen nur nach Rücksprache mit dem Autor. Vervielfältigungen nur in unveränderter 

Form und Zustimmung des Autors.                                    Alle Rechte vorbehalten - deepnight 

Hamburg 30.7.2004