Direct client

webbasiert FlowChart erstellen, um damit Anrufer Flows und Warteschlagen zu visualisieren, die dann eine Asterisk Telefonanlage steuert

Canton of Zurich, Uerikon  ‐ Remote
This project has been archived and is not accepting more applications.
Browse open projects on our job board.

Description


Cloud-based automated solution which only requires basic IT knowledge

es soll eine WebApp (HMTL5,PHP, MariaDB) mit den üblichen Frameworks (Laravel, Angular) erstellt werden.

mit der WebApp sollen Anrufer Flows graphisch gemanagt werden können und diverse Konfigurationen im WebGUI geplant und visuell gemanaget werden.

Der Anwender der WebApp hat basic IT knowledge und hat keine vertiefte Kenntnisse von Asterisk Dialplan erstellen.
Ziel der WebApp ist das ein Anwender mit basic IT Kenntnisse eine Asterisk Telefonanlage in 5-10 Minuten per Webbrowser in Betrieb nehmen kann, sowie auch per Webbrowser Anrufer Verhalten im Browser gestalten und umsetzen kann.

Der Anwender "admin" soll beim ersten aufrufen der WebApp einen Setup/Assistenten angezeigt erhalten, wo er die Trunk/SIP Credentials eingibt, wo er die Mitarbeiter mit den Endgeräten, Telefonnummern und Namen eingibt. Auch soll er Gruppen/Teams erstellen können und beliebig Mitarbeiter hinzufügen können. Auch soll er Endgeräte erstellen und beliebig zuweisen können. Es sollen rollenbasierte "Anwender" erstellt und jederzeit angepasst werden können.

Der Setup/Assistent soll nur einmal aufgerufen werden können, bzw. bis der Setup Prozess einmalig vollständig abgeschlossen worden ist.
Die Idee ist, dass der Anwender z.B. ein Webhosting Server mit SSH root Zugriff hat, sich dann ein installer.php File von uns herunterlädt und bei sich das installer.php per FTP auf sein Webhosting rauflädt.

Der Anwender ruft nur das installer.php auf seinem Webhosting auf und der installer.php fragt nur nach den nötigen Informationen.

Alles andere erledigt installer.php im Hintergrund vollständig automatisiert.
Das installer.php ruft dann mittels Kommandozeilen oder .sh oder Perl Skript (ähnlich dem Kommandozeilen WebGUI von proxmox) im Hintergrund die richtigen .deb Pakete vom Asterisk ab und führt die nötigen Aktionen fully automated und unattented durch.
Sie als Entwickler können auch Annahmen treffen und Einschränkung treffen, dass z.B. nur Debian/Ubuntu Systeme unterstützt werden.

Nach dem Setup sollen sich alle Anwender jeweils einloggen können und sie dürfen nur "rollenbasiert" das verändern, wozu sie berechtigt sind.
der "admin" und auch der "konfigurator" soll höhere Rechte haben als die Standard Anwender.

Der Anwender mit den Rechten "konfigurator"/"admin" soll grafische FlowCharts für die Firma/Teams bzw. allgemein gesprochen übergeordnet FlowCharts grafisch erstellen können.

Der der Anweder mit den Rechten "only user priveleges" soll sich einloggen können und das Anrufverhalten jederzeit ändern können, allerdings nur das Anrufverhalten, dass ihn als "user" selbst betrifft, er soll andere User nicht verändert können. Er soll auch nur ändern können, was ihm erlaubt worden ist.

Es sollen "in Case of Events" im Browser erstellt werden können und per Drag and Drop graphisch mit HTML5 visualisiert zugewiesen per Drag and Drop mit Pfeilen verbunden werden können und auch jederzeit wieder verändert werden können, ähnlich dem yED Graph Editor.
https://www.yworks.com/downloads#yFilesHTML
und:
https://www.yworks.com/yed-live/


Wenn man Änderungen am Flowchart und an den Abläufen macht, soll es dass jeweils immer möglichst grad speichern, aber noch nicht grad sofort auf die Telefonanlage (.conf, pjsip. Files) schreiben.
Erst wenn der Anwender mit dem Flowchart zufrieden ist, erst dann soll der Anwender auf den Button "auf Telefonanlage übertragen" klicken können.
Erst jetzt werden die Konfigs auf die Telefonanlage geschrieben.
Bevor dieser Button nicht geklickt ist, bleibt die Visualisierung (in MariaDB) gespeichert. Egal ob man sich ausloggt, den Browser schliesst und wieder öffnet, die Visualisierung ist im WebGUI sichtbar und geht nicht verloren.
Sie ist im WebGUI sichtbar und veränderbar, aber solange noch nicht auf den Button "auf Telefonanlage übertragen" geklickt ist, ist es noch nicht auf die Telefonanlage geschrieben.

Nachdem der Anwender auf "Konfigs auf Telefonanlage übertragen" Button geklickt hat, sollen ein paar automatisierte Plausibilitäts Checks gemacht werden, und bei offensichtlichen Fehlern dem Anwender die Mitteilung anzeigen, dass es noch einen Fehler hat.
Fehler sind z.B. wenn ein Pfad noch nicht "durchgängig" ist, oder ein Pfad einen "loop" macht, oder ein Pfad keinen "Endpoint" hat.
oder wenn ein Pfad ev. in Konflikt stehende "Endpoints" hat.

Ebenso soll man für praktisch alle "Actions" eine URL generieren (API-Key, JSON) lassen können.
Also es soll eine HTTP Post URL aufgerufen werden können und dann sollen die im Pfad bzw. im Endpoint definierten "Actions" ausgeführt werden können.
Actions sind z.B.: Mitarbeiter anmelden, Mitarbeiter abmelden, Mitarbeiter nicht erreichbar"
Es sollen auch ganze Ablaufketten mit "just one klick on a button" ausgelöst werden können.
d.h. auf dem Tischtelefon kann die Taste belegt werden mit einer bestimmten URL.
wenn der Anwender am Tischtelefon auf die Taste klickt, wird automatisch die gesamte Ablaufkette in Gang gesetzt, bzw. die "Action" ausgeführt, die vorgängig im WebGUI als "in Case of Event" definiert worden ist.

Es ist also ein per Maus und klicken steuerbares WebGUI, dass schussendlich nichts anderes macht als Kommadozeilen ausführen im Asterisk CLIP und .conf files und .pjsip Files schreibt.
Die WebApp soll nicht so umfangreich wie switchvox sein, aber dafür Sachen umsetzen, die switchvox z.B. nicht kann.

Du musst nicht alles-in-einer-Person Knowhow haben.
Wenn du mich in Teilen unterstützen kannst, ist das auch schon sehr gut.

Die Bereiche die da wären:
Debian Linux und Asterisk
php,MariaDB (mit Laravel und Angular Framework)

wenn du dich mit .sh Skripting auskennst, umso besser.

ich persönlich bin visionär, neugierig und habe ein breites Spektrum an Oberflächen Wissen, aber kein vertieftes Wissen.
Aber ich lerne sehr gerne dazu.
Also ich bin eher ein Allrounder, aber keine spezifischer Experte in einer spezifischen Technologie, deshalb benötige ich dein Fachwissen.







Start date
04.2020
Duration
3 months
(extension possible)
Published at
04.04.2020
Contact person:
Alex Weber
Project ID:
1917445
Contract type
Freelance
Workplace
100 % remote
To apply to this project you must log in.
Register