SlideShare ist ein Scribd-Unternehmen logo
Praktikumsbericht<br />Martin Becker<br />s0516299<br />Fachhochschule für Technik und Wirtschaft Berlin<br />Firma Comberry Ltd. Shanghai China<br />Oktober 2008 bis März 2009<br />Inhalt TOC  quot;
1-3quot;
    Einleitung PAGEREF _Toc225253747  3Porträt der Firma PAGEREF _Toc225253748  4Das Team – Organisation der Firma PAGEREF _Toc225253749  5Einarbeitungsphase PAGEREF _Toc225253750  6Einrichtung der Arbeitsumgebung PAGEREF _Toc225253751  6Einarbeitung in die Benutzerverwaltung PAGEREF _Toc225253752  6Backupsystemverwaltung PAGEREF _Toc225253753  6Angebotserstellungen PAGEREF _Toc225253754  8Angebot Renommee PAGEREF _Toc225253755  8Angebot Ospidali Psalmendatenbank PAGEREF _Toc225253756  8Angebot Helgaa PAGEREF _Toc225253757  9Projekt DocSEO PAGEREF _Toc225253758  10Beschreibung des Projektes PAGEREF _Toc225253759  10Entwicklungsumgebung PAGEREF _Toc225253760  12Vorstellung der Software Asterisk PAGEREF _Toc225253761  12Installation von Asterisk Version 1.6 PAGEREF _Toc225253762  12Funktionsweise von Asterisk PAGEREF _Toc225253763  13Ablaufplan des Programms PAGEREF _Toc225253764  14Warteschleifen PAGEREF _Toc225253765  15Die zu sammelnden Daten PAGEREF _Toc225253766  15Aufsetzen einer Datenbank PAGEREF _Toc225253767  16Auslagern der Call-Detail-Records (CDR) PAGEREF _Toc225253768  17Realtime – Auslagern der Konfigurationsdateien PAGEREF _Toc225253769  18DB-Abfragen im dialplan PAGEREF _Toc225253770  19Asterisk-Gateway-Interface PAGEREF _Toc225253771  19Verbindung mit dem deutschen Festnetz PAGEREF _Toc225253772  20Zusammenfassung PAGEREF _Toc225253773  21Fazit PAGEREF _Toc225253774  22<br />Einleitung<br />Als Voraussetzung zur Absolvierung meines Studiums an der FHTW Berlin im Studiengang internationale Medieninformatik ist es nötig, ein Praktikum im zukünftigen Berufsfeld in einer im Ausland ansässigen Firma zu tätigen.<br />Meine Entscheidung, dieses Praktikum in der Firma Comberry Ltd. in Shanghai / China zu machen, fällte ich nach kurzem Kontakt mit dem Chef der Firma. Nachdem ich mit ihm meine Vorstellungen über die Zielsetzung des Praktikums besprochen und er meine anfänglichen Zweifel an einem längerem Aufenthalt in China zerstreut hatte, einigten wir uns auf eine Zusammenarbeit in seiner Firma über einen Zeitraum von sechs Monaten, d.h. weit mehr als die vorgeschriebene Mindestdauer.<br />Das Hauptaugenmerk des Praktikums sollte in der Entwicklung von Telefon-applikationen (z.B. IPhone) und webbasierten Anwendungen liegen, sowohl im Front- als auch im Backend. Darüber hinaus wollte ich als Teil eines Teams an der Produktion eines größeren Projektes beteiligt sein, um Erfahrungen in der Organisation und Umsetzung derartiger Aufgaben zu sammeln. Im Zusammenhang mit diesen Wünschen versprach ich mir eine Erweiterung meiner Fähigkeiten in verschiedenen Programmiersprachen wie Java, PHP und vielleicht auch C/C++. Als besonderen Nebeneffekt erhoffte ich mir auch eine deutliche Verbesserung meiner Kenntnisse der englischen Sprache.<br />All dies schien die Firma Comberry Ltd. aufgrund der Vielfältigkeit der Projekte zu bieten. Des Weiteren wurde mir eine gute Organisation der alltäglichen Dinge, z.B. das Stellen einer Unterkunft nach “gehobenen westlichen Standard”, unterbreitet und der positive persönlich Eindruck durch die Telefongespräche mit dem Besitzer des Unternehmens ließen mich zu der Entscheidung kommen, für ein halbes Jahr nach China zu gehen.<br />Porträt der Firma<br />Die Firma Comberry Ltd. wurde im Jahr 2004 in London gegründet. Die Besitzer der Firma sind Martin Hackl (CEO) und Godfrey Du (Management). Der Hauptsitz der Firma ist in London. In Deutschland gibt es eine Zweigstelle um den Kontakt mit der Kundschaft, welche zum größten Teil aus Deutschland ist, zu pflegen. Die Produktion und Umsetzung aller Projekte findet (aus wahrscheinlich finanziellen Gründen) in Shanghai statt.<br />Das Unternehmen hat ein breites Spektrum an Dienstleistungen und Eigenent-wicklungen zu bieten. In der näheren Vergangenheit wurden zahlreiche Projekte für Internetanwendungen umgesetzt. Als Beispiele wären hier die Internetplattform “TVman”, die browserbasierte Live Community “Vimp” und das Media CMS “OS Tube” zu nennen.<br />Derzeit entwickelt das Unternehmen in Eigeninitiative einen internetbasierten Vermittlungsservice mit VoIP-Telekommunikation und macht erste Gehversuche auf dem Sektor der Telefonapplikationen für die Firmen Nokia und Apple. Nebenher läuft als eigenständiger aber von der Firma kontrollierter Teil ein Unternehmen, welches sich auf die Produktion von Adobe Flash-Animationen im Comic-Bereich spezialisiert hat. Dieser Teil der Firma wird durch chinesische Führungskräfte nach Vorgaben durch Martin Hackl und weiteren Partnern aus Deutschland geleitet und ist maßgeblich an der Umsetzung einer e-Learning Plattform, finanziert durch die Firma Bertelsmann, beteiligt.<br />In näherer Zukunft ist eine Ausweitung des Vermittlungsserviceprojektes zu erwarten. In diesem Jahr ist darüberhinaus noch die Entwicklung einer Zeichentrick-Filmserie geplant.<br />Das Team – Organisation der Firma<br />Die Führungsposition in der Entwicklung und bei der Verteilung der Aufgaben nimmt Martin Hackl ein. Er gibt die Projekte vor und vergibt Teilaufgaben an die einzelnen Mitarbeiter. Mit ihm habe ich jeweils direkt meine jeweils nächsten Aufgaben besprochen und auch bei ihm nach Beendigung des Projektes / der Teilaufgabe abgegeben bzw. vorgeführt.<br />Organigramm<br />Einarbeitungsphase<br />Einrichtung der Arbeitsumgebung<br />Als meine erste Aufgabe galt es mir meinen eigenen Arbeitsplatz einzurichten. Mir wurde ein handelsüblicher Rechner zur Verfügung gestellt auf dem das Betriebs-system Windows XP bereits vorinstalliert war. Um diesen Rechner nutzen zu können wurde mir ein User-Account im Firmennetzwerk eingerichtet. Ich musste mich selbst-ständig in das firmeninterne Bug-Reporting-System “Mantis” einarbeiten. Des Weiteren galt es, die von meinen Kollegen genutzten Kommunikationstools wie Skype und Pidgin zu installieren und einen Account im e-Mail-Versandsystem einrichten zu lassen.<br />Einarbeitung in die Benutzerverwaltung<br />In der Zeit meines Praktikums sollte ich jederzeit in der Lage sein neue Nutzer im Firmennetzwerk anzulegen und diese mit entsprechenden Zugriffsrechten zu versehen. Die Verwaltung der User-Accounts wird mit dem Programm “Active Directory Users and Computers” der Firma Microsoft verwendet. Es bestand bis zu diesem Zeitpunkt keinerlei Dokumentation, somit erstellte ich eine Schritt-für-Schritt Anleitung mit Screenshots zum Anlegen neuer User.<br />Die gleiche Aufgabe stellte sich für das Anlegen von neuen Mail-Accounts für neue Mitarbeiter. Als primäres e-Mail-Versandsystem wird ein Produkt von Google genutzt. Als Fall-back-System wird zusätzlich “Microsoft Exchange Server 2007” verwendet. Auch für dieses Programm erstellte ich nach Einarbeitung eine Anleitung um die Arbeit meinen Nachfolgern zu erleichtern.<br />(Für beide Anleitungen sehe ich an dieser Stelle keinen praktischen Zweck diese hier aufzuführen deshalb verzichte ich darauf.)<br />Backupsystemverwaltung<br />Zu Beginn musste festgestellt werden, welche Daten gesichert werden sollten. Als meine Aufgabe in Zusammenarbeit mit einem erfahreneren Kollegen stellte sich die Sicherung der Datenbanken auf dem Linux Web-Server heraus. Wir erstellten einen Cron-Job im Ordner  “/etc/cron.daily/” auf dem Server. <br />Script:<br />#!/bin/sh<br />date=`date -I`<br />mysqldump --all-databases | gzip > /var/www/html/mysql_backup/backup-$date.sql.gz<br />Dieses Script macht einen Dump aller Datenbanken und schreibt diese in eine einzelne Datei. Der Dateiname enthält dabei das Datum und die Uhrzeit des Backups. Das Backup wird komprimiert und im Ordner “/var/www/html/mysql_backup/” gespeichert.<br />Angebotserstellungen<br />Angebot Renommee<br />Um ein Angebot im Namen der Firma zu erstellen wird das Programm “Microsoft Excel” verwendet. Für dieses Programm stand zu Beginn meines Praktikums bereits ein von meinem Vorgänger erstelltes Makro bereit. Dieses Makro enthält eine auto-matische Zusammenrechnung der Stunden, Arbeitskosten und die automatisierte Seitenumbrucheinstellung. Nach Erforschung des Programms konnte ich mit der eigentlichen Arbeit beginnen.<br />Um festzustellen, welche Arbeitsabläufe in Rechnung gestellt werden müssten war es notwendig, die Mußkriterien des Projektes heraus zu finden. Dazu wurden mir mehrere e-Mails des Kunden übermittelt welche ich durchlesen und verstehen musste. Als Anhaltspunkte für den Umfang der einzelnen Arbeiten erhielt ich Einblick in viele verschiedene ältere Angebote der Firma und konnte somit die Anzahl der Arbeitsstunden festlegen. Zuletzt wurde das Angebot mit dem Chef besprochen und korrigiert. Der gesamte Prozess erstreckte sich über zwei Arbeitstage.<br />Angebot Ospidali Psalmendatenbank<br />Als neue Aufgabe sollte ich ein weiteres Angebot in ähnlicher Form erstellen. Dieses Mal  lag ein vom Kunden erstelltes “Pflichtenheft” vor. Somit bestand meine Hauptaufgabe im Studium dieses Dokumentes. Leider war dies nicht im Entferntesten für die Softwareentwicklung geeignet. Es befanden sich sehr viele Ungereimtheiten und nicht eindeutige Aussagen bzw. Wünsche des Kunden in diesem Dokument somit verbrachte ich zwei Arbeitstage mit dem Herausfinden “was die eigentlich wollen”.<br />Letztendlich konnte ich dieses Projekt in 11 große Arbeitsschritte einteilen. <br />Einrichten der Entwicklungsumgebung<br />Datenbankentwurf<br />Layout-Gestaltung und Stylesheet-Erstellung<br />Erstellung der Navigation<br />...<br />Mit wurde bei diesem Angebot bewusst, dass viele Arbeitsschritte sich von Projekt zu Projekt immer wieder wiederholen bzw. sich sehr ähneln. Daher war es einfach sich durch Sichtung der alten Angebote ein Bild vom Umfang des Projektes zu machen.<br />Des Weiteren habe ich bei der Erstellung dieses Angebotes gelernt, dass viele Kunden es vorziehen, ein sogenanntes Pflichtenheft in laienhafter Form zu erstellen und dies an eine Firma zur Angebotserstellung weiterleiten. Das dabei von professionellen Softwareentwicklern erstellte Angebot wird daraufhin häufig als Basis für ein neues Pflichtenheft missbraucht. Dieser Umstand erschwert es den kleinen und mittel-ständischen Unternehmen sich am Markt zu behaupten.<br />Angebot Helgaa<br />Die Firma hatte in der Vergangenheit schon einmal an dem Projekt “Helgaa” gearbeitet. Dieses scheiterte jedoch, da es für die Auftraggeber finanziell nicht weiter tragbar war. Der Grund war schlicht eine fehlende Übersicht über die Vielzahl der einzelnen Aufgabengebiete. Es gab nur ein mangelhaftes Pflichtenheft.<br />Diese Auftraggeber kamen erneut mit einer komplett neu erstellten Dummy-Website auf unsere Firma zu und erbaten ein Angebot dazu. Als meine Aufgabe stellte sich die Erforschung dieser Website und die Erstellung eines Angebotes heraus.<br />Bei dem Projekt Helgaa handelt es sich um eine Online-Community mit Browser-spieloberfläche in Form einer Flash-Stadtkarte. Die Website besteht aus einer Startseite mit Login-Möglichkeit. Nach dem Login kann man ähnlich der Online-Community “Facebook” mit anderen Mitspielern kommunizieren, handeln und spielen. Als besonderes Herausstellungsmerkmal steht dabei die Spieloberfläche im Vordergrund, auf der jeder Mitspieler nach bestimmten Parametern Objekte platzieren und verändern kann.<br />Nach sechs Arbeitstagen der Analyse und dem Versuch der genauen Beschreibung des gesamten Projektes wurde ich durch meinen Chef in der Arbeit unterbrochen. Dieses Projekt ist extrem umfangreich und durch den Auftraggeber leider nicht eindeutig beschrieben, dass nur ein Teilbereich der gesamten Community von der Firma umgesetzt werden würde. Das von mir erstellte Angebot umfasste mehr als 15 Seiten mit verschiedensten Aufgabenbereichen. Nur durch eine exakte Beschreibung wird dieses Projekt umsetzbar sein.<br />Projekt DocSEO<br />Beschreibung des Projektes<br />Bei dem Projekt handelt es sich um eine professionelle Klientenvermittlung, welche die Vorteile von Telefon und Internet miteinander verknüpft. Pro Vermittlung eines Klienten wird dem Kunden ein einmaliges Erfolgshonorar berechnet. Schaffen es die Vermittler (die Firma Comberry) nicht, neue Klienten für einen Kunden zu werben, so fallen für diesen auch keine Kosten an.<br />Das Telefonvermittlungssystem (TVS) ist das Herzstück des Internet-basierten Klientenvermittlungssystems. Damit ist es möglich, teilnehmenden Kunden gegenüber eindeutig zu beweisen, wie viele Vermittlungen durch das Engagement der Vermittler tatsächlich zustande gekommen sind.<br />Jeder Kunde erhält 2 kostenfreie Rufnummern für seine Homepage bzw. Flyer und andere Werbemittel (0800er Servernummern, etwa 0800/1234567-101 und 0800/1234567-102). Eine Nummer dient zur Terminvereinbarung für Privatklienten, die andere zur Terminvereinbarung für weitere Klienten. Die Nummern sind direkt mit dem zentralen TVS der Vermittler in Luxemburg verbunden. Das System basiert auf einer modifizierten Version der freien VoIP-Telefonanlage Asterisk. Diese Software nimmt eingehende Gespräche automatisch entgegen und ordnet sie anhand der Durchwahl einem Kunden zu.<br />In diesem Projekt handelt es sich bei den Kunden um Arztpraxen, bei den Klienten um private bzw. Kassen-Patienten. Der Klient(Patient) hört zunächst eine Begrüßung wie etwa „Herzlich willkommen in der gynäkologischen Praxis Dr. Meier“. Daraufhin wir der Klient dazu aufgefordert, eine Angabe darüber zu machen, ob er schon einmal zu Gast in der Praxis war oder ob er ein neuer Patient ist: „Falls Sie zum ersten Mal einen Termin bei uns vereinbaren, bleiben Sie bitte einfach in der Leitung. Falls Sie bereits Patient bei uns sind, drücken Sie bitte die 1“.<br />Das Vermittlungssystem hat nun folge Informationen gesammelt:<br />Telefonnummer des Anrufers (sofern übermittelt)<br />Name des Inhabers des Telefonanschlusses (falls im Telefonbuch eingetragen)<br />Versicherungsstatus des Anrufers (privat oder gesetzlich)<br />Kundenstatus des Anrufers (neuer Patient oder wiederkehrender Patient)<br />Der nächste Schritt ist die Vermittlung des Gesprächs mit der entsprechenden Arztpraxis. Der Anrufer hört in der Zwischenzeit eine Ansage: „Bitte haben Sie einen Moment Geduld. Eine Sprachstundenhilfe ist gleich für Sie da.“<br />Das TVS kontaktiert nun die Arztpraxis. Sobald der Anruf von einer Sprechstundenhilfe entgegengenommen wird, gibt das TVS per Ansage alle relevanten Informationen zum Anrufer durch (Beispiel): „Patientenvermittlung. Anrufer ist ein neuer Privatpatient. Verbinde…“. Die Vermittlung ist damit abgeschlossen.<br />Das TVS speichert nun lediglich noch die Dauer des Gesprächs zwischen Anrufer und Sprechstundenhilfe. Sollte das Gespräch weniger als 15 Sek. andauern, wird nicht davon ausgegangen, dass ein Termin vereinbart wurde.<br />Detailierte Statistiken zu jeder Arztpraxen sind Grundlage für die Abrechnung mit der teilnehmenden Arztpraxen. Die für die Statistiken erforderlichen Daten  über die einzelnen Telefonate werden von dem TVS vollautomatisch für eine weitere Auswertung  in einer Datenbank abgespeichert.<br />Detailierte Statistiken zu jeder Arztpraxen sind Grundlage für die Abrechnung mit der teilnehmenden Arztpraxen. Diese werden vom TVS voll-automatisch erzeugt.<br />Entwicklungsumgebung<br />Auf dem Arbeitsrechner ist das Betriebssystem Windows XP Professional 64Bit Version installiert. Für die Arbeit an der virtuellen Telefonanlage werden folgende Programme benötigt / benutzt:<br />VM-Ware<br />Ubuntu-Betriebssystem in der VM laufend<br />Xlite – Softphone<br />Asterisk open source PBX<br />Auf meinem PC  war schon durch einen Praktikanten, welcher vorher an diesem Projekt erste Tests gemacht hat, eine Virtual Maschine(VM) auf dem Rechner installiert. In der VM läuft Ubuntu. Die Asterisk-Software der Version 1.4 war bereits vorinstalliert.<br />Vorstellung der Software Asterisk<br />Asterisk ist eine Software, welche alle Moeglichkeiten einer herkoemmlichen Telefonanlage bereitstellen kann. Sie unterstuetzt Verbindungen mittels Voice-over-IP (VoIP) in Verbindung mit unterschiedlichen Protokollen. Durch das breite Spektrum an Funktionen, Schnittstellen und unterstuetzten Protokollen und durch das leichte Manipulieren mittels einer eigenen Scriptsprache fiel die Entscheidung auf eben diese Software, um mit ihr das Projekt umzusetzen. Als Uebertragungsprotokoll benutzen wir in fuer die Anrufe das Setion Initiation Protocol (SIP) welches sich durch verschiedene Vorzuege als das beste heraus stellte.<br />Installation von Asterisk Version 1.6<br />Um möglichst alle Schritte zum Aufsetzen der Software selbst zu erlernen entschied ich mich die vorinstallierte Software zu deinstallieren und selbst von Grund auf die Anlage neu einzuspielen. Dies ist nach Anleitung denkbar einfach. Zuerst muss die Software von entsprechender Stelle heruntergeladen und danach installiert werden.<br />#cd /usr/src<br />/usr/src# wget http://downloads.digium.com/pub/asterisk/asterisk-1.6-current.tar.gz<br />/usr/src# tar xvzf asterisk-1.6-current.tar.gz<br />/usr/src# cd asterisk-1.6*<br />usr/src/asterisk-1.4.10# ./configure<br />usr/src/asterisk-1.4.10# make<br />usr/src/asterisk-1.4.10# make install<br />Funktionsweise von Asterisk<br />Um die Software seinen Wünschen entsprechend zu verändern muss man in den dafür vorgesehenen Konfigurationsdateien (zu finden unter ‚/etc/asterisk/‘) programmieren. Das Herzstück der Software stellt dabei die Datei ‚extensions.conf‘ dar. In dieser wird der sogenannte dialplan (deutsch: Wählplan) festgelegt. Hier findet die Zuweisung von Nummern und Telefonen statt. In der ‚sip.conf‘ werden die Telefone, mit denen man mit dem System kommunizieren kann, fest. Zur Erklärung der Funktionsweise diente in meinem Falle ein kleines Beispiel.<br />Zuerst wird ein Telefon in der ‚sip.conf‘ definiert.<br />[general]<br />port=5060<br />bindaddr=0.0.0.0<br />context=sonstige<br />[2000]<br />type=friend<br />context=meine-telefone<br />secret=1234<br />host=dynamic<br />Danach wird im dialplan im dafür vorgesehenen Kontext die gewünschte Funktion festgelegt.<br />[sonstige]<br />[meine-telefone]<br />exten => 1001,1,Answer()<br />exten => 1001,2,Playback(hello-world)<br />exten => 1001,3,Hangup()<br />Es muss nun ein Softphone, in meinem Fall die Software Xlite, installiert und entsprechend konfiguriert (Username:2000, Passwort:1234, IP-Adresse des Asterisk-Servers usw.) werden. Dann kann man Asterisk starten.<br />etc/asterisk# asterisk –vvvvvc<br />Nun befindet man sich auf dem Command Line Interface (CLI) von Asterisk. Hier kann man verschiedene Befehle an die Software übergeben und den aktuellen Ablauf des Programms mit verfolgen. Wenn man nun das Softphone richtig eingestellt hat, kann man auf der CLI folgende Ausgabe sehen.<br />*CLI> -- Registered SIP ’2000’ at 192.168.0.69 port 5060 expires 120 -- Unregistered SIP ’2000’<br />Ablaufplan des Programms<br />Nach den ersten erfolgreichen Tests mit Asterisk musste festgelegt werden, wie der eigentliche Ablauf des von mir zu erstellenden Programms sein sollte. Hierzu erläuterte mir mein Vorgesetzter seine Vorstellungen und ich visualisierte diesen Ablaufplan mit der Software ‚Microsoft Office Visio 2007‘. <br />Die Queues sind Warteschleifen. In diese wird der anrufende Patient geschickt und soll Musik zu hören bekommen solange er auf Verbindung mit der Arztpraxis wartet. Das System soll im Hintergrund automatisch die entsprechende Praxis anrufen. Um Missverständnissen bei der Verbindung des Anrufers mit dem Angerufenen vorzubeugen und die Praxisangestellten auf das zu erwartende Gespräch vor-zubereiten, soll dem Angerufenen eine Soundfile vorgespielt werden.<br />Warteschleifen<br />Die Warteschleifen (Queues) haben in diesem Programm eine ausschlaggebende Bedeutung. Sie werden vom Anrufer angerufen. Dieser kann dann eine vordefinierte Warteschleifenmusik hören während das Programm den Wählvorgang automatisch übernimmt. Die Queues werden in der ‚queues.conf‘ definiert und mit Eigenschaften versehen. In meinem Fall benötige ich vier Queues. Dies ergibt sich aus dem Status der Versicherung und daraus, ob der Patient schon registriert ist oder eben nicht. Als geeignete Funktion zur Ankündigung des zu erwartenden Patiententyps stellte sich das Abspielen von announcements (Deutsch: Ankündigungen) heraus.<br />[49030123_old_private]<br />member => SIP/2000<br />announce = comberry/hellodoc_old_private<br />[49030123_old_public]<br />member => SIP/2000<br />announce = comberry/hellodoc_old_private<br />...<br />Die zu sammelnden Daten<br />Um eine Ausgangsbasis für eine Rechnungsstellung zu haben ist es notwendig, die Daten über eine erfolgreiche Verbindung zu ermitteln. Die Software Asterisk bringt standardmäßig eine Log-Funktion der Telefonverbindungen mit. Diese werden in einer CSV-Datei mit dem Namen ‚Master.csv‘ gespeichert welche sich im Ordner ‚/var/log/asterisk/cdr-csv/‘ befindet. Des Weiteren wird die Speicherung folgender Daten vom System verlangt:<br />Telefonnummer der jeweils angerufenen Praxis<br />Telefonnummer des Anrufers (sofern übermittelt)<br />Zeit des Telefongesprächs (nur die reine Verbindungszeit in der beide Gesprächspartner wirklich miteinander verbunden sind)<br />Datum und Uhrzeit des Gesprächs<br />Aufsetzen einer Datenbank<br />Erst durch eine Datenbank (DB) wird es für alle Module in dem gesamten Projekt möglich, Daten miteinander auszutauschen, anzulegen oder zu löschen. In verschiedenen Anleitungen zu der Asterisk-Software wird empfohlen, eine Postgre-SQL-DB zu benutzen, somit entschied ich mich eine solche in meiner virtual machine zu installieren. Es stellte sich als äußerst schwierig heraus, eine Verbindung zwischen Asterisk und der aufgesetzten DB herzustellen. Nach einer Woche crashte die gesamte Installation der Asterisk-Software sodass ich mich für eine Weiterarbeit auf dem eigentlichen Projekte-Server in Luxemburg entschied. Auf dieser Plattform ist ohnehin schon ein MySQL-DB-Server installiert, welcher vom gesamten Projekt genutzt wird. <br />Die Arbeitsschritte für eine erfolgreiche Kommunikation von Asterisk mit der DB fassen sich in folgende Stichpunkte zusammen:<br />Installation eines ODBC-Layers für MySQL (MyODBC)<br />Konfiguration der entsprechenden Dateien in Asterisk<br />Anlegen der gewünschten DB mit den dazugehörigen Tabellen<br />Da die Konfiguration sehr aufwändig war und viel Zeit gekostet hat soll die folgende Grafik die Kommunikation der einzelnen Dateien veranschaulichen und als Dokumentation dienen:<br />Auslagern der Call-Detail-Records (CDR)<br />Die Daten werden zur besseren Analyse in eine DB ausgelagert. Dazu musste eine Tabelle mit dem Namen ‚cdr‘ in der DB ‚asterisk‘ auf dem Projekte-Server angelegt werden. Die Tabelle wurde von mir nach Vorgaben von der Website ‚http://www.voip-info.org/wiki-Asterisk+cdr+mysql‘ erstellt. Darüberhinaus muss in der Datei ‚cdr_odbc.conf‘ noch die Verbindung zur DB hergestellt werden. Somit werden sämtliche Daten über Telefongespräche, welche über die Anlage geführt werden, in einer Tabelle gespeichert. Nach umfangreichen Tests stellte sich jedoch heraus, dass die Daten nicht zur genauen Analyse ausreichen. Das Problem liegt in der Speicherung der Zeit der Verbindung des Anrufers mit dem System. Es wird von Asterisk nicht unterschieden, ob der Anrufer gerade nur mit der Software verbunden ist oder ob ein echtes Telefongespräch zwischen Patient und Arztpraxis zustande kommt. <br />Da die Gespräche mit den Praxen jeweils über eine Queue geführt werden, müssen die Events, ausgelöst durch die Queues, analysiert werden. Derzeit existiert (noch) keine optimale Lösung für eine Speicherung der Events der Queues in einer DB. Asterisk legt eine log-Datei namens ‚queue_log‘ im Ordner ‚/var/log/asterisk/‘ an. Um diese Daten ebenfalls in die DB auszulagern muss man selbst ein Script anlegen, um die Daten automatisch in eine Tabelle zu speichern. Ich habe mich für ein Perl-Script, welches ständig im Hintergrund läuft, entschieden. Es gibt ebenfalls die Möglichkeit in der ‚extconfig.conf‘ das Übertragen der Logs in eine Tabelle freizuschalten, diese hat aber bei dieser Installation nicht funktioniert. In beiden Fällen muss man in der DB eine entsprechende Tabelle vorher anlegen. Diese hat den Namen ‚csr_queue‘. Eine gute Beschreibung zum Anlegen der DB-Tabelle findet man unter ‚http://www.voip-info.org/wiki/view/Asterisk+queue_log+on+MySQL‘.<br />Realtime – Auslagern der Konfigurationsdateien<br />Die Software Asterisk bietet die Möglichkeit der Auslagerung einiger Konfigu-rationsdateien, welche im Ordner ‚/etc/asterik/‘ zu finden sind, in eine DB. Dies wird Realtime genannt. Es gibt statisches Realtime, welches im Prinzip nur anstelle der Dateien im genannten Ordner die entsprechenden Tabellen in der DB ausliest, und es gibt dynamisches Realtime, was das Nachladen von neuen Informationen ohne einen Neustart der Software in Echtzeit erlaubt. Da das System jederzeit mit neuen Daten umgehen soll, ist die zweite Variante das Mittel der Wahl.<br />Für eine neue Praxis werden folgende Bestandteile angelegt:<br />Eintrag in die ‚sip.conf‘, welches das Telefon einer Praxis definiert<br />Einträge in die ‚queues.conf‘, welche die Warteschleifen für eine Praxis definiert<br />Eintrag in die Tabelle ‚available_numbers‘, welche alle anwählbaren 0800-Telefonnummern definiert (keine Asterisk-Konfiguration)<br />Eintrag in die Tabelle ‚phone_numbers‘, welche die 0800er-Nummer den Praxisnummern und einen Typen zuordnet (keine Asterisk-Konfiguration)<br />Um dem System mitzuteilen, dass Konfigurationen in der DB zu finden sind, muss man die ausgelagerten conf-Dateien in der ‚extconfig.conf‘ eintragen, z.B. muss man für die ‚sip.conf‘ einen solchen Eintrag schreiben:<br />sipusers => odbc,asterisk,sip<br />sippeers => odbc,asterisk,sip<br />Damit werden SIP-Telefone, welche nicht in der ‚sip.conf‘ eingetragen sind, vom System aber als Ziel angesteuert werden sollen, in der entsprechenden Tabelle gesucht. Der Einfachheit halber habe ich mich für eine Kombination von peers (können vom System angerufen werden) und von users (können über das System anrufen) in einer Tabelle entschieden. Die Sip-Tabelle habe ich nach der Anleitung zu finden unter ‚http://www.voip-info.org/wiki-Asterisk+RealTime+Sip‘, die Queue-Tabelle nach Anleitung von ‚http://www.voip-info.org/wiki/view/Asterisk+RealTime+Queue‘,<br />angelegt.<br />DB-Abfragen im dialplan <br />Zur flexiblen Gestaltung des dialplans kann man nun die Einträge in der DB benutzen. Mit Asterisk kann man sowohl lesend als auch schreibend auf die Daten zugreifen. Diese Datenbankenzugriffe werden in der Datei ‚func_odbc.conf‘ definiert. Ein Beispiel für einen DB-Lesezugriff:<br />[GermanPhoneNumber]<br />prefix=get<br />dsn=asterisk<br />read=SELECT german_number FROM phone_numbers WHERE direct_dial = '${ARG1}' <br />Der entsprechende Aufruf im dialplan sieht dann folgendermaßen aus:<br />exten => _498002200120XXX,n,Set(GLOBAL(PHONENUMBER)=${get_GermanPhoneNumber(${EXTEN})}) <br />Da der schreibende Zugriff zwar theoretisch möglich ist. aber von der Syntax her unnötig kompliziert, habe ich mich entschieden, die Daten per Aufruf eines externen Skriptes in die DB einzutragen.<br />Asterisk-Gateway-Interface<br />Das Asterisk-Gateway-Interface (AGI) ist eine Schnittstelle, mit der man aus dem dialplan direkt externe Programme / Skripte ausführen kann. Diesen kann man Parametern übergeben und sich auch Werte in den dialplan zurückgeben lassen. Mit dem AGI kann man die meisten modernen Programmiersprachen ausführen lassen wie Perl, PHP, Java etc. In diesem Projekt starte ich mehrere kleinere php-Scripte um Werte in die DB zu übertragen. Ein Aufruf aus dem dialplan sieht wie folgt aus:<br />exten => check,n,AGI(checkOpeningTime.php|${PHONENUMBER})<br />Die Skripte liegen standardmäßig im Ordner ‚/usr/share/asterisk/agi-bin/‘.  Die Übergabe der Werte aus den Skripten erfolgen über die Kommunikationskanäle STDIN, STDOUT und STDERR. In meinem Fall benutzte ich php-Skripte, d.h. die Ausgabe des Skriptes lautet dann bspw. so:<br />echo quot;
exec Set AUSGABE=$speechquot;
; <br />Der Wert muss dann noch im dialplan entgegengenommen werden.<br />exten => notavailable,4,Set(SPEECH=${AUSGABE})<br />exten => notavailable,5,Playback(${SPEECH}) <br />Verbindung mit dem deutschen Festnetz<br />Als eine meine ersten Aufgaben war das Auffinden eines geeigneten Partners für unser Vorhaben. Wir benötigen eine Firma, welche uns eine 0800er Nummer mit 1000 Durchwahlen zu einem möglichst günstigen Preis anbieten kann. Des Weiteren benötigen wir einen Partner, welchen wir als sogenanntes SIP-Gate nutzen können, d.h. welche die Anrufe aus dem deutschen Festnetz entgegennimmt und via VoIP an unsere statische IP weiterleitet. Mit der Firma Outbox AG fand ich die geeignete Lösung. <br />Outbox leitet nun alle Gespräche über die von der Firma Comberry gemietete 0800er-Nummer an unser System weiter. Diese werden daraufhin verarbeitet und dann wieder an Outbox zurückgesandt von wo wie dann wiederum in das deutsche Festnetz eingespeist werden. <br />Zusammenfassung<br />Das Projekt DocSEO ist bis zum Ende meines Praktikums noch nicht vollständig abgeschlossen. Es besteht aus vielen verschiedenen Modulen welche in der Entwicklung noch nicht fertig sind denn das Projekt ist eine Eigenentwicklung der Firma und somit in der Priorität weiter hinten angestellt als andere Projekte.<br />Die Aufgaben, welche mir gestellt wurden, habe ich nach bestem Wissen und Können umgesetzt, allerdings wurden zwischenzeitlich auch immer mal wieder die  konkreten Wünsche der Funktionalitäten geändert was einzelne Aufgaben zeitlich in ihrer Umsetzung sehr gedehnt hat.<br />Mein Chef hat eine viele gute Ideen, bei denen mir es auch Spaß gemacht hat, an der Umsetzung mit beteiligt gewesen zu sein. Zum Beispiel sollte es möglich sein, die Öffnungszeiten einer Praxis per dynamischer Bandansage sich anzuhören. Diese Funktionalität ist in dem von mir programmierten Telefonsystem zwar jetzt gegeben, muss aber vorerst auskommentiert bleiben, da die Informationen zu den Öffnungszeiten noch nicht von dem Projektkern bereitgestellt werden können.<br />Zusammenfassend kann ich sagen, mein Teilprojekt soweit abgeschlossen zu haben und es gut dokumentiert an meinen Nachfolger (ebenfalls von der FHTW) nach zwei-wöchiger Einarbeitungszeit zur weiteren Bearbeitung zu übergeben. Es bleiben noch einige neue Ideen unbearbeitet, da die Zeit meines Praktikums abgelaufen ist.<br />Fazit<br />Die Firma Comberry hat mir mit den übergebenen Aufgaben viel Vertrauen entgegengebracht. Die meiste Zeit war ich beim Erlernen der neuen Techniken und beim Recherchieren auf mich selbst gestellt, was sich im Nachhinein als eine mir sehr gelegene Arbeitsweise herausgestellt hat.<br />Ich kann jetzt von mir behaupten, mir professionelles Wissen in der VoIP-Telefonie angeeignet zu haben und darüberhinaus auch viel über Linux Ubuntu gelernt zu haben. Desweiteren habe ich meine Kenntnisse in der Programmiersprache PHP erweitert und bin mit dem Datenbankmanagementsystem MySQL vertraut. Gern hätte ich auch in anderen Programmiersprachen mein Können verbessert, leider blieb mir das aufgrund des Projektes verwehrt.<br />Die Volksrepublik China ist ein hochinteressantes Land mit sehr eigenen Charakteristika. Am meisten bin ich wohl von den sozialen Eigenschaften der chinesischen Bevölkerung beeindruckt, welche nicht unterschiedlicher zu der europäischen sein könnten. Ich muss dazu allerdings sagen, dass ich die letzten sechs Monate ausschließlich in riesigen Metropolen verbracht habe, deshalb kann ich nur schwer über China als ganzes urteilen. Nur soviel: ich bin ohne Vorurteile in dieses Land gegangen doch die Respektlosigkeit dem Leben anderer gegenüber, mangelnde Hygiene und die Arbeitseinstellung der chinesischen Bevölkerung werde ich nur schwer vergessen können.<br />Ich bin an einer weiteren Zusammenarbeit mit der Firma Comberry interessiert, da mich die Dynamik der Firma und die Aufgabengebiete faszinieren. Ich hoffe mit meiner Arbeit einen produktiven Beitrag für die Firma geleistet zu haben und bin mir sicher, dass die freiwillige Verlängerung der Praktikumszeit sich für mich bezahlt gemacht hat.<br />
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...

Weitere ähnliche Inhalte

Was ist angesagt?

Slides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptx
Slides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptxSlides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptx
Slides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
9. Vida, Morte e Ressurreição de Cristo
9. Vida, Morte e Ressurreição de Cristo9. Vida, Morte e Ressurreição de Cristo
9. Vida, Morte e Ressurreição de Cristo
IASD Asa Norte
 
Curso de hebraico. vol. 1
Curso de hebraico. vol. 1Curso de hebraico. vol. 1
Curso de hebraico. vol. 1
Adriana Nacif
 
Surah Ha Mim Sajdah
Surah Ha Mim Sajdah Surah Ha Mim Sajdah
Surah Ha Mim Sajdah
Azaakhaana
 
Slides Licao 4, A Justica de Deus em Cristo.pptx
Slides Licao 4, A Justica de Deus em Cristo.pptxSlides Licao 4, A Justica de Deus em Cristo.pptx
Slides Licao 4, A Justica de Deus em Cristo.pptx
Igreja Evangélica Assembleia de Deus Celebrando o Rei
 
Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...
Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...
Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...
Igreja Evangélica Assembleia de Deus Celebrando o Rei
 
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptxSlides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
LuizHenriquedeAlmeid6
 
Hazrat Saad bin Abi Waqas
Hazrat Saad bin Abi WaqasHazrat Saad bin Abi Waqas
Hazrat Saad bin Abi Waqas
Muhammad Nabeel Musharraf
 
Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...
Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...
Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...
Igreja Evangélica Assembleia de Deus Celebrando o Rei
 
A Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja Adventista
A Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja AdventistaA Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja Adventista
A Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja Adventista
Igreja Adventista do Sétimo Dia
 
Crecimiento 5 clase 8
Crecimiento 5 clase 8Crecimiento 5 clase 8
Crecimiento 5 clase 8
FRANCISCO GATICA
 
Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...
Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...
Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...
Igreja Evangélica Assembleia de Deus Celebrando o Rei
 
Workbook (1)
Workbook (1)Workbook (1)
Workbook (1)
SkyEdge
 
Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...
Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...
Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...
Igreja Evangélica Assembleia de Deus Celebrando o Rei
 
Slides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptx
Slides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptxSlides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptx
Slides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
a ultima-ceia
 a ultima-ceia a ultima-ceia
a ultima-ceia
Rosângela
 
SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...
SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...
SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...
Igreja Evangélica Assembleia de Deus Celebrando o Rei
 
تتمات الجزرية
تتمات الجزريةتتمات الجزرية
تتمات الجزرية
kksfmhn
 
Madinah Arabic Reader Book 6
Madinah Arabic Reader Book 6Madinah Arabic Reader Book 6
Madinah Arabic Reader Book 6
Sonali Jannat
 

Was ist angesagt? (20)

Slides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptx
Slides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptxSlides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptx
Slides Lição 9, CPAD, O Batismo – A Primeira Ordenança da Igreja, 1Tr24.pptx
 
9. Vida, Morte e Ressurreição de Cristo
9. Vida, Morte e Ressurreição de Cristo9. Vida, Morte e Ressurreição de Cristo
9. Vida, Morte e Ressurreição de Cristo
 
Curso de hebraico. vol. 1
Curso de hebraico. vol. 1Curso de hebraico. vol. 1
Curso de hebraico. vol. 1
 
Surah Ha Mim Sajdah
Surah Ha Mim Sajdah Surah Ha Mim Sajdah
Surah Ha Mim Sajdah
 
Slides Licao 4, A Justica de Deus em Cristo.pptx
Slides Licao 4, A Justica de Deus em Cristo.pptxSlides Licao 4, A Justica de Deus em Cristo.pptx
Slides Licao 4, A Justica de Deus em Cristo.pptx
 
Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...
Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...
Slides Licao 7, Central Gospel, Advertencia Contra a Apostasia, 1Tr23, Pr Hen...
 
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptxSlides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
 
Hazrat Saad bin Abi Waqas
Hazrat Saad bin Abi WaqasHazrat Saad bin Abi Waqas
Hazrat Saad bin Abi Waqas
 
Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...
Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...
Slides Licao 7, A Responsabilidade e Individual, 4Tr22, Pr Henrique, EBD NA T...
 
A Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja Adventista
A Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja AdventistaA Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja Adventista
A Volta de Cristo - Ouvindo a Voz de Deus, Estudo Bíblico, Igreja Adventista
 
Crecimiento 5 clase 8
Crecimiento 5 clase 8Crecimiento 5 clase 8
Crecimiento 5 clase 8
 
Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...
Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...
Slides, Licao 2, Central Gospel, A Obediencia Produz Maturidade, Pr Henrique,...
 
Workbook (1)
Workbook (1)Workbook (1)
Workbook (1)
 
Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...
Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...
Slides Licao 12, Central Gospel, Amor, o Fruto da Maturidade, Pr Henrique, EB...
 
Slides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptx
Slides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptxSlides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptx
Slides Lição 6, CPAD, Igreja, Organismo e Organização, 1Tr24.pptx
 
a ultima-ceia
 a ultima-ceia a ultima-ceia
a ultima-ceia
 
SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...
SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...
SLIDES Licao 4, Resguardando-se de Sentimentos Ruins, 2Tr22, Pr Henrique, EBD...
 
تتمات الجزرية
تتمات الجزريةتتمات الجزرية
تتمات الجزرية
 
2013 26
2013 262013 26
2013 26
 
Madinah Arabic Reader Book 6
Madinah Arabic Reader Book 6Madinah Arabic Reader Book 6
Madinah Arabic Reader Book 6
 

Andere mochten auch

Guia practica del cemento
Guia practica del cementoGuia practica del cemento
Guia practica del cemento
Belkis Marquez
 
Implementación de ieee 802.11 en enlaces largos para zonas rurales aisladas
Implementación de ieee 802.11 en enlaces largos para zonas rurales aisladasImplementación de ieee 802.11 en enlaces largos para zonas rurales aisladas
Implementación de ieee 802.11 en enlaces largos para zonas rurales aisladas
David Vasco
 
REUNIÓ FAMÍLIES P5 CURS 2013-14
REUNIÓ FAMÍLIES P5 CURS 2013-14REUNIÓ FAMÍLIES P5 CURS 2013-14
REUNIÓ FAMÍLIES P5 CURS 2013-14eijoanaempuries
 
WP Citrix XenDesktop 4 (OKT 20009 v3)
WP Citrix XenDesktop 4 (OKT 20009 v3)WP Citrix XenDesktop 4 (OKT 20009 v3)
WP Citrix XenDesktop 4 (OKT 20009 v3)André Dannbacher
 
Los Piratas
Los PiratasLos Piratas
Los Piratas
martareinaherrera
 
HN Private Shipping I Schiffsfonds
HN Private Shipping I SchiffsfondsHN Private Shipping I Schiffsfonds
HN Private Shipping I Schiffsfonds
Christiane Pieper
 
Familias lectoras
Familias lectorasFamilias lectoras
Familias lectoras
María Zamorano
 
Blogging - ein kurzer Einstieg
Blogging - ein kurzer EinstiegBlogging - ein kurzer Einstieg
Blogging - ein kurzer Einstieg
Daniel Friesenecker
 
091015 Bee Hg Energiepolitik2020 Final
091015 Bee Hg Energiepolitik2020 Final091015 Bee Hg Energiepolitik2020 Final
091015 Bee Hg Energiepolitik2020 Finalmetropolsolar
 
Infoscreen-Präsentation Stabi HH Januar 2010
Infoscreen-Präsentation Stabi HH Januar 2010Infoscreen-Präsentation Stabi HH Januar 2010
Infoscreen-Präsentation Stabi HH Januar 2010
stabihh
 
China
ChinaChina
China
88814607
 
Cómo solicitar un proyecto en Uniempren
Cómo solicitar un proyecto en UniemprenCómo solicitar un proyecto en Uniempren
Cómo solicitar un proyecto en Uniempren
Uniempren Universitat de València
 
Wim Cuypers
Wim CuypersWim Cuypers
Wim Cuypers
guest1ab0f88
 
Hesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 Antworten
Hesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 AntwortenHesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 Antworten
Hesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 Antworten
Christiane Pieper
 
"Historia de la política y de las ideas políticas".
"Historia de la política y de las ideas políticas". "Historia de la política y de las ideas políticas".
"Historia de la política y de las ideas políticas".
valentina95
 
Etc desafios-doc-6-p-001-256
Etc desafios-doc-6-p-001-256Etc desafios-doc-6-p-001-256
Etc desafios-doc-6-p-001-256
Emilio Armando Acosta
 
Broschuere erneuerbar beschaeftigt_bf
Broschuere erneuerbar beschaeftigt_bfBroschuere erneuerbar beschaeftigt_bf
Broschuere erneuerbar beschaeftigt_bfmetropolsolar
 
Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011
Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011
Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011
Stefan Zimmermann
 
Horizont digital days dell 032012 michael buck
Horizont digital days dell 032012 michael buckHorizont digital days dell 032012 michael buck
Horizont digital days dell 032012 michael buckMichael Buck
 

Andere mochten auch (20)

Guia practica del cemento
Guia practica del cementoGuia practica del cemento
Guia practica del cemento
 
Implementación de ieee 802.11 en enlaces largos para zonas rurales aisladas
Implementación de ieee 802.11 en enlaces largos para zonas rurales aisladasImplementación de ieee 802.11 en enlaces largos para zonas rurales aisladas
Implementación de ieee 802.11 en enlaces largos para zonas rurales aisladas
 
REUNIÓ FAMÍLIES P5 CURS 2013-14
REUNIÓ FAMÍLIES P5 CURS 2013-14REUNIÓ FAMÍLIES P5 CURS 2013-14
REUNIÓ FAMÍLIES P5 CURS 2013-14
 
WP Citrix XenDesktop 4 (OKT 20009 v3)
WP Citrix XenDesktop 4 (OKT 20009 v3)WP Citrix XenDesktop 4 (OKT 20009 v3)
WP Citrix XenDesktop 4 (OKT 20009 v3)
 
Mitsch Preis
Mitsch PreisMitsch Preis
Mitsch Preis
 
Los Piratas
Los PiratasLos Piratas
Los Piratas
 
HN Private Shipping I Schiffsfonds
HN Private Shipping I SchiffsfondsHN Private Shipping I Schiffsfonds
HN Private Shipping I Schiffsfonds
 
Familias lectoras
Familias lectorasFamilias lectoras
Familias lectoras
 
Blogging - ein kurzer Einstieg
Blogging - ein kurzer EinstiegBlogging - ein kurzer Einstieg
Blogging - ein kurzer Einstieg
 
091015 Bee Hg Energiepolitik2020 Final
091015 Bee Hg Energiepolitik2020 Final091015 Bee Hg Energiepolitik2020 Final
091015 Bee Hg Energiepolitik2020 Final
 
Infoscreen-Präsentation Stabi HH Januar 2010
Infoscreen-Präsentation Stabi HH Januar 2010Infoscreen-Präsentation Stabi HH Januar 2010
Infoscreen-Präsentation Stabi HH Januar 2010
 
China
ChinaChina
China
 
Cómo solicitar un proyecto en Uniempren
Cómo solicitar un proyecto en UniemprenCómo solicitar un proyecto en Uniempren
Cómo solicitar un proyecto en Uniempren
 
Wim Cuypers
Wim CuypersWim Cuypers
Wim Cuypers
 
Hesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 Antworten
Hesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 AntwortenHesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 Antworten
Hesse Newman Private Shipping I Schiffsfonds. 7 Fragen - 7 Antworten
 
"Historia de la política y de las ideas políticas".
"Historia de la política y de las ideas políticas". "Historia de la política y de las ideas políticas".
"Historia de la política y de las ideas políticas".
 
Etc desafios-doc-6-p-001-256
Etc desafios-doc-6-p-001-256Etc desafios-doc-6-p-001-256
Etc desafios-doc-6-p-001-256
 
Broschuere erneuerbar beschaeftigt_bf
Broschuere erneuerbar beschaeftigt_bfBroschuere erneuerbar beschaeftigt_bf
Broschuere erneuerbar beschaeftigt_bf
 
Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011
Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011
Social Media Marketing - CBS Seminar Nürnberg vom 19.01.2011
 
Horizont digital days dell 032012 michael buck
Horizont digital days dell 032012 michael buckHorizont digital days dell 032012 michael buck
Horizont digital days dell 032012 michael buck
 

Ähnlich wie Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...

Case Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus MünchenCase Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus München
YUHIRO
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
Mayflower GmbH
 
Multiplattform-Apps mit Bizness Apps
Multiplattform-Apps mit Bizness AppsMultiplattform-Apps mit Bizness Apps
Multiplattform-Apps mit Bizness Apps
Michael Groeschel
 
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections WebinarreiheIBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
Beck et al. GmbH
 
Feinkonzept Beziehungsmanagement
Feinkonzept BeziehungsmanagementFeinkonzept Beziehungsmanagement
Feinkonzept Beziehungsmanagement
Ilona Buchem
 
FMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerFMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan Rüdiger
Verein FM Konferenz
 
"Failure is not an options" Slides from our IBM Connections Webinar Series. F...
"Failure is not an options" Slides from our IBM Connections Webinar Series. F..."Failure is not an options" Slides from our IBM Connections Webinar Series. F...
"Failure is not an options" Slides from our IBM Connections Webinar Series. F...
Beck et al. GmbH
 
The Power of the Crowd
The Power of the CrowdThe Power of the Crowd
The Power of the Crowd
Anne Märtens
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-ready
bhoeck
 
Erfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien
Erfolgsfaktoren zur Auswahl und Organisation von studentischen ProjektstudienErfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien
Erfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien
Michael Groeschel
 
e-projekt 2.0
e-projekt 2.0e-projekt 2.0
e-projekt 2.0bahaa318i
 
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...
Staffbase
 
Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056
Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056
Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056harry73
 
Call center for finance 201402
Call center for finance 201402Call center for finance 201402
Call center for finance 201402Anja Bonelli
 
Drupal und Drupalgardens: Einsatz und Vergleich
Drupal und Drupalgardens: Einsatz und VergleichDrupal und Drupalgardens: Einsatz und Vergleich
Drupal und Drupalgardens: Einsatz und Vergleich
Michael Groeschel
 
Cologne Web Performance Meetup 29.04.2020
Cologne Web Performance Meetup 29.04.2020Cologne Web Performance Meetup 29.04.2020
Cologne Web Performance Meetup 29.04.2020
Ingo Steinke
 
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...Open Source Business Applications im Mittelstand – Architektur und Einsatz de...
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...
Michael Groeschel
 
Case study Wireframe-Erstellung Endress+Hauser
Case study Wireframe-Erstellung Endress+HauserCase study Wireframe-Erstellung Endress+Hauser
Case study Wireframe-Erstellung Endress+Hauser
eResult_GmbH
 
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012
Martin Seibert
 
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenDie wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
YUHIRO
 

Ähnlich wie Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ... (20)

Case Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus MünchenCase Study Softwareentwickler aus Indien für Agentur aus München
Case Study Softwareentwickler aus Indien für Agentur aus München
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Multiplattform-Apps mit Bizness Apps
Multiplattform-Apps mit Bizness AppsMultiplattform-Apps mit Bizness Apps
Multiplattform-Apps mit Bizness Apps
 
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections WebinarreiheIBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
 
Feinkonzept Beziehungsmanagement
Feinkonzept BeziehungsmanagementFeinkonzept Beziehungsmanagement
Feinkonzept Beziehungsmanagement
 
FMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerFMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan Rüdiger
 
"Failure is not an options" Slides from our IBM Connections Webinar Series. F...
"Failure is not an options" Slides from our IBM Connections Webinar Series. F..."Failure is not an options" Slides from our IBM Connections Webinar Series. F...
"Failure is not an options" Slides from our IBM Connections Webinar Series. F...
 
The Power of the Crowd
The Power of the CrowdThe Power of the Crowd
The Power of the Crowd
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-ready
 
Erfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien
Erfolgsfaktoren zur Auswahl und Organisation von studentischen ProjektstudienErfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien
Erfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien
 
e-projekt 2.0
e-projekt 2.0e-projekt 2.0
e-projekt 2.0
 
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...
 
Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056
Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056
Homepage baukasten-de-knackt-die-11-millionen-mitglieder-grenze-91056
 
Call center for finance 201402
Call center for finance 201402Call center for finance 201402
Call center for finance 201402
 
Drupal und Drupalgardens: Einsatz und Vergleich
Drupal und Drupalgardens: Einsatz und VergleichDrupal und Drupalgardens: Einsatz und Vergleich
Drupal und Drupalgardens: Einsatz und Vergleich
 
Cologne Web Performance Meetup 29.04.2020
Cologne Web Performance Meetup 29.04.2020Cologne Web Performance Meetup 29.04.2020
Cologne Web Performance Meetup 29.04.2020
 
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...Open Source Business Applications im Mittelstand – Architektur und Einsatz de...
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...
 
Case study Wireframe-Erstellung Endress+Hauser
Case study Wireframe-Erstellung Endress+HauserCase study Wireframe-Erstellung Endress+Hauser
Case study Wireframe-Erstellung Endress+Hauser
 
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012
 
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenDie wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
 

Mehr von butest

EL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBEEL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBE
butest
 
1. MPEG I.B.P frame之不同
1. MPEG I.B.P frame之不同1. MPEG I.B.P frame之不同
1. MPEG I.B.P frame之不同butest
 
LESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIALLESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIAL
butest
 
Timeline: The Life of Michael Jackson
Timeline: The Life of Michael JacksonTimeline: The Life of Michael Jackson
Timeline: The Life of Michael Jackson
butest
 
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...
butest
 
LESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIALLESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIAL
butest
 
Com 380, Summer II
Com 380, Summer IICom 380, Summer II
Com 380, Summer II
butest
 
PPT
PPTPPT
PPT
butest
 
The MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazz
The MYnstrel Free Press Volume 2: Economic Struggles, Meet JazzThe MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazz
The MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazz
butest
 
MICHAEL JACKSON.doc
MICHAEL JACKSON.docMICHAEL JACKSON.doc
MICHAEL JACKSON.doc
butest
 
Social Networks: Twitter Facebook SL - Slide 1
Social Networks: Twitter Facebook SL - Slide 1Social Networks: Twitter Facebook SL - Slide 1
Social Networks: Twitter Facebook SL - Slide 1
butest
 
Facebook
Facebook Facebook
Facebook
butest
 
Executive Summary Hare Chevrolet is a General Motors dealership ...
Executive Summary Hare Chevrolet is a General Motors dealership ...Executive Summary Hare Chevrolet is a General Motors dealership ...
Executive Summary Hare Chevrolet is a General Motors dealership ...
butest
 
Welcome to the Dougherty County Public Library's Facebook and ...
Welcome to the Dougherty County Public Library's Facebook and ...Welcome to the Dougherty County Public Library's Facebook and ...
Welcome to the Dougherty County Public Library's Facebook and ...
butest
 
NEWS ANNOUNCEMENT
NEWS ANNOUNCEMENTNEWS ANNOUNCEMENT
NEWS ANNOUNCEMENT
butest
 
C-2100 Ultra Zoom.doc
C-2100 Ultra Zoom.docC-2100 Ultra Zoom.doc
C-2100 Ultra Zoom.doc
butest
 
MAC Printing on ITS Printers.doc.doc
MAC Printing on ITS Printers.doc.docMAC Printing on ITS Printers.doc.doc
MAC Printing on ITS Printers.doc.doc
butest
 
Mac OS X Guide.doc
Mac OS X Guide.docMac OS X Guide.doc
Mac OS X Guide.doc
butest
 
hier
hierhier
hier
butest
 
WEB DESIGN!
WEB DESIGN!WEB DESIGN!
WEB DESIGN!
butest
 

Mehr von butest (20)

EL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBEEL MODELO DE NEGOCIO DE YOUTUBE
EL MODELO DE NEGOCIO DE YOUTUBE
 
1. MPEG I.B.P frame之不同
1. MPEG I.B.P frame之不同1. MPEG I.B.P frame之不同
1. MPEG I.B.P frame之不同
 
LESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIALLESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIAL
 
Timeline: The Life of Michael Jackson
Timeline: The Life of Michael JacksonTimeline: The Life of Michael Jackson
Timeline: The Life of Michael Jackson
 
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...
 
LESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIALLESSONS FROM THE MICHAEL JACKSON TRIAL
LESSONS FROM THE MICHAEL JACKSON TRIAL
 
Com 380, Summer II
Com 380, Summer IICom 380, Summer II
Com 380, Summer II
 
PPT
PPTPPT
PPT
 
The MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazz
The MYnstrel Free Press Volume 2: Economic Struggles, Meet JazzThe MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazz
The MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazz
 
MICHAEL JACKSON.doc
MICHAEL JACKSON.docMICHAEL JACKSON.doc
MICHAEL JACKSON.doc
 
Social Networks: Twitter Facebook SL - Slide 1
Social Networks: Twitter Facebook SL - Slide 1Social Networks: Twitter Facebook SL - Slide 1
Social Networks: Twitter Facebook SL - Slide 1
 
Facebook
Facebook Facebook
Facebook
 
Executive Summary Hare Chevrolet is a General Motors dealership ...
Executive Summary Hare Chevrolet is a General Motors dealership ...Executive Summary Hare Chevrolet is a General Motors dealership ...
Executive Summary Hare Chevrolet is a General Motors dealership ...
 
Welcome to the Dougherty County Public Library's Facebook and ...
Welcome to the Dougherty County Public Library's Facebook and ...Welcome to the Dougherty County Public Library's Facebook and ...
Welcome to the Dougherty County Public Library's Facebook and ...
 
NEWS ANNOUNCEMENT
NEWS ANNOUNCEMENTNEWS ANNOUNCEMENT
NEWS ANNOUNCEMENT
 
C-2100 Ultra Zoom.doc
C-2100 Ultra Zoom.docC-2100 Ultra Zoom.doc
C-2100 Ultra Zoom.doc
 
MAC Printing on ITS Printers.doc.doc
MAC Printing on ITS Printers.doc.docMAC Printing on ITS Printers.doc.doc
MAC Printing on ITS Printers.doc.doc
 
Mac OS X Guide.doc
Mac OS X Guide.docMac OS X Guide.doc
Mac OS X Guide.doc
 
hier
hierhier
hier
 
WEB DESIGN!
WEB DESIGN!WEB DESIGN!
WEB DESIGN!
 

Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...

  • 1. Praktikumsbericht<br />Martin Becker<br />s0516299<br />Fachhochschule für Technik und Wirtschaft Berlin<br />Firma Comberry Ltd. Shanghai China<br />Oktober 2008 bis März 2009<br />Inhalt TOC quot; 1-3quot; Einleitung PAGEREF _Toc225253747 3Porträt der Firma PAGEREF _Toc225253748 4Das Team – Organisation der Firma PAGEREF _Toc225253749 5Einarbeitungsphase PAGEREF _Toc225253750 6Einrichtung der Arbeitsumgebung PAGEREF _Toc225253751 6Einarbeitung in die Benutzerverwaltung PAGEREF _Toc225253752 6Backupsystemverwaltung PAGEREF _Toc225253753 6Angebotserstellungen PAGEREF _Toc225253754 8Angebot Renommee PAGEREF _Toc225253755 8Angebot Ospidali Psalmendatenbank PAGEREF _Toc225253756 8Angebot Helgaa PAGEREF _Toc225253757 9Projekt DocSEO PAGEREF _Toc225253758 10Beschreibung des Projektes PAGEREF _Toc225253759 10Entwicklungsumgebung PAGEREF _Toc225253760 12Vorstellung der Software Asterisk PAGEREF _Toc225253761 12Installation von Asterisk Version 1.6 PAGEREF _Toc225253762 12Funktionsweise von Asterisk PAGEREF _Toc225253763 13Ablaufplan des Programms PAGEREF _Toc225253764 14Warteschleifen PAGEREF _Toc225253765 15Die zu sammelnden Daten PAGEREF _Toc225253766 15Aufsetzen einer Datenbank PAGEREF _Toc225253767 16Auslagern der Call-Detail-Records (CDR) PAGEREF _Toc225253768 17Realtime – Auslagern der Konfigurationsdateien PAGEREF _Toc225253769 18DB-Abfragen im dialplan PAGEREF _Toc225253770 19Asterisk-Gateway-Interface PAGEREF _Toc225253771 19Verbindung mit dem deutschen Festnetz PAGEREF _Toc225253772 20Zusammenfassung PAGEREF _Toc225253773 21Fazit PAGEREF _Toc225253774 22<br />Einleitung<br />Als Voraussetzung zur Absolvierung meines Studiums an der FHTW Berlin im Studiengang internationale Medieninformatik ist es nötig, ein Praktikum im zukünftigen Berufsfeld in einer im Ausland ansässigen Firma zu tätigen.<br />Meine Entscheidung, dieses Praktikum in der Firma Comberry Ltd. in Shanghai / China zu machen, fällte ich nach kurzem Kontakt mit dem Chef der Firma. Nachdem ich mit ihm meine Vorstellungen über die Zielsetzung des Praktikums besprochen und er meine anfänglichen Zweifel an einem längerem Aufenthalt in China zerstreut hatte, einigten wir uns auf eine Zusammenarbeit in seiner Firma über einen Zeitraum von sechs Monaten, d.h. weit mehr als die vorgeschriebene Mindestdauer.<br />Das Hauptaugenmerk des Praktikums sollte in der Entwicklung von Telefon-applikationen (z.B. IPhone) und webbasierten Anwendungen liegen, sowohl im Front- als auch im Backend. Darüber hinaus wollte ich als Teil eines Teams an der Produktion eines größeren Projektes beteiligt sein, um Erfahrungen in der Organisation und Umsetzung derartiger Aufgaben zu sammeln. Im Zusammenhang mit diesen Wünschen versprach ich mir eine Erweiterung meiner Fähigkeiten in verschiedenen Programmiersprachen wie Java, PHP und vielleicht auch C/C++. Als besonderen Nebeneffekt erhoffte ich mir auch eine deutliche Verbesserung meiner Kenntnisse der englischen Sprache.<br />All dies schien die Firma Comberry Ltd. aufgrund der Vielfältigkeit der Projekte zu bieten. Des Weiteren wurde mir eine gute Organisation der alltäglichen Dinge, z.B. das Stellen einer Unterkunft nach “gehobenen westlichen Standard”, unterbreitet und der positive persönlich Eindruck durch die Telefongespräche mit dem Besitzer des Unternehmens ließen mich zu der Entscheidung kommen, für ein halbes Jahr nach China zu gehen.<br />Porträt der Firma<br />Die Firma Comberry Ltd. wurde im Jahr 2004 in London gegründet. Die Besitzer der Firma sind Martin Hackl (CEO) und Godfrey Du (Management). Der Hauptsitz der Firma ist in London. In Deutschland gibt es eine Zweigstelle um den Kontakt mit der Kundschaft, welche zum größten Teil aus Deutschland ist, zu pflegen. Die Produktion und Umsetzung aller Projekte findet (aus wahrscheinlich finanziellen Gründen) in Shanghai statt.<br />Das Unternehmen hat ein breites Spektrum an Dienstleistungen und Eigenent-wicklungen zu bieten. In der näheren Vergangenheit wurden zahlreiche Projekte für Internetanwendungen umgesetzt. Als Beispiele wären hier die Internetplattform “TVman”, die browserbasierte Live Community “Vimp” und das Media CMS “OS Tube” zu nennen.<br />Derzeit entwickelt das Unternehmen in Eigeninitiative einen internetbasierten Vermittlungsservice mit VoIP-Telekommunikation und macht erste Gehversuche auf dem Sektor der Telefonapplikationen für die Firmen Nokia und Apple. Nebenher läuft als eigenständiger aber von der Firma kontrollierter Teil ein Unternehmen, welches sich auf die Produktion von Adobe Flash-Animationen im Comic-Bereich spezialisiert hat. Dieser Teil der Firma wird durch chinesische Führungskräfte nach Vorgaben durch Martin Hackl und weiteren Partnern aus Deutschland geleitet und ist maßgeblich an der Umsetzung einer e-Learning Plattform, finanziert durch die Firma Bertelsmann, beteiligt.<br />In näherer Zukunft ist eine Ausweitung des Vermittlungsserviceprojektes zu erwarten. In diesem Jahr ist darüberhinaus noch die Entwicklung einer Zeichentrick-Filmserie geplant.<br />Das Team – Organisation der Firma<br />Die Führungsposition in der Entwicklung und bei der Verteilung der Aufgaben nimmt Martin Hackl ein. Er gibt die Projekte vor und vergibt Teilaufgaben an die einzelnen Mitarbeiter. Mit ihm habe ich jeweils direkt meine jeweils nächsten Aufgaben besprochen und auch bei ihm nach Beendigung des Projektes / der Teilaufgabe abgegeben bzw. vorgeführt.<br />Organigramm<br />Einarbeitungsphase<br />Einrichtung der Arbeitsumgebung<br />Als meine erste Aufgabe galt es mir meinen eigenen Arbeitsplatz einzurichten. Mir wurde ein handelsüblicher Rechner zur Verfügung gestellt auf dem das Betriebs-system Windows XP bereits vorinstalliert war. Um diesen Rechner nutzen zu können wurde mir ein User-Account im Firmennetzwerk eingerichtet. Ich musste mich selbst-ständig in das firmeninterne Bug-Reporting-System “Mantis” einarbeiten. Des Weiteren galt es, die von meinen Kollegen genutzten Kommunikationstools wie Skype und Pidgin zu installieren und einen Account im e-Mail-Versandsystem einrichten zu lassen.<br />Einarbeitung in die Benutzerverwaltung<br />In der Zeit meines Praktikums sollte ich jederzeit in der Lage sein neue Nutzer im Firmennetzwerk anzulegen und diese mit entsprechenden Zugriffsrechten zu versehen. Die Verwaltung der User-Accounts wird mit dem Programm “Active Directory Users and Computers” der Firma Microsoft verwendet. Es bestand bis zu diesem Zeitpunkt keinerlei Dokumentation, somit erstellte ich eine Schritt-für-Schritt Anleitung mit Screenshots zum Anlegen neuer User.<br />Die gleiche Aufgabe stellte sich für das Anlegen von neuen Mail-Accounts für neue Mitarbeiter. Als primäres e-Mail-Versandsystem wird ein Produkt von Google genutzt. Als Fall-back-System wird zusätzlich “Microsoft Exchange Server 2007” verwendet. Auch für dieses Programm erstellte ich nach Einarbeitung eine Anleitung um die Arbeit meinen Nachfolgern zu erleichtern.<br />(Für beide Anleitungen sehe ich an dieser Stelle keinen praktischen Zweck diese hier aufzuführen deshalb verzichte ich darauf.)<br />Backupsystemverwaltung<br />Zu Beginn musste festgestellt werden, welche Daten gesichert werden sollten. Als meine Aufgabe in Zusammenarbeit mit einem erfahreneren Kollegen stellte sich die Sicherung der Datenbanken auf dem Linux Web-Server heraus. Wir erstellten einen Cron-Job im Ordner “/etc/cron.daily/” auf dem Server. <br />Script:<br />#!/bin/sh<br />date=`date -I`<br />mysqldump --all-databases | gzip > /var/www/html/mysql_backup/backup-$date.sql.gz<br />Dieses Script macht einen Dump aller Datenbanken und schreibt diese in eine einzelne Datei. Der Dateiname enthält dabei das Datum und die Uhrzeit des Backups. Das Backup wird komprimiert und im Ordner “/var/www/html/mysql_backup/” gespeichert.<br />Angebotserstellungen<br />Angebot Renommee<br />Um ein Angebot im Namen der Firma zu erstellen wird das Programm “Microsoft Excel” verwendet. Für dieses Programm stand zu Beginn meines Praktikums bereits ein von meinem Vorgänger erstelltes Makro bereit. Dieses Makro enthält eine auto-matische Zusammenrechnung der Stunden, Arbeitskosten und die automatisierte Seitenumbrucheinstellung. Nach Erforschung des Programms konnte ich mit der eigentlichen Arbeit beginnen.<br />Um festzustellen, welche Arbeitsabläufe in Rechnung gestellt werden müssten war es notwendig, die Mußkriterien des Projektes heraus zu finden. Dazu wurden mir mehrere e-Mails des Kunden übermittelt welche ich durchlesen und verstehen musste. Als Anhaltspunkte für den Umfang der einzelnen Arbeiten erhielt ich Einblick in viele verschiedene ältere Angebote der Firma und konnte somit die Anzahl der Arbeitsstunden festlegen. Zuletzt wurde das Angebot mit dem Chef besprochen und korrigiert. Der gesamte Prozess erstreckte sich über zwei Arbeitstage.<br />Angebot Ospidali Psalmendatenbank<br />Als neue Aufgabe sollte ich ein weiteres Angebot in ähnlicher Form erstellen. Dieses Mal lag ein vom Kunden erstelltes “Pflichtenheft” vor. Somit bestand meine Hauptaufgabe im Studium dieses Dokumentes. Leider war dies nicht im Entferntesten für die Softwareentwicklung geeignet. Es befanden sich sehr viele Ungereimtheiten und nicht eindeutige Aussagen bzw. Wünsche des Kunden in diesem Dokument somit verbrachte ich zwei Arbeitstage mit dem Herausfinden “was die eigentlich wollen”.<br />Letztendlich konnte ich dieses Projekt in 11 große Arbeitsschritte einteilen. <br />Einrichten der Entwicklungsumgebung<br />Datenbankentwurf<br />Layout-Gestaltung und Stylesheet-Erstellung<br />Erstellung der Navigation<br />...<br />Mit wurde bei diesem Angebot bewusst, dass viele Arbeitsschritte sich von Projekt zu Projekt immer wieder wiederholen bzw. sich sehr ähneln. Daher war es einfach sich durch Sichtung der alten Angebote ein Bild vom Umfang des Projektes zu machen.<br />Des Weiteren habe ich bei der Erstellung dieses Angebotes gelernt, dass viele Kunden es vorziehen, ein sogenanntes Pflichtenheft in laienhafter Form zu erstellen und dies an eine Firma zur Angebotserstellung weiterleiten. Das dabei von professionellen Softwareentwicklern erstellte Angebot wird daraufhin häufig als Basis für ein neues Pflichtenheft missbraucht. Dieser Umstand erschwert es den kleinen und mittel-ständischen Unternehmen sich am Markt zu behaupten.<br />Angebot Helgaa<br />Die Firma hatte in der Vergangenheit schon einmal an dem Projekt “Helgaa” gearbeitet. Dieses scheiterte jedoch, da es für die Auftraggeber finanziell nicht weiter tragbar war. Der Grund war schlicht eine fehlende Übersicht über die Vielzahl der einzelnen Aufgabengebiete. Es gab nur ein mangelhaftes Pflichtenheft.<br />Diese Auftraggeber kamen erneut mit einer komplett neu erstellten Dummy-Website auf unsere Firma zu und erbaten ein Angebot dazu. Als meine Aufgabe stellte sich die Erforschung dieser Website und die Erstellung eines Angebotes heraus.<br />Bei dem Projekt Helgaa handelt es sich um eine Online-Community mit Browser-spieloberfläche in Form einer Flash-Stadtkarte. Die Website besteht aus einer Startseite mit Login-Möglichkeit. Nach dem Login kann man ähnlich der Online-Community “Facebook” mit anderen Mitspielern kommunizieren, handeln und spielen. Als besonderes Herausstellungsmerkmal steht dabei die Spieloberfläche im Vordergrund, auf der jeder Mitspieler nach bestimmten Parametern Objekte platzieren und verändern kann.<br />Nach sechs Arbeitstagen der Analyse und dem Versuch der genauen Beschreibung des gesamten Projektes wurde ich durch meinen Chef in der Arbeit unterbrochen. Dieses Projekt ist extrem umfangreich und durch den Auftraggeber leider nicht eindeutig beschrieben, dass nur ein Teilbereich der gesamten Community von der Firma umgesetzt werden würde. Das von mir erstellte Angebot umfasste mehr als 15 Seiten mit verschiedensten Aufgabenbereichen. Nur durch eine exakte Beschreibung wird dieses Projekt umsetzbar sein.<br />Projekt DocSEO<br />Beschreibung des Projektes<br />Bei dem Projekt handelt es sich um eine professionelle Klientenvermittlung, welche die Vorteile von Telefon und Internet miteinander verknüpft. Pro Vermittlung eines Klienten wird dem Kunden ein einmaliges Erfolgshonorar berechnet. Schaffen es die Vermittler (die Firma Comberry) nicht, neue Klienten für einen Kunden zu werben, so fallen für diesen auch keine Kosten an.<br />Das Telefonvermittlungssystem (TVS) ist das Herzstück des Internet-basierten Klientenvermittlungssystems. Damit ist es möglich, teilnehmenden Kunden gegenüber eindeutig zu beweisen, wie viele Vermittlungen durch das Engagement der Vermittler tatsächlich zustande gekommen sind.<br />Jeder Kunde erhält 2 kostenfreie Rufnummern für seine Homepage bzw. Flyer und andere Werbemittel (0800er Servernummern, etwa 0800/1234567-101 und 0800/1234567-102). Eine Nummer dient zur Terminvereinbarung für Privatklienten, die andere zur Terminvereinbarung für weitere Klienten. Die Nummern sind direkt mit dem zentralen TVS der Vermittler in Luxemburg verbunden. Das System basiert auf einer modifizierten Version der freien VoIP-Telefonanlage Asterisk. Diese Software nimmt eingehende Gespräche automatisch entgegen und ordnet sie anhand der Durchwahl einem Kunden zu.<br />In diesem Projekt handelt es sich bei den Kunden um Arztpraxen, bei den Klienten um private bzw. Kassen-Patienten. Der Klient(Patient) hört zunächst eine Begrüßung wie etwa „Herzlich willkommen in der gynäkologischen Praxis Dr. Meier“. Daraufhin wir der Klient dazu aufgefordert, eine Angabe darüber zu machen, ob er schon einmal zu Gast in der Praxis war oder ob er ein neuer Patient ist: „Falls Sie zum ersten Mal einen Termin bei uns vereinbaren, bleiben Sie bitte einfach in der Leitung. Falls Sie bereits Patient bei uns sind, drücken Sie bitte die 1“.<br />Das Vermittlungssystem hat nun folge Informationen gesammelt:<br />Telefonnummer des Anrufers (sofern übermittelt)<br />Name des Inhabers des Telefonanschlusses (falls im Telefonbuch eingetragen)<br />Versicherungsstatus des Anrufers (privat oder gesetzlich)<br />Kundenstatus des Anrufers (neuer Patient oder wiederkehrender Patient)<br />Der nächste Schritt ist die Vermittlung des Gesprächs mit der entsprechenden Arztpraxis. Der Anrufer hört in der Zwischenzeit eine Ansage: „Bitte haben Sie einen Moment Geduld. Eine Sprachstundenhilfe ist gleich für Sie da.“<br />Das TVS kontaktiert nun die Arztpraxis. Sobald der Anruf von einer Sprechstundenhilfe entgegengenommen wird, gibt das TVS per Ansage alle relevanten Informationen zum Anrufer durch (Beispiel): „Patientenvermittlung. Anrufer ist ein neuer Privatpatient. Verbinde…“. Die Vermittlung ist damit abgeschlossen.<br />Das TVS speichert nun lediglich noch die Dauer des Gesprächs zwischen Anrufer und Sprechstundenhilfe. Sollte das Gespräch weniger als 15 Sek. andauern, wird nicht davon ausgegangen, dass ein Termin vereinbart wurde.<br />Detailierte Statistiken zu jeder Arztpraxen sind Grundlage für die Abrechnung mit der teilnehmenden Arztpraxen. Die für die Statistiken erforderlichen Daten über die einzelnen Telefonate werden von dem TVS vollautomatisch für eine weitere Auswertung in einer Datenbank abgespeichert.<br />Detailierte Statistiken zu jeder Arztpraxen sind Grundlage für die Abrechnung mit der teilnehmenden Arztpraxen. Diese werden vom TVS voll-automatisch erzeugt.<br />Entwicklungsumgebung<br />Auf dem Arbeitsrechner ist das Betriebssystem Windows XP Professional 64Bit Version installiert. Für die Arbeit an der virtuellen Telefonanlage werden folgende Programme benötigt / benutzt:<br />VM-Ware<br />Ubuntu-Betriebssystem in der VM laufend<br />Xlite – Softphone<br />Asterisk open source PBX<br />Auf meinem PC war schon durch einen Praktikanten, welcher vorher an diesem Projekt erste Tests gemacht hat, eine Virtual Maschine(VM) auf dem Rechner installiert. In der VM läuft Ubuntu. Die Asterisk-Software der Version 1.4 war bereits vorinstalliert.<br />Vorstellung der Software Asterisk<br />Asterisk ist eine Software, welche alle Moeglichkeiten einer herkoemmlichen Telefonanlage bereitstellen kann. Sie unterstuetzt Verbindungen mittels Voice-over-IP (VoIP) in Verbindung mit unterschiedlichen Protokollen. Durch das breite Spektrum an Funktionen, Schnittstellen und unterstuetzten Protokollen und durch das leichte Manipulieren mittels einer eigenen Scriptsprache fiel die Entscheidung auf eben diese Software, um mit ihr das Projekt umzusetzen. Als Uebertragungsprotokoll benutzen wir in fuer die Anrufe das Setion Initiation Protocol (SIP) welches sich durch verschiedene Vorzuege als das beste heraus stellte.<br />Installation von Asterisk Version 1.6<br />Um möglichst alle Schritte zum Aufsetzen der Software selbst zu erlernen entschied ich mich die vorinstallierte Software zu deinstallieren und selbst von Grund auf die Anlage neu einzuspielen. Dies ist nach Anleitung denkbar einfach. Zuerst muss die Software von entsprechender Stelle heruntergeladen und danach installiert werden.<br />#cd /usr/src<br />/usr/src# wget http://downloads.digium.com/pub/asterisk/asterisk-1.6-current.tar.gz<br />/usr/src# tar xvzf asterisk-1.6-current.tar.gz<br />/usr/src# cd asterisk-1.6*<br />usr/src/asterisk-1.4.10# ./configure<br />usr/src/asterisk-1.4.10# make<br />usr/src/asterisk-1.4.10# make install<br />Funktionsweise von Asterisk<br />Um die Software seinen Wünschen entsprechend zu verändern muss man in den dafür vorgesehenen Konfigurationsdateien (zu finden unter ‚/etc/asterisk/‘) programmieren. Das Herzstück der Software stellt dabei die Datei ‚extensions.conf‘ dar. In dieser wird der sogenannte dialplan (deutsch: Wählplan) festgelegt. Hier findet die Zuweisung von Nummern und Telefonen statt. In der ‚sip.conf‘ werden die Telefone, mit denen man mit dem System kommunizieren kann, fest. Zur Erklärung der Funktionsweise diente in meinem Falle ein kleines Beispiel.<br />Zuerst wird ein Telefon in der ‚sip.conf‘ definiert.<br />[general]<br />port=5060<br />bindaddr=0.0.0.0<br />context=sonstige<br />[2000]<br />type=friend<br />context=meine-telefone<br />secret=1234<br />host=dynamic<br />Danach wird im dialplan im dafür vorgesehenen Kontext die gewünschte Funktion festgelegt.<br />[sonstige]<br />[meine-telefone]<br />exten => 1001,1,Answer()<br />exten => 1001,2,Playback(hello-world)<br />exten => 1001,3,Hangup()<br />Es muss nun ein Softphone, in meinem Fall die Software Xlite, installiert und entsprechend konfiguriert (Username:2000, Passwort:1234, IP-Adresse des Asterisk-Servers usw.) werden. Dann kann man Asterisk starten.<br />etc/asterisk# asterisk –vvvvvc<br />Nun befindet man sich auf dem Command Line Interface (CLI) von Asterisk. Hier kann man verschiedene Befehle an die Software übergeben und den aktuellen Ablauf des Programms mit verfolgen. Wenn man nun das Softphone richtig eingestellt hat, kann man auf der CLI folgende Ausgabe sehen.<br />*CLI> -- Registered SIP ’2000’ at 192.168.0.69 port 5060 expires 120 -- Unregistered SIP ’2000’<br />Ablaufplan des Programms<br />Nach den ersten erfolgreichen Tests mit Asterisk musste festgelegt werden, wie der eigentliche Ablauf des von mir zu erstellenden Programms sein sollte. Hierzu erläuterte mir mein Vorgesetzter seine Vorstellungen und ich visualisierte diesen Ablaufplan mit der Software ‚Microsoft Office Visio 2007‘. <br />Die Queues sind Warteschleifen. In diese wird der anrufende Patient geschickt und soll Musik zu hören bekommen solange er auf Verbindung mit der Arztpraxis wartet. Das System soll im Hintergrund automatisch die entsprechende Praxis anrufen. Um Missverständnissen bei der Verbindung des Anrufers mit dem Angerufenen vorzubeugen und die Praxisangestellten auf das zu erwartende Gespräch vor-zubereiten, soll dem Angerufenen eine Soundfile vorgespielt werden.<br />Warteschleifen<br />Die Warteschleifen (Queues) haben in diesem Programm eine ausschlaggebende Bedeutung. Sie werden vom Anrufer angerufen. Dieser kann dann eine vordefinierte Warteschleifenmusik hören während das Programm den Wählvorgang automatisch übernimmt. Die Queues werden in der ‚queues.conf‘ definiert und mit Eigenschaften versehen. In meinem Fall benötige ich vier Queues. Dies ergibt sich aus dem Status der Versicherung und daraus, ob der Patient schon registriert ist oder eben nicht. Als geeignete Funktion zur Ankündigung des zu erwartenden Patiententyps stellte sich das Abspielen von announcements (Deutsch: Ankündigungen) heraus.<br />[49030123_old_private]<br />member => SIP/2000<br />announce = comberry/hellodoc_old_private<br />[49030123_old_public]<br />member => SIP/2000<br />announce = comberry/hellodoc_old_private<br />...<br />Die zu sammelnden Daten<br />Um eine Ausgangsbasis für eine Rechnungsstellung zu haben ist es notwendig, die Daten über eine erfolgreiche Verbindung zu ermitteln. Die Software Asterisk bringt standardmäßig eine Log-Funktion der Telefonverbindungen mit. Diese werden in einer CSV-Datei mit dem Namen ‚Master.csv‘ gespeichert welche sich im Ordner ‚/var/log/asterisk/cdr-csv/‘ befindet. Des Weiteren wird die Speicherung folgender Daten vom System verlangt:<br />Telefonnummer der jeweils angerufenen Praxis<br />Telefonnummer des Anrufers (sofern übermittelt)<br />Zeit des Telefongesprächs (nur die reine Verbindungszeit in der beide Gesprächspartner wirklich miteinander verbunden sind)<br />Datum und Uhrzeit des Gesprächs<br />Aufsetzen einer Datenbank<br />Erst durch eine Datenbank (DB) wird es für alle Module in dem gesamten Projekt möglich, Daten miteinander auszutauschen, anzulegen oder zu löschen. In verschiedenen Anleitungen zu der Asterisk-Software wird empfohlen, eine Postgre-SQL-DB zu benutzen, somit entschied ich mich eine solche in meiner virtual machine zu installieren. Es stellte sich als äußerst schwierig heraus, eine Verbindung zwischen Asterisk und der aufgesetzten DB herzustellen. Nach einer Woche crashte die gesamte Installation der Asterisk-Software sodass ich mich für eine Weiterarbeit auf dem eigentlichen Projekte-Server in Luxemburg entschied. Auf dieser Plattform ist ohnehin schon ein MySQL-DB-Server installiert, welcher vom gesamten Projekt genutzt wird. <br />Die Arbeitsschritte für eine erfolgreiche Kommunikation von Asterisk mit der DB fassen sich in folgende Stichpunkte zusammen:<br />Installation eines ODBC-Layers für MySQL (MyODBC)<br />Konfiguration der entsprechenden Dateien in Asterisk<br />Anlegen der gewünschten DB mit den dazugehörigen Tabellen<br />Da die Konfiguration sehr aufwändig war und viel Zeit gekostet hat soll die folgende Grafik die Kommunikation der einzelnen Dateien veranschaulichen und als Dokumentation dienen:<br />Auslagern der Call-Detail-Records (CDR)<br />Die Daten werden zur besseren Analyse in eine DB ausgelagert. Dazu musste eine Tabelle mit dem Namen ‚cdr‘ in der DB ‚asterisk‘ auf dem Projekte-Server angelegt werden. Die Tabelle wurde von mir nach Vorgaben von der Website ‚http://www.voip-info.org/wiki-Asterisk+cdr+mysql‘ erstellt. Darüberhinaus muss in der Datei ‚cdr_odbc.conf‘ noch die Verbindung zur DB hergestellt werden. Somit werden sämtliche Daten über Telefongespräche, welche über die Anlage geführt werden, in einer Tabelle gespeichert. Nach umfangreichen Tests stellte sich jedoch heraus, dass die Daten nicht zur genauen Analyse ausreichen. Das Problem liegt in der Speicherung der Zeit der Verbindung des Anrufers mit dem System. Es wird von Asterisk nicht unterschieden, ob der Anrufer gerade nur mit der Software verbunden ist oder ob ein echtes Telefongespräch zwischen Patient und Arztpraxis zustande kommt. <br />Da die Gespräche mit den Praxen jeweils über eine Queue geführt werden, müssen die Events, ausgelöst durch die Queues, analysiert werden. Derzeit existiert (noch) keine optimale Lösung für eine Speicherung der Events der Queues in einer DB. Asterisk legt eine log-Datei namens ‚queue_log‘ im Ordner ‚/var/log/asterisk/‘ an. Um diese Daten ebenfalls in die DB auszulagern muss man selbst ein Script anlegen, um die Daten automatisch in eine Tabelle zu speichern. Ich habe mich für ein Perl-Script, welches ständig im Hintergrund läuft, entschieden. Es gibt ebenfalls die Möglichkeit in der ‚extconfig.conf‘ das Übertragen der Logs in eine Tabelle freizuschalten, diese hat aber bei dieser Installation nicht funktioniert. In beiden Fällen muss man in der DB eine entsprechende Tabelle vorher anlegen. Diese hat den Namen ‚csr_queue‘. Eine gute Beschreibung zum Anlegen der DB-Tabelle findet man unter ‚http://www.voip-info.org/wiki/view/Asterisk+queue_log+on+MySQL‘.<br />Realtime – Auslagern der Konfigurationsdateien<br />Die Software Asterisk bietet die Möglichkeit der Auslagerung einiger Konfigu-rationsdateien, welche im Ordner ‚/etc/asterik/‘ zu finden sind, in eine DB. Dies wird Realtime genannt. Es gibt statisches Realtime, welches im Prinzip nur anstelle der Dateien im genannten Ordner die entsprechenden Tabellen in der DB ausliest, und es gibt dynamisches Realtime, was das Nachladen von neuen Informationen ohne einen Neustart der Software in Echtzeit erlaubt. Da das System jederzeit mit neuen Daten umgehen soll, ist die zweite Variante das Mittel der Wahl.<br />Für eine neue Praxis werden folgende Bestandteile angelegt:<br />Eintrag in die ‚sip.conf‘, welches das Telefon einer Praxis definiert<br />Einträge in die ‚queues.conf‘, welche die Warteschleifen für eine Praxis definiert<br />Eintrag in die Tabelle ‚available_numbers‘, welche alle anwählbaren 0800-Telefonnummern definiert (keine Asterisk-Konfiguration)<br />Eintrag in die Tabelle ‚phone_numbers‘, welche die 0800er-Nummer den Praxisnummern und einen Typen zuordnet (keine Asterisk-Konfiguration)<br />Um dem System mitzuteilen, dass Konfigurationen in der DB zu finden sind, muss man die ausgelagerten conf-Dateien in der ‚extconfig.conf‘ eintragen, z.B. muss man für die ‚sip.conf‘ einen solchen Eintrag schreiben:<br />sipusers => odbc,asterisk,sip<br />sippeers => odbc,asterisk,sip<br />Damit werden SIP-Telefone, welche nicht in der ‚sip.conf‘ eingetragen sind, vom System aber als Ziel angesteuert werden sollen, in der entsprechenden Tabelle gesucht. Der Einfachheit halber habe ich mich für eine Kombination von peers (können vom System angerufen werden) und von users (können über das System anrufen) in einer Tabelle entschieden. Die Sip-Tabelle habe ich nach der Anleitung zu finden unter ‚http://www.voip-info.org/wiki-Asterisk+RealTime+Sip‘, die Queue-Tabelle nach Anleitung von ‚http://www.voip-info.org/wiki/view/Asterisk+RealTime+Queue‘,<br />angelegt.<br />DB-Abfragen im dialplan <br />Zur flexiblen Gestaltung des dialplans kann man nun die Einträge in der DB benutzen. Mit Asterisk kann man sowohl lesend als auch schreibend auf die Daten zugreifen. Diese Datenbankenzugriffe werden in der Datei ‚func_odbc.conf‘ definiert. Ein Beispiel für einen DB-Lesezugriff:<br />[GermanPhoneNumber]<br />prefix=get<br />dsn=asterisk<br />read=SELECT german_number FROM phone_numbers WHERE direct_dial = '${ARG1}' <br />Der entsprechende Aufruf im dialplan sieht dann folgendermaßen aus:<br />exten => _498002200120XXX,n,Set(GLOBAL(PHONENUMBER)=${get_GermanPhoneNumber(${EXTEN})}) <br />Da der schreibende Zugriff zwar theoretisch möglich ist. aber von der Syntax her unnötig kompliziert, habe ich mich entschieden, die Daten per Aufruf eines externen Skriptes in die DB einzutragen.<br />Asterisk-Gateway-Interface<br />Das Asterisk-Gateway-Interface (AGI) ist eine Schnittstelle, mit der man aus dem dialplan direkt externe Programme / Skripte ausführen kann. Diesen kann man Parametern übergeben und sich auch Werte in den dialplan zurückgeben lassen. Mit dem AGI kann man die meisten modernen Programmiersprachen ausführen lassen wie Perl, PHP, Java etc. In diesem Projekt starte ich mehrere kleinere php-Scripte um Werte in die DB zu übertragen. Ein Aufruf aus dem dialplan sieht wie folgt aus:<br />exten => check,n,AGI(checkOpeningTime.php|${PHONENUMBER})<br />Die Skripte liegen standardmäßig im Ordner ‚/usr/share/asterisk/agi-bin/‘. Die Übergabe der Werte aus den Skripten erfolgen über die Kommunikationskanäle STDIN, STDOUT und STDERR. In meinem Fall benutzte ich php-Skripte, d.h. die Ausgabe des Skriptes lautet dann bspw. so:<br />echo quot; exec Set AUSGABE=$speechquot; ; <br />Der Wert muss dann noch im dialplan entgegengenommen werden.<br />exten => notavailable,4,Set(SPEECH=${AUSGABE})<br />exten => notavailable,5,Playback(${SPEECH}) <br />Verbindung mit dem deutschen Festnetz<br />Als eine meine ersten Aufgaben war das Auffinden eines geeigneten Partners für unser Vorhaben. Wir benötigen eine Firma, welche uns eine 0800er Nummer mit 1000 Durchwahlen zu einem möglichst günstigen Preis anbieten kann. Des Weiteren benötigen wir einen Partner, welchen wir als sogenanntes SIP-Gate nutzen können, d.h. welche die Anrufe aus dem deutschen Festnetz entgegennimmt und via VoIP an unsere statische IP weiterleitet. Mit der Firma Outbox AG fand ich die geeignete Lösung. <br />Outbox leitet nun alle Gespräche über die von der Firma Comberry gemietete 0800er-Nummer an unser System weiter. Diese werden daraufhin verarbeitet und dann wieder an Outbox zurückgesandt von wo wie dann wiederum in das deutsche Festnetz eingespeist werden. <br />Zusammenfassung<br />Das Projekt DocSEO ist bis zum Ende meines Praktikums noch nicht vollständig abgeschlossen. Es besteht aus vielen verschiedenen Modulen welche in der Entwicklung noch nicht fertig sind denn das Projekt ist eine Eigenentwicklung der Firma und somit in der Priorität weiter hinten angestellt als andere Projekte.<br />Die Aufgaben, welche mir gestellt wurden, habe ich nach bestem Wissen und Können umgesetzt, allerdings wurden zwischenzeitlich auch immer mal wieder die konkreten Wünsche der Funktionalitäten geändert was einzelne Aufgaben zeitlich in ihrer Umsetzung sehr gedehnt hat.<br />Mein Chef hat eine viele gute Ideen, bei denen mir es auch Spaß gemacht hat, an der Umsetzung mit beteiligt gewesen zu sein. Zum Beispiel sollte es möglich sein, die Öffnungszeiten einer Praxis per dynamischer Bandansage sich anzuhören. Diese Funktionalität ist in dem von mir programmierten Telefonsystem zwar jetzt gegeben, muss aber vorerst auskommentiert bleiben, da die Informationen zu den Öffnungszeiten noch nicht von dem Projektkern bereitgestellt werden können.<br />Zusammenfassend kann ich sagen, mein Teilprojekt soweit abgeschlossen zu haben und es gut dokumentiert an meinen Nachfolger (ebenfalls von der FHTW) nach zwei-wöchiger Einarbeitungszeit zur weiteren Bearbeitung zu übergeben. Es bleiben noch einige neue Ideen unbearbeitet, da die Zeit meines Praktikums abgelaufen ist.<br />Fazit<br />Die Firma Comberry hat mir mit den übergebenen Aufgaben viel Vertrauen entgegengebracht. Die meiste Zeit war ich beim Erlernen der neuen Techniken und beim Recherchieren auf mich selbst gestellt, was sich im Nachhinein als eine mir sehr gelegene Arbeitsweise herausgestellt hat.<br />Ich kann jetzt von mir behaupten, mir professionelles Wissen in der VoIP-Telefonie angeeignet zu haben und darüberhinaus auch viel über Linux Ubuntu gelernt zu haben. Desweiteren habe ich meine Kenntnisse in der Programmiersprache PHP erweitert und bin mit dem Datenbankmanagementsystem MySQL vertraut. Gern hätte ich auch in anderen Programmiersprachen mein Können verbessert, leider blieb mir das aufgrund des Projektes verwehrt.<br />Die Volksrepublik China ist ein hochinteressantes Land mit sehr eigenen Charakteristika. Am meisten bin ich wohl von den sozialen Eigenschaften der chinesischen Bevölkerung beeindruckt, welche nicht unterschiedlicher zu der europäischen sein könnten. Ich muss dazu allerdings sagen, dass ich die letzten sechs Monate ausschließlich in riesigen Metropolen verbracht habe, deshalb kann ich nur schwer über China als ganzes urteilen. Nur soviel: ich bin ohne Vorurteile in dieses Land gegangen doch die Respektlosigkeit dem Leben anderer gegenüber, mangelnde Hygiene und die Arbeitseinstellung der chinesischen Bevölkerung werde ich nur schwer vergessen können.<br />Ich bin an einer weiteren Zusammenarbeit mit der Firma Comberry interessiert, da mich die Dynamik der Firma und die Aufgabengebiete faszinieren. Ich hoffe mit meiner Arbeit einen produktiven Beitrag für die Firma geleistet zu haben und bin mir sicher, dass die freiwillige Verlängerung der Praktikumszeit sich für mich bezahlt gemacht hat.<br />