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.
Anmerkung | |
---|---|
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 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“).
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.
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 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
[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!
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