Letzte Woche => Endspurt!Montag den 29.01.07 geht das Buch in die Produktion. Bis dahin laeuft der Beta-Test noch in vollem Umfang. Bitte melden Sie Fehler! Siehe Beta-Test FAQ. Erscheinungstermin: 03.03.07. Das Buch wird auf dem Asterisk-Tag.org in Chemnitz vorgestellt und kann dort auch erworben werden. 10 Tage spaeter wird es im Buchhandel sein. Wer nicht in Chemnitz sein kann, sollte das Buch vorbestellen: Amazon oder direkt beim Verlag Asterisk-Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de. Naechste Asterisk-Schulung: 12.02. - 13.02.07 (noch 2 Plaetze frei) - Ach ja, ... wir suchen auch noch Asterisk Entwickler! => http://www.amooma.de/jobs/ |
Diese Installationsanleitung setzt ein frisch installiertes Debian GNU/Linux 3.1 (a.k.a sarge) voraus. Ein ISO-Image für eine entsprechende i386er Debian Linux-Installation befindet sich unter http://cdimage.debian.org/debian-cd/3.1_r4/i386/iso-cd/debian-31r4-i386-netinst.iso. Eine Debian GNU/Linux-Installationsanleitung steht unter http://www.debian.org/releases/stable/i386/ und ein allgemeines Anwenderhandbuch unter http://debiananwenderhandbuch.de.
Nach erfolgreicher Installation des Debian Linux-Systems melden Sie sich als Benutzer root in das System an und führen Sie die hier nachfolgend angegebenen Befehle aus. Bitte achten Sie darauf, keinen Schritt auszulassen und die Schritte als Benutzer root durchzuführen.
Als Erstes stellen Sie mit einem apt-get update sicher, dass apt-get
alle aktuellen Paketlisten zur Verfügung hat:
debian:~# apt-get update OK http://ftp.de.debian.org stable/main Packages OK http://ftp.de.debian.org stable/main Release OK http://security.debian.org stable/updates/main Packages OK http://security.debian.org stable/updates/main Release OK http://security.debian.org stable/updates/contrib Packages OK http://security.debian.org stable/updates/contrib Release OK http://ftp.de.debian.org stable/main Sources OK http://ftp.de.debian.org stable/main Release Paketlisten werden gelesen... Fertig debian:~#
Um sicherzugehen, dass alle Pakete auf dem neuesten Stand sind, führen Sie zur Sicherheit noch ein apt-get -y upgrade aus:
debian:~# apt-get -y upgrade Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut... Fertig 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. debian:~#
Jetzt müssen Sie mit apt-get -y install openssl zlibc libkrb5-dev libncurses5-dev libssl-dev zlib1g-dev noch ein paar Pakete nachinstallieren, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
debian:~# apt-get -y install openssl zlibc libkrb5-dev libncurses5-dev libssl-dev zlib1g-dev Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut... Fertig Die folgenden zusätzlichen Pakete werden installiert: comerr-dev libkadm55 Vorgeschlagene Pakete: doc-base krb5-doc ca-certificates Die folgenden NEUEN Pakete werden installiert: comerr-dev libkadm55 libkrb5-dev libncurses5-dev libssl-dev openssl zlib1g-dev zlibc 0 aktualisiert, 8 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 6025kB Archive geholt werden. Nach dem Auspacken werden 18,8MB Plattenplatz zusätzlich benutzt. Hole:1 http://ftp.de.debian.org stable/main libkadm55 1.3.6-2sarge3 [165kB] Hole:2 http://ftp.de.debian.org stable/main libncurses5-dev 5.4-4 [1038kB] Hole:3 http://ftp.de.debian.org stable/main libssl-dev 0.9.7e-3sarge4 [2555kB] Hole:4 http://ftp.de.debian.org stable/main openssl 0.9.7e-3sarge4 [906kB] Hole:5 http://ftp.de.debian.org stable/main zlib1g-dev 1:1.2.2-4.sarge.2 [488kB] Hole:6 http://ftp.de.debian.org stable/main zlibc 0.9j-7 [245kB] Hole:7 http://ftp.de.debian.org stable/main comerr-dev 2.1-1.37-2sarge1 [53,0kB] Hole:8 http://ftp.de.debian.org stable/main libkrb5-dev 1.3.6-2sarge3 [574kB] Es wurden 6025kB in 57s geholt (104kB/s) Wähle vormals abgewähltes Paket libkadm55. (Lese Datenbank ... 32512 Dateien und Verzeichnisse sind derzeit installiert.) Entpacke libkadm55 (aus .../libkadm55_1.3.6-2sarge3_i386.deb) ... Wähle vormals abgewähltes Paket libncurses5-dev. Entpacke libncurses5-dev (aus .../libncurses5-dev_5.4-4_i386.deb) ... Wähle vormals abgewähltes Paket libssl-dev. Entpacke libssl-dev (aus .../libssl-dev_0.9.7e-3sarge4_i386.deb) ... Wähle vormals abgewähltes Paket openssl. Entpacke openssl (aus .../openssl_0.9.7e-3sarge4_i386.deb) ... Creating directory /etc/ssl Wähle vormals abgewähltes Paket zlib1g-dev. Entpacke zlib1g-dev (aus .../zlib1g-dev_1%3a1.2.2-4.sarge.2_i386.deb) ... Wähle vormals abgewähltes Paket zlibc. Entpacke zlibc (aus .../archives/zlibc_0.9j-7_i386.deb) ... Wähle vormals abgewähltes Paket comerr-dev. Entpacke comerr-dev (aus .../comerr-dev_2.1-1.37-2sarge1_i386.deb) ... Wähle vormals abgewähltes Paket libkrb5-dev. Entpacke libkrb5-dev (aus .../libkrb5-dev_1.3.6-2sarge3_i386.deb) ... Richte libkadm55 ein (1.3.6-2sarge3) ... Richte libncurses5-dev ein (5.4-4) ... Richte libssl-dev ein (0.9.7e-3sarge4) ... Richte openssl ein (0.9.7e-3sarge4) ... Richte zlib1g-dev ein (1.2.2-4.sarge.2) ... Richte zlibc ein (0.9j-7) ... Richte comerr-dev ein (2.1-1.37-2sarge1) ... Richte libkrb5-dev ein (1.3.6-2sarge3) ... debian:~#
Auf der Asterisk-Homepage http://www.asterisk.org/ finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie bitte eine stabile und keine Entwickler-Version und laden Sie diese mit wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz in das Verzeichnis /usr/src/
herunter:
debian:~# cd /usr/src debian:/usr/src# wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz --18:30:46-- http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz => `asterisk-1.2-current.tar.gz' Auflösen des Hostnamen »ftp.digium.com«.... 69.16.138.164 Verbindungsaufbau zu ftp.digium.com[69.16.138.164]:80... verbunden. HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 10,584,113 [application/x-gzip] 100%[====================================>] 10,584,113 224.71K/s ETA 00:00 18:31:36 (207.67 KB/s) - »asterisk-1.2-current.tar.gz« gespeichert [10584113/10584113]
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.2-current.tar.gz entpackt werden:
debian:/usr/src# tar xvzf asterisk-1.2-current.tar.gz asterisk-1.2.13/ asterisk-1.2.13/build_tools/ asterisk-1.2.13/build_tools/make_svn_branch_name asterisk-1.2.13/build_tools/mkdep asterisk-1.2.13/build_tools/make_build_h asterisk-1.2.13/build_tools/make_version_h asterisk-1.2.13/build_tools/make_defaults_h asterisk-1.2.13/aesopt.h asterisk-1.2.13/utils.c asterisk-1.2.13/keys/ [...] asterisk-1.2.13/cli.c asterisk-1.2.13/io.c asterisk-1.2.13/ulaw.c asterisk-1.2.13/logger.c debian:/usr/src#
Die entpackten Dateien müssen jetzt kompiliert werden.[5]Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version 1.2.13 vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern.
Übrigens ist dies jetzt ein guter Moment, sich einen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
debian:/usr/src# cd asterisk-1.2.13 debian:/usr/src/asterisk-1.2.13# make if cmp -s .cleancount .lastclean ; then echo ; else \ make clean; cp -f .cleancount .lastclean;\ [...] make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/usr/src/asterisk-1.2.13/stdtime' +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, but + + cannot be run before being installed by + + running: + + + + make install + +-------------------------------------------+
Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich an die vorgesehenen Stellen im Dateisystem kopiert) werden:
debian:/usr/src/asterisk-1.2.13# make install build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] +---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + make samples + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+
Geschafft! Die soeben kompilierten Programmdateien sind jetzt auf dem System installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis /etc/asterisk/
noch gähnende Leere vor. In diesem Verzeichnis liegen die Konfigurationsdateien von Asterisk und da wir nicht von Null beginnen möchten, lassen wir uns die Standarddateien erstellen. Dies erreichen wir mit make samples:
debian:/usr/src/asterisk-1.2.13# make samples build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] done
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie auf das großgeschriebene V):
debian:/usr/src/asterisk-1.2.13# asterisk -V Asterisk 1.2.13
Da Ubuntu auch von der CD als Live-System gebootet werden kann, müssen Sie es nicht zwangsläufig auf der Festplatte installieren (gut zum Testen). Diese Anleitung wurde mit einem Ubuntu 6.06.1 LTS (Dapper Drake) ausgeführt bzw. setzt dieses voraus. Das entsprechende ISO-Image finden Sie unter http://de.archive.ubuntu.com/ubuntu-releases/6.06/ubuntu-6.06.1-desktop-i386.iso. Wir benutzen die Desktop-CD, der gleiche Installationsweg funktioniert aber auch bei der Server-CD. Hierbei sollte aber vor der Installation von Asterisk noch ein sudo apt-get update und ein sudo apt-get -y upgrade durchgeführt werden, um sicherzustellen, dass alle aktuellen Security Fixes installiert sind.
Weitere Informationen zu Ubuntu finden Sie auf http://www.ubuntu.com.
Eine Liste von FTP-Mirrors zum Download des ISO-Images stehen auf http://www.ubuntu.com/products/GetUbuntu/download#lts.
Da auf einem Ubuntu-System root-Befehle immer über sudo (siehe http://de.wikipedia.org/wiki/Sudo) erfolgen, können Sie diese Installationsanleitung mit dem Benutzer ubuntu ausführen. Bitte öffnen Sie nach dem Starten von Ubuntu einfach ein Terminal-Fenster (im Menü oben links -> Applications -> Accessories -> Terminal).
Als Erstes stellen Sie mit einem sudo apt-get update sicher, dass apt-get
alle aktuellen Paketlisten zur Verfügung hat:
ubuntu@ubuntu:~$ sudo apt-get update Get:1 http://security.ubuntu.com dapper-security Release.gpg [191B] Hit http://security.ubuntu.com dapper-security Release Get:2 http://archive.ubuntu.com dapper Release.gpg [189B] Get:3 http://archive.ubuntu.com dapper-updates Release.gpg [191B] Hit http://security.ubuntu.com dapper-security/main Packages Hit http://archive.ubuntu.com dapper Release Hit http://security.ubuntu.com dapper-security/restricted Packages Hit http://security.ubuntu.com dapper-security/main Sources Hit http://archive.ubuntu.com dapper-updates Release Hit http://security.ubuntu.com dapper-security/restricted Sources Hit http://archive.ubuntu.com dapper/main Packages Hit http://archive.ubuntu.com dapper/restricted Packages Hit http://archive.ubuntu.com dapper/main Sources Hit http://archive.ubuntu.com dapper/restricted Sources Hit http://archive.ubuntu.com dapper-updates/main Packages Hit http://archive.ubuntu.com dapper-updates/restricted Packages Hit http://archive.ubuntu.com dapper-updates/main Sources Hit http://archive.ubuntu.com dapper-updates/restricted Sources Fetched 3B in 1s (2B/s) Reading package lists... Done ubuntu@ubuntu:~$
Jetzt müssen Sie mit sudo apt-get -y install make gcc g++ libncurses5-dev libssl-dev zlib1g-dev noch ein paar Pakete nachinstallieren, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
uubuntu@ubuntu:~$ sudo apt-get -y install make gcc g++ libncurses5-dev libssl-dev zlib1g-dev Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: binutils cpp cpp-4.0 g++-4.0 gcc-4.0 libc6-dev libstdc++6-4.0-dev linux-kernel-headers Suggested packages: binutils-doc cpp-doc gcc-4.0-locales gcc-4.0-doc lib64stdc++6 manpages-dev autoconf automake1.9 libtool flex bison gcc-doc libc6-dev-amd64 lib64gcc1 glibc-doc libstdc++6-4.0-doc stl-manual Recommended packages: libmudflap0-dev The following NEW packages will be installed: binutils cpp cpp-4.0 g++ g++-4.0 gcc gcc-4.0 libc6-dev libncurses5-dev libssl-dev libstdc++6-4.0-dev linux-kernel-headers make zlib1g-dev 0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded. Need to get 15.6MB of archives. After unpacking 58.9MB of additional disk space will be used. Get:1 http://archive.ubuntu.com dapper/main cpp-4.0 4.0.3-1ubuntu5 [1987kB] Get:2 http://security.ubuntu.com dapper-security/main binutils 2.16.1cvs20060117-1ubuntu2.1 [1407kB] [...] Setting up g++-4.0 (4.0.3-1ubuntu5) ... Setting up libstdc++6-4.0-dev (4.0.3-1ubuntu5) ... Setting up g++ (4.0.3-1) ... ubuntu@ubuntu:~$
Auf der Asterisk-Homepage http://www.asterisk.org/ finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie bitte eine stabile und keine Entwickler-Version und laden Sie diese mit wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz in das Verzeichnis /usr/src/
herunter:
ubuntu@ubuntu:~$ cd /tmp ubuntu@ubuntu:/tmp$ wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz --09:36:42-- http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz => `asterisk-1.2-current.tar.gz' Resolving ftp.digium.com... 69.16.138.164 Connecting to ftp.digium.com|69.16.138.164|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 10,584,113 (10M) [application/x-gzip] 100%[====================================>] 10,584,113 109.65K/s ETA 00:00 09:38:29 (97.21 KB/s) - `asterisk-1.2-current.tar.gz' saved [10584113/10584113] ubuntu@ubuntu:/tmp$
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.2-current.tar.gz entpackt werden:
ubuntu@ubuntu:/tmp$ tar xvzf asterisk-1.2-current.tar.gz asterisk-1.2.13/ asterisk-1.2.13/build_tools/ asterisk-1.2.13/build_tools/make_svn_branch_name asterisk-1.2.13/build_tools/mkdep asterisk-1.2.13/build_tools/make_build_h asterisk-1.2.13/build_tools/make_version_h asterisk-1.2.13/build_tools/make_defaults_h asterisk-1.2.13/aesopt.h asterisk-1.2.13/utils.c asterisk-1.2.13/keys/ [...] asterisk-1.2.13/cli.c asterisk-1.2.13/io.c asterisk-1.2.13/ulaw.c asterisk-1.2.13/logger.c ubuntu@ubuntu:/tmp$
Die entpackten Dateien müssen jetzt kompiliert werden.[6]Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version 1.2.13 vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern.
Übrigens ist dies jetzt ein guter Moment, sich den obligatorischen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
ubuntu@ubuntu:/tmp$ cd asterisk-1.2.13/ ubuntu@ubuntu:/tmp/asterisk-1.2.13$ make if cmp -s .cleancount .lastclean ; then echo ; else \ make clean; cp -f .cleancount .lastclean;\ [...] make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/tmp/asterisk-1.2.13/stdtime' +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, but + + cannot be run before being installed by + + running: + + + + make install + +-------------------------------------------+ ubuntu@ubuntu:/tmp/asterisk-1.2.13$
Die Software ist jetzt kompiliert und muss nur noch mit sudo make install installiert (sprich in die richtigen Verzeichnisse kopiert) werden:
ubuntu@ubuntu:/tmp/asterisk-1.2.13$ sudo make install build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] make[1]: Leaving directory `/tmp/asterisk-1.2.13/stdtime' +---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + make samples + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+ ubuntu@ubuntu:/tmp/asterisk-1.2.13$
Die eben kompilierten Programmdateien sind jetzt auf dem System installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis /etc/asterisk/
noch gähnende Leere vor. In diesem Verzeichnis liegen die Konfigurationsdateien von Asterisk und da wir nicht von Null beginnen möchten, lassen wir uns die Standarddateien erstellen. Dies erreichen wir mit einem sudo make samples:
ubuntu@ubuntu:/tmp/asterisk-1.2.13$ sudo make samples build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] for x in vm-theperson digits/1 digits/2 digits/3 digits/4 vm-isonphone; do \ cat /var/lib/asterisk/sounds/$x.gsm >> /var/spool/asterisk/voicemail/default/1234/busy.gsm ; \ done ubuntu@ubuntu:/tmp/asterisk-1.2.13$
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl sudo asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie auf das großgeschriebene V):
ubuntu@ubuntu:/tmp/asterisk-1.2.13$ sudo asterisk -V Asterisk 1.2.13 ubuntu@ubuntu:/tmp/asterisk-1.2.13$
Dadurch, dass Ubuntu normalen root-Zugriff nur über sudo zulässt, müssen Sie bei allen Beispielen in diesem Buch bei Aufrufen von Asterisk immer ein sudo davorschreiben. Wenn Sie als Benutzer ubuntu Asterisk starten, werden Sie eine Fehlermeldung bekommen, da der Benutzer ubuntu nicht in allen Verzeichnissen schreiben kann.
Der richtige Aufruf zum Starten von Asterisk muss also immer wie folgt aussehen: sudo asterisk -c oder sudo asterisk
Diese Installationsanleitung setzt ein aktuelles OpenSUSE 10.2 aus dem stabilen Entwicklungszweig voraus. Falls Sie nicht bereits eine fertig installierte OpenSUSE-Distribution haben, können Sie sich die entsprechenden Installationsmedien auf folgender Seite herunterladen: http://de.opensuse.org/Stabile_Version.
Um Asterisk zu kompilieren, benötigen Sie einige zusätzliche Pakete. Diese können Sie mit dem SuSE Administrationstool YaST installieren. Bitte starten Sie dazu YaST.
Wählen Sie im Installationsfenster als Filter "Schemata" aus, dort finden Sie dann als installierbare Schemata unter "Entwicklung" die Einträge "Grundlegende Entwicklung", "C/C++ Entwicklung" und "Linux-Kernel-Entwicklung".
Wechseln Sie dann wieder auf "Suchen" als Filter und suchen Sie nach folgenden Stichworten: "openssl, krb5, ncurses, zlib". Installieren Sie jeweils das gleichnamige Paket, als auch das mit dem Zusatz "devel", also z.B. "openssl" und "openssl-devel". Nach erfolgreicher Einrichtung der Buildumgebung können dann im nächsten Schritt die Asterisk-Sourcen heruntergeladen und kompiliert werden.
Auf der Asterisk-Homepage http://www.asterisk.org/ finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie bitte eine stabile und keine Entwickler-Version und laden Sie diese mit wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz in das Verzeichnis /usr/src/
herunter:
linux:~# cd /usr/src linux:/usr/src# wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz --18:30:46-- http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz => `asterisk-1.2-current.tar.gz' Auflösen des Hostnamen »ftp.digium.com«.... 69.16.138.164 Verbindungsaufbau zu ftp.digium.com[69.16.138.164]:80... verbunden. HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 10,584,113 [application/x-gzip] 100%[====================================>] 10,584,113 224.71K/s ETA 00:00 18:31:36 (207.67 KB/s) - »asterisk-1.2-current.tar.gz« gespeichert [10584113/10584113]
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.2-current.tar.gz entpackt werden:
linux:/usr/src# tar xvzf asterisk-1.2-current.tar.gz asterisk-1.2.13/ asterisk-1.2.13/build_tools/ asterisk-1.2.13/build_tools/make_svn_branch_name asterisk-1.2.13/build_tools/mkdep asterisk-1.2.13/build_tools/make_build_h asterisk-1.2.13/build_tools/make_version_h asterisk-1.2.13/build_tools/make_defaults_h asterisk-1.2.13/aesopt.h asterisk-1.2.13/utils.c asterisk-1.2.13/keys/ [...] asterisk-1.2.13/cli.c asterisk-1.2.13/io.c asterisk-1.2.13/ulaw.c asterisk-1.2.13/logger.c linux:/usr/src#
Die entpackten Dateien müssen jetzt kompiliert werden.[7]Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version 1.2.13 vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern.
Übrigens ist dies jetzt vielleicht ein guter Moment, sich einen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
linux:/usr/src# cd asterisk-1.2.13 linux:/usr/src/asterisk-1.2.13# make if cmp -s .cleancount .lastclean ; then echo ; else \ make clean; cp -f .cleancount .lastclean;\ [...] make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/usr/src/asterisk-1.2.13/stdtime' +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, but + + cannot be run before being installed by + + running: + + + + make install + +-------------------------------------------+
Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich in die richtigen Verzeichnisse kopiert) werden:
linux:/usr/src/asterisk-1.2.13# make install build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] +---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + make samples + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+
Die eben kompilierten Programmdateien sind jetzt auf dem System installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis /etc/asterisk/
noch gähnende Leere vor. In diesem Verzeichnis liegen die Konfigurationsdateien von Asterisk und da wir nicht von Null beginnen möchten, lassen wir uns die Standarddateien erstellen. Dies erreichen wir mit einem make samples:
linux:/usr/src/asterisk-1.2.13# make samples build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] done
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie darauf, dass es sich um ein großgeschriebenes V handelt):
linux:/usr/src/asterisk-1.2.13# asterisk -V Asterisk 1.2.13
Diese Installationsanleitung setzt ein frisch installiertes Fedora Core 6 "Zod" voraus. Eine Liste von Mirrors zum Download des ISO-Images findet man unter http://fedora.redhat.com/Download/mirrors.html . Auf einem Mirror Ihrer Wahl laden Sie dann das CD- oder besser gleich das DVD-Image herunter. Mit der gebrannten DVD können Sie nun den Rechner booten und Fedora installieren.
Bitte logen Sie sich danach als Benutzer root in das System ein und führen Sie alle hier angegebenen Befehle mit diesem Benutzer aus.
Als Erstes stellen Sie mit einem yum -y update sicher, dass Ihr Fedora Linux-System nur aktuelle Pakete installiert hat:
[root@fc6 ~]# yum -y update Loading "installonlyn" plugin Setting up Update Process Setting up repositories core 100% |=========================| 1.1 kB 00:00 extras 100% |=========================| 1.1 kB 00:00 updates 100% |=========================| 1.2 kB 00:00 Reading repository metadata in from local files [...] Replaced: bluez-pin.i386 0:0.30-5 Complete! [root@fc6 ~]#
Am besten starten Sie nach dem Update den Server neu mit init 6
Jetzt müssen Sie mit yum -y groupinstall "Development Tools" noch einige Pakete installieren:
[root@fc6 ~]# yum -y groupinstall "Development Tools" Loading "installonlyn" plugin Setting up Group Process Setting up repositories Setting up repositories Reading repository metadata in from local files Package make - 1:3.81-1.1.i386 already installed and latest version [...] Installing: automake17 ####################### [53/53] Installed: autoconf.noarch 0:2.59-12 automake.noarch 0:1.9.6-2.1 automake14.noarch 0:1.4p6-13 automake15.noarch 0:1.5-16 automake16.noarch 0:1.6.3-8 automake17.noarch 0:1.7.9-7 bison.i386 0:2.3-2.1 byacc.i386 0:1.9-29.2.2 cscope.i386 0:15.5-15.fc6.1 ctags.i386 0:5.6-1.1 cvs.i386 0:1.11.22-6.fc6 diffstat.i386 0:1.41-1.2.2 doxygen.i386 1:1.5.1-1 elfutils.i386 0:0.123-1.fc6 flex.i386 0:2.5.4a-41.fc6 frysk.i686 0:0.0.1.2006.12.22.rh1-1.fc6 gcc.i386 0:4.1.1-30 gcc-c++.i386 0:4.1.1-30 gcc-gfortran.i386 0:4.1.1-30 gdb.i386 0:6.5-15.fc6 indent.i386 0:2.2.9-14.fc6 libtool.i386 0:1.5.22-6.1 ltrace.i386 0:0.5-6.45svn.fc6 oprofile.i386 0:0.9.2-3.fc6 oprofile-gui.i386 0:0.9.2-3.fc6 patchutils.i386 0:0.2.31-2.2.2 pfmon.i386 0:3.2-0.060621.7.1 pstack.i386 0:1.2-7.2.2 python-ldap.i386 0:2.2.0-2.1 rcs.i386 0:5.7-30.1 redhat-rpm-config.noarch 0:8.0.45-6 rpm-build.i386 0:4.4.2-32 strace.i386 0:4.5.14-3 subversion.i386 0:1.4.2-2.fc6 swig.i386 0:1.3.31-0.fc6 systemtap.i386 0:0.5.10-1.fc6 texinfo.i386 0:4.8-14.fc6 valgrind.i386 1:3.2.1-4 Dependency Installed: cairo-java.i386 0:1.0.5-3.fc6 elfutils-libs.i386 0:0.123-1.fc6 glib-java.i386 0:0.2.6-3.fc6 glibc-devel.i386 0:2.5-3 glibc-headers.i386 0:2.5-3 gmp.i386 0:4.1.4-9.fc6 imake.i386 0:1.0.2-3 libgconf-java.i386 0:2.12.4-5.fc6 libgfortran.i386 0:4.1.1-30 libgomp.i386 0:4.1.1-30 libgtk-java.i386 0:2.8.7-2.fc6 libpfm.i386 0:3.2-0.060621.8.1 libstdc++-devel.i386 0:4.1.1-30 perl-URI.noarch 0:1.35-3 systemtap-runtime.i386 0:0.5.10-1.fc6 Complete! [root@fc6 ~]#
Zum Schluss noch ein yum -y install libtermcap-devel ncurses-devel openssl-devel ausführen, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
[root@fc6 ~]# yum -y install libtermcap-devel ncurses-devel openssl-devel Loading "installonlyn" plugin Setting up Install Process Setting up repositories [...] Installed: libtermcap-devel.i386 0:2.0.8-46.1 ncurses-devel.i386 0:5.5-24.20060715 openssl-devel.i386 0:0.9.8b-8.3.fc6 Dependency Installed: e2fsprogs-devel.i386 0:1.39-7.fc6 krb5-devel.i386 0:1.5-7 zlib-devel.i386 0:1.2.3-3 Complete! [root@fc6 ~]#
Auf der Asterisk-Homepage http://www.asterisk.org/ finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie bitte eine stabile und keine Entwickler-Version und laden Sie diese mit wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz in das Verzeichnis /usr/src/
herunter:
fc6:~# cd /usr/src fc6:/usr/src# wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz --18:30:46-- http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz => `asterisk-1.2-current.tar.gz' Auflösen des Hostnamen »ftp.digium.com«.... 69.16.138.164 Verbindungsaufbau zu ftp.digium.com[69.16.138.164]:80... verbunden. HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 10,584,113 [application/x-gzip] 100%[====================================>] 10,584,113 224.71K/s ETA 00:00 18:31:36 (207.67 KB/s) - »asterisk-1.2-current.tar.gz« gespeichert [10584113/10584113]
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.2-current.tar.gz entpackt werden:
fc6:/usr/src# tar xvzf asterisk-1.2-current.tar.gz asterisk-1.2.14/ asterisk-1.2.14/build_tools/ asterisk-1.2.14/build_tools/make_svn_branch_name asterisk-1.2.14/build_tools/mkdep asterisk-1.2.14/build_tools/make_build_h asterisk-1.2.14/build_tools/make_version_h asterisk-1.2.14/build_tools/make_defaults_h asterisk-1.2.14/aesopt.h asterisk-1.2.14/utils.c asterisk-1.2.14/keys/ [...] asterisk-1.2.14/cli.c asterisk-1.2.14/io.c asterisk-1.2.14/ulaw.c asterisk-1.2.14/logger.c fc6:/usr/src#
Die entpackten Dateien müssen jetzt kompiliert werden.[8]Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version 1.2.14 vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern.
Übrigens ist dies jetzt ein guter Moment, sich einen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
fc6:/usr/src# cd asterisk-1.2.14 fc6:/usr/src/asterisk-1.2.14# make if cmp -s .cleancount .lastclean ; then echo ; else \ make clean; cp -f .cleancount .lastclean;\ [...] make[1]: Für das Ziel »all« ist nichts zu tun. make[1]: Leaving directory `/usr/src/asterisk-1.2.14/stdtime' +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, but + + cannot be run before being installed by + + running: + + + + make install + +-------------------------------------------+ [root@fc6 asterisk-1.2.14]#
Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich an die vorgesehenen Stellen im Dateisystem kopiert) werden:
fc6:/usr/src/asterisk-1.2.14# make install build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] +---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + make samples + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+
Geschafft! Die soeben kompilierten Programmdateien sind jetzt auf dem System installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis /etc/asterisk/
noch gähnende Leere vor. In diesem Verzeichnis liegen die Konfigurationsdateien von Asterisk und da wir nicht von Null beginnen möchten, lassen wir uns die Standarddateien erstellen. Dies erreichen wir mit make samples:
fc6:/usr/src/asterisk-1.2.14# make samples build_tools/make_version_h > include/asterisk/version.h.tmp if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; [...] done
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie auf das großgeschriebene V):
fc6:/usr/src/asterisk-1.2.14# asterisk -V Asterisk 1.2.14
Diese Installationsanleitung setzt ein frisch installiertes FreeBSD (aktuell ist Version 6.1) voraus. ISO-Images für eine entsprechende i386er FreeBSD-Installation finden Sie unter ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.1/. Eine Installationsanleitung befindet sich bei http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install.html.
Nach erfolgreicher Installation melden Sie sich als Benutzer root am System an und führen Sie die hier nachfolgend angegebenen Befehle aus. Bitte achten Sie darauf, keinen Schritt auszulassen und die Schritte als Benutzer root durchzuführen.
Da FreeBSD seit dem Release der Version 6.0 aktuelle Asterisk-Pakete beinhaltet hat, beschreibt diese Anleitung nicht die Installation aus den Asterisk-Quellen, sondern aus dem FreeBSD Portage-Tree.
Die Installation erfolgt dabei ganz einfach, einen aktuellen Portage-Tree vorausgesetzt, und zwar wie folgt:
Es gibt verschiedene Möglichkeiten, den Portage-Tree aktuell zu halten. Eine Variante besteht in einem Supfile /etc/supfile-ports mit folgendem Inhalt:
*default host=cvsup6.de.FreeBSD.org *default base=/usr *default prefix=/usr *default release=cvs tag=. *default delete use-rel-suffix ports-all
Danach kann wie folgt der Portsdb-Index aktualisiert werden:
# cvsup -L 2 -g /etc/supfile-ports # portsdb -Uu
Nach der Aktualisierung des Portage-Trees kann Asterisk dann einfach mit dem folgenden Befehl installiert werden:
# cd /usr/ports/net/asterisk # make install distclean
Nach der Installation des Basispaketes werden dann die Asterisk-Add-ons installiert:
# cd /usr/ports/net/asterisk-addon # make install distclean
Wenn ISDN genutzt werden soll, dann empfiehlt sich der Einsatz des net/asterisk-bristuff-Paketes anstelle von net/asterisk. Allerdings ist die Installation von ISDN und von chan_capi unter FreeBSD nicht trivial und wird derzeitig vom Portage System nicht unterstützt. Eine genaue Besprechung der Vorgehensweise würde den Rahmen dieses Buches sprengen und wird daher hier nicht beschrieben. Digium unterhält eine Asterisk-BSD Mailingliste, auf der man weitere Hilfe bekommen kann: http://lists.digium.com/mailman/listinfo/asterisk-bsd.
Soll Asterisk beim Booten automatisch starten, so ist in der Datei /etc/rc.conf
die folgende Zeile einzutragen:
asterisk_enable="YES"
Unter FreeBSD werden die Konfigurationsdateien der nachinstallierten Softwarepakete unter /usr/local/etc/
gespeichert, um diese von den Systemdateien unter /etc/
zu trennen. Daher liegen die Asterisk-Konfigurationsdateien nicht wie oft in diesem Buch beschrieben in /etc/asterisk/
, sondern in /etc/local/etc/asterisk/.
Asterisk kann auf dem Mac ab OS X 10.2.8 („Jaguar“) zum Laufen gebracht werden. Empfehlenswert ist jedoch die aktuellste Version (z.Zt. 10.4.8, „Tiger“). Eine Installation auf Mac OS X Server ist ebenfalls möglich.
Unterstützung für PCI-Karten ist in Asterisk auf MacOS X bisher noch nicht möglich. Will man also seinen Server direkt mit dem öffentlichen Telefonnetz verbinden, muss man auf einen externen Gateway-Provider zurückgreifen. [9]Das „Unicall for MacOS X“-Projekt arbeitet an einer Lösung.
Asterisk ist für verschiedene Anwendungen (z.B. MeetMe-Konferenzen) zu Timing-Zwecken auf Zaptel-Hardware angewiesen. Als Alternative kann man den mitgelieferten ztdummy
-Treiber kompilieren - was aber auf MacOS X kaum möglich sein dürfte.
Es kann in Ausnahmefällen auch zu Problemen mit den Formaten WAV und WAV49 kommen (GSM funktioniert).
Asterisk ist auf MacOS X insgesamt noch keine ganz „runde“ Lösung. Zu Testzwecken oder für den Heimgebrauch zwar problemlos möglich, für größere Installationen aber (noch?) nicht empfehlenswert, wenn man auf die genannten Funktionen angewiesen ist.
Möglicherweise stehen bald unter http://www.mactelephony.net/ (ehemals http://www.astmasters.net/, inzwischen nicht mehr erreichbar) „Binaries“, also vorkompilierte Pakete, zum Download bereit. [10]Bezüglich der Aktualität der Software schadet es aber nicht, Asterisk neu zu kompilieren.
Vorausetzung sind die bei MacOS X mitgelieferten oder im Internet von Apple verfügbaren Developer Tools („Xcode“).
Falls Sie die DVD nicht greifbereit haben, können Sie Xcode auch von der Apple-Webseite http://developer.apple.com/tools/xcode/ downloaden.
Installieren Sie diese, falls Sie das noch nicht getan haben (dieses Paket legt das Verzeichnis /Developer
auf Ihrer Festplatte an). Danach steht z.B. der Compiler gcc und weitere Tools zur Verfügung.
Laden Sie von http://www.asterisk.org/ (oder direkt http://ftp.digium.com/pub/) die Asterisk-Quellen (Sources) in der gewünschten Version herunter. Sie können das im Browser machen oder auf der Kommandozeile (statt http://
ist auch ftp://
möglich):
$
curl -O http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
Danach wird das komprimierte Archiv entpackt:
$
tar -xvzf asterisk-1.2-current.tar.gz asterisk-1.2.13/ asterisk-1.2.13/build_tools/ asterisk-1.2.13/build_tools/make_svn_branch_name asterisk-1.2.13/build_tools/mkdep asterisk-1.2.13/build_tools/make_build_h[...]
Jetzt müssen wir in das gerade entpackte Verzeichnis wechseln und Asterisk mit make kompilieren. Bitte beachten Sie, dass 1.2.13 vielleicht nicht mehr die aktuellste Version ist; passen Sie also die Befehle entsprechend an.
$
cd asterisk-1.2.13/$
make
Da dieser Vorgang je nach Leistung Ihres Rechners einige Zeit dauern kann, empfehle ich an dieser Stelle eine Tasse Tee[11] oder Kaffee. [12]Der Testrechner war allerdings schon nach etwa 3 Minuten fertig, was sich in dieser erfreulichen Botschaft ausdrückt:
[...]
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
Die Software ist jetzt kompiliert. Der nächste Schritt muss mit Root-Rechten ausgeführt werden. Hierzu bedienen wir uns auf Mac OS X des Programms sudo.
Jetzt nur noch alle Dateien automatisch mit sudo make install installieren, also in die richtigen Verzeichnisse kopieren lassen:
$
sudo make install[...]
+---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + make samples + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+
Und da wir sofort loslegen wollen, lassen wir auch noch mit sudo make samples die Beispiel-Konfiguration erstellen:
$
sudo make samples[...]
done
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie auf das großgeschriebene V):
$
asterisk -V
Asterisk 1.2.13
Ihren Asterisk-Server können Sie mit sudo asterisk starten und mit sudo asterisk -rx "stop now" beenden.
Unsere Installation hat noch eine Schwäche: Wenn Sie Ihren Computer neu starten, läuft der Asterisk-Server nicht mehr. Auf einem „Production“-Server ist es natürlich wünschenswert, dass Asterisk immer automatisch startet (während man das auf einem Arbeitsplatzrechner eher nicht will). Unter Mac OS X ist das Vorgehen etwas anders, als man es von anderen *nixen kennt. Man richtet sich am besten ein Startup Item ein, indem man im Verzeichnis /Library/StartupItems/
ein neues Verzeichnis Asterisk/
anlegt. Darin erstellt man mit einem Text-Editor seiner Wahl eine Datei StartupParameters.plist
mit dem Inhalt:
{ Description = "Asterisk PBX"; Provides = ("Asterisk"); OrderPreference = "Last"; Messages = { start = "Starting Asterisk"; stop = "Stopping Asterisk"; }; }
Diese Datei sagt dem SystemStarter, was unser Startup-Item bereitstellt und in welcher Rehenfolge es relativ zu den anderen Startup-Items geladen werden soll.
Jetzt brauchen wir noch eine zweite Datei mit dem Namen Asterisk
, nämlich ein Shell-Skript, das dem SystemStarter erklärt, wie Asterisk zu starten und zu beenden ist:
#!/bin/sh # ohne Parameter geben wir aus, wie dieses Skript aufzurufen ist: # if [ -z $1 ] ; then echo "Usage: $0 [start|stop|restart] " exit 1 fi # die Funktionen für Startup-Skripte einbinden: # test -r /etc/rc.common || exit 1 . /etc/rc.common # das ausführbare Asterisk-Programm finden: # if [ -x /usr/sbin/asterisk ]; then ASTERISK="/usr/sbin/asterisk" else if [ -x /opt/sbin/asterisk ]; then ASTERISK="/opt/sbin/asterisk" else if [ -x asterisk ]; then ASTERISK="asterisk" else ConsoleMessage "Cannot find asterisk" exit 1 fi fi fi # Funktion zum Starten von Asterisk: # StartService () { if [ ! -f /var/run/asterisk.pid ]; then ConsoleMessage "Starting Asterisk" $ASTERISK else ConsoleMessage "Asterisk already running" fi } # Funktion zum Stoppen von Asterisk: # StopService () { if [ -f /var/run/asterisk.pid ]; then ConsoleMessage "Stopping Asterisk" $ASTERISK -rx "stop now" else ConsoleMessage "Asterisk not running" fi } # Funktion zum Neu-Starten von Asterisk: # RestartService () { if [ -f /var/run/asterisk.pid ]; then ConsoleMessage "Reloading Asterisk configuration" $ASTERISK -rx reload else StartService fi } # je nach Parameter die entsprechende oben definierte Funktion # aufrufen: # RunService "$1"
Es ist wichtig, dass diese Dateien dem Benutzer root
und der Gruppe wheel
gehören und kein anderer Schreibrechte an diesen Dateien hat. Wir machen also Folgendes im Terminal:
$
cd /Library/StartupItems/$
sudo chown -R root:wheel Asterisk$
sudo chmod -R 754 Asterisk
Fertig. Wenn wir jetzt unseren Rechner hochfahren, wird Asterisk automatisch gestartet. Wir können das selbst im Terminal testen:
$
sudo SystemStarter start Asterisk$
ps ax | grep ast 521 ?? Ss 0:00.13 /usr/sbin/asterisk 528 p1 S+ 0:00.00 grep ast$
sudo SystemStarter stop Asterisk 538 p1 S+ 0:00.00 grep ast
[5] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[6] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[7] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[8] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[9] Eine Liste finden Sie auf http://www.voip-info.org/wiki/index.php?page=VoIP+Gateways oder auch http://www.voip-info.org/wiki/index.php?page=VoiP+Service+Providers.
[10] Zur Drucklegung fand sich ein etwas älteres Binary auf http://www.dacrib.net/rant/ (ggf. auf der Seite nach „Asterisk“ suchen).
[11] Vorzugsweise einen Darjeeling First Flush FTGFOP von der Teekampagne
[12] Jedes kleine Kind weiß, dass man Kaffee nicht unbeaufsichtigt rumstehen lässt!
© by Stefan Wintermeyer