Case Study Softwareentwickler aus Indien für Agentur aus MünchenYUHIRO
Die Case Study zeigt auf, wie wir einer Agentur aus München, erfolgreich Softwareentwickler in unserer Niederlassung in Cochin, Indien bereitgestellt haben.
Mobile Apps haben heutzutage vielfältige Einsatzzwecke. Auch Restaurants können durch eine Mobile App den Bekanntheitsgrad verbessern, die Kundenbindung erhöhen und damit insgesamt die Umsätze steigern. Im Rahmen des Projekts wurde die Smartphone-App des Restaurants Glashaus in Mannheim für die Plattformen iOS und Android bereitgestellt und in den Smartphone-App-Stores veröffentlicht. Die bereits bestehende App wurde erweitert und aktualisiert. Das angefertigte Benutzerhandbuch versetzt die Geschäftsführung des Restaurants in die Lage, zukünftige Aktualisierungen selbst vorzunehmen.
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections WebinarreiheBeck et al. GmbH
Wo hilft Collaboration mit Connections besonders gut, die (Zusammen-) Arbeit besser zu organisieren ? Wo sind die "Killer Features", die den Nutzen von Social Business Collaboration begreiflich machen? Ein Blick auf die Plattform aus Businessanwender Sicht.
Wie geht man ein Software-Projekt erfolgreich an? Welche Stolpersteine können dabei auftreten? In dieser Session werden an Hand von Praxis-Beispielen und Erfahrungen verschiedene Herangehensweisen an FileMaker Software-Projekte besprochen. Wie man ein Projekt möglichst für den Kunden und sich selbst zufriedenstellend und in einer überschaubaren Zeit abwickelt, welche Unwägbarkeiten dabei auf einen Lauern, wo man sich als Entwickler verlaufen kann und wo der Kunde, all das ist Thema dieser Session. Dabei steht die Arbeit mit und an FileMaker immer zentral im Blickwinkel.
"Failure is not an options" Slides from our IBM Connections Webinar Series. F...Beck et al. GmbH
in German! In this Webinar Series we focus on one of the most important social business collaboration platforms: IBM Connections. We talk about all relevant aspects of what it is necessary to run IBM Connections successfully and support social business.
As it addresses German speaking companies content is in German.
Net at Work macht Ihr Unternehmen Homeoffice-readybhoeck
Mit mehreren Webcasts, Tutorials und Praxistipps bereitet Net at Work Unternehmen auf den Einstieg in die Welt von Microsoft Teams und SharePoint Online vor. Damit gelingt die digitale Zusammenarbeit im Homeoffice auch in Krisenzeiten.
Erfolgsfaktoren zur Auswahl und Organisation von studentischen ProjektstudienMichael Groeschel
Immer noch hoch aktuell!
Gröschel, M.: Erfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien, in: Studienkommission für Hochschuldidaktik an Fachhochschulen in Baden-Württemberg (Hrsg.): Beiträge zum 7. Tag der Lehre, Karlsruhe 2007, S. 85-90
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...Staffbase
Ein mobiler Kanal für Mitarbeiter ist weit mehr als nur das bestehende Intranet "Responsive" zu machen. Mit den völlig neuen Zielgruppen und Chancen kommen auch neue Fragen auf Intranet Manager zu. Das Webinar liefert die wichtigsten 8 Fragen und Antworten aus der Praxis.
In unserer heutigen Gesellschaft dreht sich vieles um Informationen. Kunden möchten am besten von zu Hause aus alle Informationen erhalten, die sie benötigen. Der Betrieb einer Onlinepräsenz ist für Unternehmen daher ein Muss. Im Projekt wurde von den Studierenden des Bachelor Studiengangs TSIT (Translation Studies for Information Technologies) eine Webseite für die Buchhandlung Curth erstellt. Die ist sowohl einfach zu warten als auch optisch ansprechend und bietet dem Kunden alle benötigten Informationen. Durch die Integration des Webshops des Großhändlers kann der Kunde in einem umfangreichen Bücherangebot stöbern und direkt bestellen.
Cologne Web Performance Meetup 29.04.2020Ingo Steinke
Cologne Web Performance Meetup #29 Performance Optimierung - Was kann ich ohne Code-Änderung tun? von Angelina Farsch und Ingo Steinke von Avenga Germany
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...Michael Groeschel
Ziel der Einführung des Open Source CRM-Systems vtiger 5.0.3 bei Kenngott International war es, die heterogene Vorgehensweisen der Vertriebspartner im Ausland zu vereinheitlichen und Kenngott durch eine Zentralisierung der Aktivitäten eine bessere Übersicht über ihr international agierendes Partnernetzwerk zu gewähren. Dazu wurde die Software vtiger erfolgreich an die speziellen Anforderungen im Unternehmen angepasst und weitere Werkzeuge entwickelt, um den Automati-sierungsgrad zu erhöhen.
Case study Wireframe-Erstellung Endress+HausereResult_GmbH
Diese Case Study stelle ein Projekt vor in Zusammenhang mit dem Relaunch des Industrieunternehmens Endress+Hauser aus der Schweiz. In einem systematischen User Sentered Design Prozess wurde mit statischen Wireframes gearbeitet, um den Seitenaufbau frühzeitig zu struktirieren. Diese Wireframes bildeten eine Grundlage für alle weiteren Projektschritte.
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012Martin Seibert
Mit Aufwandsschätzungen machen es sich Software-Entwicklungsteams zurecht schwer: Der Kunde will vorweg wissen, was ein neues Feature in seiner Software kostet. Selbst wenn wir den genannten Betrag (Aufwand) explizit als Schätzung deklarieren, wissen wir doch, was passieren wird: Im Nachhinein nagelt uns der Kunde darauf fest. Das versucht man in der agilen Software-Entwicklung zu umgehen und beschätzt deshalb keine Aufwände, sondern die Komplexität eines Features in Relation zu den anderen. Dieser Artikel beschreibt, wie agile Teams schnell zu solchen Schätzungen kommen.
Die wichtigsten Technologien für die Entwicklung von WebanwendungenYUHIRO
In diesem Beitrag sind die wichtigsten Technologien beschrieben, welche man benötigt um gute Webapplikationen zu entwickeln. Beispielsweise sind die Serverseitigen Programmiersprachen PHP, ASP.NET, Python, Ruby und Java beschrieben. Sowie auch die populärsten Frameworks in diesen Softwaresprachen. Auch ein Einblick in die Frontend-Technologien, wie HTML, CSS, JavaScript, jQuery, etc. wird gegeben.
Este documento analiza el modelo de negocio de YouTube. Explica que YouTube y otros sitios de video online representan un nuevo modelo de negocio para contenidos audiovisuales debido al cambio en los hábitos de consumo causado por las nuevas tecnologías. Describe cómo YouTube aprovecha la participación de los usuarios para mejorar continuamente y atraer una audiencia diferente a la de los medios tradicionales.
Case Study Softwareentwickler aus Indien für Agentur aus MünchenYUHIRO
Die Case Study zeigt auf, wie wir einer Agentur aus München, erfolgreich Softwareentwickler in unserer Niederlassung in Cochin, Indien bereitgestellt haben.
Mobile Apps haben heutzutage vielfältige Einsatzzwecke. Auch Restaurants können durch eine Mobile App den Bekanntheitsgrad verbessern, die Kundenbindung erhöhen und damit insgesamt die Umsätze steigern. Im Rahmen des Projekts wurde die Smartphone-App des Restaurants Glashaus in Mannheim für die Plattformen iOS und Android bereitgestellt und in den Smartphone-App-Stores veröffentlicht. Die bereits bestehende App wurde erweitert und aktualisiert. Das angefertigte Benutzerhandbuch versetzt die Geschäftsführung des Restaurants in die Lage, zukünftige Aktualisierungen selbst vorzunehmen.
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections WebinarreiheBeck et al. GmbH
Wo hilft Collaboration mit Connections besonders gut, die (Zusammen-) Arbeit besser zu organisieren ? Wo sind die "Killer Features", die den Nutzen von Social Business Collaboration begreiflich machen? Ein Blick auf die Plattform aus Businessanwender Sicht.
Wie geht man ein Software-Projekt erfolgreich an? Welche Stolpersteine können dabei auftreten? In dieser Session werden an Hand von Praxis-Beispielen und Erfahrungen verschiedene Herangehensweisen an FileMaker Software-Projekte besprochen. Wie man ein Projekt möglichst für den Kunden und sich selbst zufriedenstellend und in einer überschaubaren Zeit abwickelt, welche Unwägbarkeiten dabei auf einen Lauern, wo man sich als Entwickler verlaufen kann und wo der Kunde, all das ist Thema dieser Session. Dabei steht die Arbeit mit und an FileMaker immer zentral im Blickwinkel.
"Failure is not an options" Slides from our IBM Connections Webinar Series. F...Beck et al. GmbH
in German! In this Webinar Series we focus on one of the most important social business collaboration platforms: IBM Connections. We talk about all relevant aspects of what it is necessary to run IBM Connections successfully and support social business.
As it addresses German speaking companies content is in German.
Net at Work macht Ihr Unternehmen Homeoffice-readybhoeck
Mit mehreren Webcasts, Tutorials und Praxistipps bereitet Net at Work Unternehmen auf den Einstieg in die Welt von Microsoft Teams und SharePoint Online vor. Damit gelingt die digitale Zusammenarbeit im Homeoffice auch in Krisenzeiten.
Erfolgsfaktoren zur Auswahl und Organisation von studentischen ProjektstudienMichael Groeschel
Immer noch hoch aktuell!
Gröschel, M.: Erfolgsfaktoren zur Auswahl und Organisation von studentischen Projektstudien, in: Studienkommission für Hochschuldidaktik an Fachhochschulen in Baden-Württemberg (Hrsg.): Beiträge zum 7. Tag der Lehre, Karlsruhe 2007, S. 85-90
Eine App für die Mitarbeiterkommunikation - Die 8 wichtigsten Fragen und Antw...Staffbase
Ein mobiler Kanal für Mitarbeiter ist weit mehr als nur das bestehende Intranet "Responsive" zu machen. Mit den völlig neuen Zielgruppen und Chancen kommen auch neue Fragen auf Intranet Manager zu. Das Webinar liefert die wichtigsten 8 Fragen und Antworten aus der Praxis.
In unserer heutigen Gesellschaft dreht sich vieles um Informationen. Kunden möchten am besten von zu Hause aus alle Informationen erhalten, die sie benötigen. Der Betrieb einer Onlinepräsenz ist für Unternehmen daher ein Muss. Im Projekt wurde von den Studierenden des Bachelor Studiengangs TSIT (Translation Studies for Information Technologies) eine Webseite für die Buchhandlung Curth erstellt. Die ist sowohl einfach zu warten als auch optisch ansprechend und bietet dem Kunden alle benötigten Informationen. Durch die Integration des Webshops des Großhändlers kann der Kunde in einem umfangreichen Bücherangebot stöbern und direkt bestellen.
Cologne Web Performance Meetup 29.04.2020Ingo Steinke
Cologne Web Performance Meetup #29 Performance Optimierung - Was kann ich ohne Code-Änderung tun? von Angelina Farsch und Ingo Steinke von Avenga Germany
Open Source Business Applications im Mittelstand – Architektur und Einsatz de...Michael Groeschel
Ziel der Einführung des Open Source CRM-Systems vtiger 5.0.3 bei Kenngott International war es, die heterogene Vorgehensweisen der Vertriebspartner im Ausland zu vereinheitlichen und Kenngott durch eine Zentralisierung der Aktivitäten eine bessere Übersicht über ihr international agierendes Partnernetzwerk zu gewähren. Dazu wurde die Software vtiger erfolgreich an die speziellen Anforderungen im Unternehmen angepasst und weitere Werkzeuge entwickelt, um den Automati-sierungsgrad zu erhöhen.
Case study Wireframe-Erstellung Endress+HausereResult_GmbH
Diese Case Study stelle ein Projekt vor in Zusammenhang mit dem Relaunch des Industrieunternehmens Endress+Hauser aus der Schweiz. In einem systematischen User Sentered Design Prozess wurde mit statischen Wireframes gearbeitet, um den Seitenaufbau frühzeitig zu struktirieren. Diese Wireframes bildeten eine Grundlage für alle weiteren Projektschritte.
Agiles Schätzen im Team - Joachim Seibert, OBJEKTspektrum 5/2012Martin Seibert
Mit Aufwandsschätzungen machen es sich Software-Entwicklungsteams zurecht schwer: Der Kunde will vorweg wissen, was ein neues Feature in seiner Software kostet. Selbst wenn wir den genannten Betrag (Aufwand) explizit als Schätzung deklarieren, wissen wir doch, was passieren wird: Im Nachhinein nagelt uns der Kunde darauf fest. Das versucht man in der agilen Software-Entwicklung zu umgehen und beschätzt deshalb keine Aufwände, sondern die Komplexität eines Features in Relation zu den anderen. Dieser Artikel beschreibt, wie agile Teams schnell zu solchen Schätzungen kommen.
Die wichtigsten Technologien für die Entwicklung von WebanwendungenYUHIRO
In diesem Beitrag sind die wichtigsten Technologien beschrieben, welche man benötigt um gute Webapplikationen zu entwickeln. Beispielsweise sind die Serverseitigen Programmiersprachen PHP, ASP.NET, Python, Ruby und Java beschrieben. Sowie auch die populärsten Frameworks in diesen Softwaresprachen. Auch ein Einblick in die Frontend-Technologien, wie HTML, CSS, JavaScript, jQuery, etc. wird gegeben.
Ähnlich wie Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ... (20)
Este documento analiza el modelo de negocio de YouTube. Explica que YouTube y otros sitios de video online representan un nuevo modelo de negocio para contenidos audiovisuales debido al cambio en los hábitos de consumo causado por las nuevas tecnologías. Describe cómo YouTube aprovecha la participación de los usuarios para mejorar continuamente y atraer una audiencia diferente a la de los medios tradicionales.
The defense was successful in portraying Michael Jackson favorably to the jury in several ways:
1) They dressed Jackson in ornate costumes that conveyed images of purity, innocence, and humility.
2) Jackson was shown entering the courtroom as if on a red carpet, emphasizing his celebrity status.
3) Jackson appeared vulnerable, childlike, and in declining health during the trial, eliciting sympathy from jurors.
4) Defense attorney Tom Mesereau effectively presented a coherent narrative of Jackson as a victim and portrayed Neverland as a place of refuge, undermining the prosecution's arguments.
Michael Jackson was born in 1958 in Gary, Indiana and rose to fame in the 1960s as the lead singer of The Jackson 5, topping music charts in the 1970s. As a solo artist in the 1980s, his album Thriller broke music records. In the 1990s and 2000s, Jackson faced several legal issues related to child abuse allegations while continuing to release music. He married Lisa Marie Presley and Debbie Rowe and had two children before his death in 2009.
Popular Reading Last Updated April 1, 2010 Adams, Lorraine The ...butest
This document appears to be a list of popular books from various authors. It includes over 150 book titles across many genres such as fiction, non-fiction, memoirs, and novels. The books cover a wide range of topics from politics to cooking to autobiographies.
The prosecution lost the Michael Jackson trial due to several key mistakes and weaknesses in their case:
1) The lead prosecutor, Thomas Sneddon, was too personally invested in the case against Jackson, having pursued him for over a decade without success.
2) Sneddon's opening statement was disorganized and weak, failing to effectively outline the prosecution's case.
3) The accuser's mother was not credible and damaged the prosecution's case through her erratic testimony, history of lies and con artist behavior.
4) Many prosecution witnesses were not credible due to prior lawsuits against Jackson, debts owed to him, or having been fired by him. Several witnesses even took the Fifth Amendment.
Here are three examples of public relations from around the world:
1. The UK government's "Be Clear on Cancer" campaign which aims to raise awareness of cancer symptoms and encourage early diagnosis.
2. Samsung's global brand marketing and sponsorship activities which aim to increase brand awareness and favorability of Samsung products worldwide.
3. The Brazilian government's efforts to improve its international image and relations with other countries through strategic communication and diplomacy.
The three most important functions of public relations are:
1. Media relations because the media is how most organizations reach their key audiences. Strong media relationships are crucial.
2. Writing, because written communication is at the core of public relations and how most information is
Michael Jackson Please Wait... provides biographical information about Michael Jackson including his birthdate, birthplace, parents, height, interests, idols, favorite foods, films, and more. It discusses his background, career highlights including influential albums like Thriller, and films he appeared in such as The Wiz and Moonwalker. The document contains photos and details about Jackson's life and illustrious music career.
The MYnstrel Free Press Volume 2: Economic Struggles, Meet Jazzbutest
The document discusses the process of manufacturing celebrity and its negative byproducts. It argues that celebrities are rarely the best in their individual pursuits like singing, dancing, etc. but become famous due to being products of a system controlled by wealthy elites. This system stifles opportunities for worthy artists and creates feudalism. The document also asserts that manufactured celebrities should not be viewed as role models due to behaviors like drug abuse and narcissism that result from the celebrity-making process.
Michael Jackson was a child star who rose to fame with the Jackson 5 in the late 1960s and early 1970s. As a solo artist in the 1970s and 1980s, he had immense commercial success with albums like Off the Wall, Thriller, and Bad, which featured hit singles and groundbreaking music videos. However, his career and public image were plagued by controversies related to allegations of child sexual abuse in the 1990s and 2000s. He continued recording and performing but faced ongoing media scrutiny into his private life until his death in 2009.
Social Networks: Twitter Facebook SL - Slide 1butest
The document discusses using social networking tools like Twitter and Facebook in K-12 education. Twitter allows students and teachers to share short updates and can be used to give parents a window into classroom activities. Facebook allows targeted advertising that could be used to promote educational activities. Both tools could help facilitate communication between schools and communities if used properly while managing privacy and security concerns.
Facebook has over 300 million active users who log on daily, and allows brands to create public profile pages to interact with users. Pages are for brands and organizations only, while groups can be made by any user about any topic. Pages do not show admin names and have no limits on fans, while groups display admin names and are limited to 5,000 members. Content on pages should aim to provoke action from subscribers and establish a regular posting schedule using a conversational tone.
Executive Summary Hare Chevrolet is a General Motors dealership ...butest
Hare Chevrolet is a car dealership located in Noblesville, Indiana that has successfully used social media platforms like Twitter, Facebook, and YouTube to create a positive brand image. They invest significant time interacting directly with customers online to foster a sense of community rather than overtly advertising. As a result, Hare Chevrolet has built a large, engaged audience on social media and serves as a model for how brands can use online presences strategically.
Welcome to the Dougherty County Public Library's Facebook and ...butest
This document provides instructions for signing up for Facebook and Twitter accounts. It outlines the sign up process for both platforms, including filling out forms with name, email, password and other details. It describes how the platforms will then search for friends and suggest people to connect with. It also explains how to search for and follow the Dougherty County Public Library page on both Facebook and Twitter once signed up. The document concludes by thanking participants and providing a contact for any additional questions.
Paragon Software announces the release of Paragon NTFS for Mac OS X 8.0, which provides full read and write access to NTFS partitions on Macs. It is the fastest NTFS driver on the market, achieving speeds comparable to native Mac file systems. Paragon NTFS for Mac 8.0 fully supports the latest Mac OS X Snow Leopard operating system in 64-bit mode and allows easy transfer of files between Windows and Mac partitions without additional hardware or software.
This document provides compatibility information for Olympus digital products used with Macintosh OS X. It lists various digital cameras, photo printers, voice recorders, and accessories along with their connection type and any notes on compatibility. Some products require booting into OS 9.1 for software compatibility or do not support devices that need a serial port. Drivers and software are available for download from Olympus and other websites for many products to enable use with OS X.
To use printers managed by the university's Information Technology Services (ITS), students and faculty must install the ITS Remote Printing software on their Mac OS X computer. This allows them to add network printers, log in with their ITS account credentials, and print documents while being charged per page to funds in their pre-paid ITS account. The document provides step-by-step instructions for installing the software, adding a network printer, and printing to that printer from any internet connection on or off campus. It also explains the pay-in-advance printing payment system and how to check printing charges.
The document provides an overview of the Mac OS X user interface for beginners, including descriptions of the desktop, login screen, desktop elements like the dock and hard disk, and how to perform common tasks like opening files and folders. It also addresses frequently asked questions for Windows users switching to Mac OS X, such as where documents are stored, how to save or find documents, and what the equivalent of the C: drive is in Mac OS X. The document concludes with sections on file management tasks like creating and deleting folders, organizing files within applications, using Spotlight search, and an overview of the Dashboard feature.
This document provides a checklist for securing Mac OS X version 10.5, focusing on hardening the operating system, securing user accounts and administrator accounts, enabling file encryption and permissions, implementing intrusion detection, and maintaining password security. It describes the Unix infrastructure and security framework that Mac OS X is built on, leveraging open source software and following the Common Data Security Architecture model. The checklist can be used to audit a system or harden it against security threats.
This document summarizes a course on web design that was piloted in the summer of 2003. The course was a 3 credit course that met 4 times a week for lectures and labs. It covered topics such as XHTML, CSS, JavaScript, Photoshop, and building a basic website. 18 students from various majors enrolled. Student and instructor evaluations found the course to be very successful overall, though some improvements were suggested like ensuring proper software and pairing programming/non-programming students. The document also discusses implications of incorporating web design material into existing computer science curriculums.
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 />