Installation Asterisk 1.4.x auf Mac OS X

Für die Installation von Asterisk 1.4 gehen wir von einem aktuellen Mac OS X aus, das ist z.Zt. 10.4.8 „Tiger“.

[Anmerkung]Anmerkung

Ebenso wie für Asterisk 1.2 gilt auf Mac OS X dieser Hinweis:

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. [16]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. 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“).

[Tipp]Tipp

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.

[Wichtig]Wichtig

Asterisk 1.4 wird weiter unten beim Installieren mit make install weitere erforderliche Sprachpakete runterladen, wozu wget verwendet wird, was allerdings auf einem frischen Mac OS X nicht vorhanden ist (deshalb verwenden wir ansonsten curl). Wenn Sie sowieso schon Fink[17] oder Darwinports[18] benutzen, können Sie damit ganz einfach wget installieren. Ob wget bereits installiert ist, kann man so rausfinden:

$  which wget
no wget in /bin /sbin /usr/bin /usr/sbin

Alternativ installiert man wgetvon Hand“:

$  curl -O ftp://ftp.gnu.org/pub/gnu/wget/wget-1.10.tar.gz
$  tar -xvzf wget-1.10.tar.gz
$  rm wget-1.10.tar.gz
$  cd wget-1.10/
$  ./configure
$  make
$  sudo make install

und man passt entweder seinen PATH an oder macht einen Symlink:

$  sudo ln -s /usr/local/bin/wget /usr/bin/wget

Jetzt sollte folgendes möglich sein:

$  which wget
/usr/bin/wget
$  wget --version
GNU Wget 1.10

Copyright (C) 2005 Free Software Foundation, Inc.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

Originally written by Hrvoje Niksic <hniksic@xemacs.org>.

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.4-current.tar.gz

Danach wird das komprimierte Archiv entpackt:

$  tar -xvzf asterisk-1.4-current.tar.gz
asterisk-1.4.0/
asterisk-1.4.0/build_tools/
asterisk-1.4.0/build_tools/mkpkgconfig
asterisk-1.4.0/build_tools/get_moduleinfo
asterisk-1.4.0/build_tools/get_makeopts
[...]

Ab Asterisk 1.4 kommt der übliche autoconf-Mechanismus zum Einsatz[19]. Wir müssen also in das gerade entpackte Verzeichnis wechseln und ./configure ausführen, was eine Menge Informationen ausspuckt:

$  cd asterisk-1.4.0/
$  ./configure
checking build system type... i386-apple-darwin8.8.3
checking host system type... i386-apple-darwin8.8.3
checking for uname... /usr/bin/uname
checking for gcc... gcc
[...]
configure: creating ./config.status
config.status: creating build_tools/menuselect-deps
config.status: creating makeopts
config.status: creating channels/h323/Makefile
config.status: creating include/asterisk/autoconfig.h

               .$$$$$$$$$$$$$$$=..      
            .$7$7..          .7$$7:.    
          .$$:.                 ,$7.7   
        .$7.     7$$$$           .$$77  
     ..$$.       $$$$$            .$$$7 
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7 
$$$       .7$$$$$$$$$$$$$$$$      :$$$. 
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
$$$        $$$   7$$$7  .$$$    .$$$.   
$$$$             $$$$7         .$$$.    
7$$$7            7$$$$        7$$$      
 $$$$$                        $$$       
  $$$$7.                       $$  (TM)     
   $$$$$$$.           .7$$$$$$  $$      
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
       $$$$$$$$$$$$$$$$.                

configure: Package configured for: 
configure: OS type  : darwin8.8.3
configure: Host CPU : i386

Danach kompilieren wir Asterisk mit make, was einige Zeit dauern kann, daher empfehle ich an dieser Stelle eine Tasse Tee[20] oder Kaffee. [21]

$  make
gcc -O -Wall   -c mxml-attr.c
gcc -O -Wall   -c mxml-entity.c
gcc -O -Wall   -c mxml-file.c
gcc -O -Wall   -c mxml-index.c
gcc -O -Wall   -c mxml-node.c
[...]

Der Testrechner war allerdings schon nach etwa 2 bis 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 des Programms sudo.

Jetzt nur noch alle Dateien automatisch mit sudo make install installieren, also in die richtigen Verzeichnisse kopieren lassen[22]:

$  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
[...]

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.4.0

Ihren Asterisk-Server können Sie mit sudo asterisk starten und mit sudo asterisk -rx "stop now" beenden.

In „Asterisk automatisch beim Hochfahren starten“ finden Sie eine Beschreibung, wie man für Asterisk ein Startup-Item anlegt, um Asterisk automatisch beim Hochfahren zu starten.



[19] wobei die Umstellung noch nicht ganz abgeschlossen zu sein scheint

[20] Vorzugsweise einen Darjeeling First Flush FTGFOP von der Teekampagne

[21] Jedes kleine Kind weiß, dass man Kaffee nicht unbeaufsichtigt rumstehen lässt!

[22] Wer noch nie sudo ausgeführt hat, erhält dabei folgenden Hinweis:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.


Version 1.2, November 2002

Neue Version verfügbar

Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.

Asterisk-Tag 2008

Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org

Das gedruckte Buch