Hallo,
da ich die Doku ja sowieso auf Deutsch für meinen Chef machen muss, habe ich mir gedacht ich stell Sie Euch hier ins Forum. Ich habe die englische Version des Tutorials vom Zakotel (astertools) Forum genommen und ein wenig aufgearbeitet.
...
Für den Test der Installation des asterBoard verwenden wir für FreePBX/trixbox das pbxinaflash.iso, das beschriebene Setup verwendet die existierende MySQL Datenbank von FreePBX (asterisk), die phonebook.xml wird über /srv/www/html/amfphp/services/asterboard/WebAPI_freepbx.php aus der Datenbank erzeugt und direkt ans asterBoard übergeben. Telefone welche nach dem asterBoard neu installiert werden sind erst nach einem Neustart des asterBoard sichtbar.
Den FSD (Flash Security Daemon) haben wir mittels binary installiert, ein kompilieren war dadurch nicht nötig (währe auch nicht möglich gewesen, da kein Compiler installiert war, und bei vielen Kunden nicht installiert ist).
Für die Installation des asterBoard verwenden wir die Version 1.0.4 welche laut Zakotel für FreePBX geeignet ist.
Wir beginnen mit der Installation des Flash Security Daemon (fsd), Adobe hat seit Version 9.0.115.0 des Flash Players eine zusätzliche Sicherheitsfunktion eingebaut die bei einer Verbindung über ein ActionScript Socket oder XMLSocket Object des Applets eine TCP Verbindung auf Port 834 des Servers aufbaut und mittels <policy-file-request/> nachfrägt. Wenn die Antwort des Servers ausbleibt oder Falsch ist, erscheint eine Errormeldung im Flash Applet und die Verbindung wird nicht aufgebaut. Der FSD ist ein in ANSI C Server von Zakotel welcher genau auf diese Abfrage wartet und die richtige Antwort zurück gibt.
Eine genaue Beschreibung gibt es hier, den FSD stellt Zakotel im Source Code als OpenSource bereit.
Command Line:Der FSD wird in der Datei /etc/fsd/fsd.conf konfiguriert, hier setzten wir den Benutzer und Gruppe unter der FSD läuft. Werte: proc_user= daemon und proc_group = daemon der Wert access = 10.0.10.31 gibt an, wo das Applet installiert ist, für eine genaue Beschreibung siehe /etc/fsd/fsd.confCode:# mkdir /usr/src/fsd # cd /usr/src/fsd # wget -O fsd-binary-0.0.1.tar.gz http://download.astertools.com/opensource/fsd/fsd-binary-0.0.1.tar.gz # tar -xzf fsd-binary-0.0.1.tar.gz # cd /usr/src/fsd/fsd-binary # mkdir /etc/fsd # cp fsd.conf /etc/fsd/fsd.conf # cp fsd /usr/sbin/fsd # cp rc.freepbx.fsd /etc/init.d/fsd # chmod 755 /etc/init.d/fsd # chmod 755 /usr/sbin/fsd # chkconfig --add fsd
Code:... proc_user = daemon proc_group = daemon ...jetzt starten wir den fsd:Code:... access = 10.0.10.31 ...Als nächstes Installieren wir das Flash Applet und die dazu gehörenden Dateien:Code:# /etc/init.d/fsd start
Command Line:In der Sektion <astman> <host> der Datei /var/www/html/asterboard/config.xml setzen wir die IP Addresse der Asterisk:Code:# mkdir /usr/src/asterboard # cd /usr/src/asterboard # wget -O asterboard-1.0.4.tar.gz http://www.astertools.com/dl.php?f=ai2wjdf7 # tar -xzf asterboard-1.0.4.tar.gz # cd asterboard-1.0.4 # mkdir /var/www/html/asterboard # cp -R * /var/www/html/asterboard/ # cd /var/www/html/asterboard # mv config.xml config_save.xml # cp config.freepbx.xml config.xml
Code:nano /var/www/html/asterboard/config.xmlwenn der interne Kontext im Dialplan geändert wurde (wie bei Kunde XXX), wird dieser in der Datei /var/www/html/asterboard/config.xml in der Sektion <internal_context> geändert, wir belassen es in der Demoinstallation auf ext-local.Code:... <astman> <host>10.0.10.31</host> ...
Sollte ein Lizenzschlüssel für das asterBoard bereits vorhanden sein wird dieser am Anfang der Datei /var/www/html/asterboard/config.xml unter <key> eingetragen, für Mehrplatzinstallationen (wie bei Kunden XXX, wo derzeit 4 Vermittlungen damit arbeiten) erstellt man für jede Lizenz ein eigenes Profil, wir verwenden bei der Demoinstallation <key>DEMO</key>, welcher alle Funktionen beinhaltet. Eine genau Beschreibung zu den Profilen kann man hier nachlesen.Code:... <internal_context>ext-local</internal_context> ...
Für eine Testinstallation sollte man im Sektor <profile> nichts ändern.Code:<profile> <displayname>Operator Sales</displayname> <license> <key>XXXXXXXX</key> </license> </profile> <profile> <displayname>Operator Support</displayname> <license> <key>XXXXXXXX</key> </license> </profile>
Bei einer Standardinstallation von FreePBX sind alle Telefone im Kontext ext-local registriert, um zu Prüfen in welchem Kontext sich die Telefone Registriert haben setzt man auf der Asterisk CLI follgenden Befehl:
In diesem Beispiel sind 2 Telefone 210 und 211 im Kontext ext-local registriert, der Wert nach dem @ gibt den Kontext an.Code:localhost*CLI> show hints localhost*CLI> -= Registered Asterisk Dial Plan Hints =- 210@ext-local : SIP/6000 State:Idle Watchers 0 211@ext-local : SIP/6003 State:Idle Watchers 0 ---------------- - 2 hints registered
Bei einer Standardinstallation von FreePBX befinden sich die Konferenz Räume im Kontext ext-meetme und die Queues im Kontext ext-queue sollte der Dialplan für die Konferenz und Queues geändert worden sein (bitte im Dialplan nachsehen) muss der Kontext in der Dateiin Zeile 111, 112 und 113 geändert werden.Code:nano /srv/www/html/amfphp/services/asterboard/WebAPI_freepbx.php
Um das Layout der letzten Sitzung zu speichern fügen wir in die Datenbank asterisk eine neue Tabelle hinzu:
Nun starten wir mit der Konfiguration in der Web GUI von FreePBX, die Standardinstallation von FreePBX stellt keine Möglichkeit der Rufumleitungen bereit, um hier die Funktion der Umleitung im asterBoard verwenden zu können, ändern wir in der Datei /etc/asterisk/extensions_customer.conf den Kontext [from-internal-custom] (es wird dann keine Umleitung verwendet, es wird über die Asterisk interne Datenbank der Anrufweiterleitung "Call Forwards" gesetzt, damit werden die Anrufe auf die Mailbox oder dem entsprechend eingetragenen Wert weitergeleitet).Code:CREATE TABLE IF NOT EXISTS `ab_layout` ( `id` int(10) unsigned NOT NULL auto_increment, `sn` varchar(255) collate utf8_general_ci NOT NULL, `layoutdata` blob NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Wie wir gesehen haben setzt das Applet den Wert CF/<extension> auf mailbox bei einem doppelklick auf das Icon des Telefons, wenn man das Icon auf den Arbeitsplatz zieht und eine Nummer eingibt wird die Nummer als <value> gesetzt, die <family> und den <key> der Asterisk Datenbank kann mann in der Datei /var/www/html/asterboard/config.xml in der Sektion <astman> setzen, damit steht einer Kundenorientierten Konfiguration nichts mehr im Wege.Code:[from-internal-custom] exten => 1234,1,Playback(demo-congrats); extensions can dial 1234 exten => 1234,2,Hangup() exten => h,1,Hangup() include => custom-recordme; extensions can also dial 5678 exten = s,n(mailbox),Answer() exten = s,n,Wait(1) exten = s,n,VoiceMail(${EXTEN},u)
Zum Schluss fügen wir der Datei /etc/asterisk/manager_custom.conf folgenden Eintrag hinzu um dem Applet Zugriff auf die Manager Konsole zu geben:
Nun Aktivieren wir die Änderung über den GUI Button Activate Changes auf der Startseite, ACHTUNG: die Schaltfläche wird nur angezeigt wenn die GUI mitbekommt das Änderungen gemacht wurden, beim Editieren der Konfigurations Dateien bekommt die GUI das nicht mit, wenn man eine Extension bearbeitet (man braucht nur auf Submit klicken ohne etwas zu ändern) ist die Schaltfläche sichtbar.Code:[asterboard] secret = asterboard deny = 0.0.0.0/0.0.0.0 permit = 10.0.0.0/255.0.0.0 --!! geändert read = all write = all
Nun gehen wir mit einem Browser auf die Seite: http://10.0.10.31/asterboard/ und Starten das Applet.
...
Grüße,
Klaus


Zitieren