Ideen für CTI-Tool unter Linux vorhanden - Programmierer gesucht

svenc

Neuer User
Mitglied seit
30 Sep 2006
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo allerseits

Unter Windows gibt es ja schon einige CTI-Programme, welche Asterisk komfortabel steuern können. (Telefonnummern wählen, Nebenstellen überwachen, und vieles mehr)
Beispiel: PhoneSuite, kostenpflichtig.

Leider fehlt ein solches Programm noch für die Linux-Welt. Als Webseite oder Flash-Plugin gibt es zwar ähnliches, aber nicht wirklich umfangreich und komfortabel. Gesucht werden Programmierer, die Lust hätten ein entsprechendes GPL-Projekt mit auf die Beine zu stellen. Durch Python wäre das z.B. plattformunabhängig.

  • plattformunabhängig für Windows/Linux/MacOS und co. Evtl in Python realisiert.
  • anzeigen, wer gerade anruft, und Wahl von Kontakten per Mausklick
  • Anruf-History
  • Weiterverbinden von Gesprächen per Mausklick
  • Kalender-Funktion mit Erinnerungen
  • Übersicht über alle "Nebenstellen" mit Status (frei, Telefon klingelt, gerade im Gespräch, ...)
  • und vieles mehr, was die Zeit erla
Wer hat Interesse, daran mitzuwirken? Über zahlreiche Zuschriften und Ideen zum Funktionsumfang freut sich die Community riesig...

Gruß Sven
 
Hallo Sven,

bevor Du Dir Gedanken über die Funktionen machst, würde ich mal die Machbarkeit überdenken. Auf Windows gibt es deswegen Einiges, weil sich die Hersteller von Software (Mailprogramme wie Outlook, GroupWise oder Lotus Notes) an die standardisierten Schnittstellen wie MAPI oder TAPI halten (meistens zumindest).

Ich habe mich auch schon damit beschäftigt und kam zu dem Schluß, das es zwei realistische Ansätze gibt, um hier plattformunabhängig zu bleiben:

1. Java
2. Adobe Flash/Flex/Air

beide haben aber den Nachteil, dass sie mit den o.g. Schnittstellen nur schlecht oder gar nicht klarkommen, da es sich ja um native Implementierungen handeln müsste.

Eine CTI Lösung für Linux oder MacOS würde nur dann Sinn machen, wenn diese Betriebssysteme ähnliche Schnittstellen zur Verfügung stellen, an die sich die Programmierer der Programme halten (Gibt's denn sowas wie MAPI oder TAPI unter Linux?). Und eine CTI Lösung ohne Integration in ein Mailprogramm macht ja auch nicht wirklich Sinn.

Kurze Frage zum Schluß: Wie willst Du denn in einem Python Programm mit der Maus klicken?

Grüße,
Laureen
 
Hallo Laureen

Über die Machbarkeit habe ich mir schon Gedanken gemacht. Ergebnis: mit Python kann man auch grafische Anwendungen über GTK realiseren. (pyGTK) Damit ist das Mausklickproblem gelöst. Außerdem kann Python eine Socket-Verbindung zum Asterisk Management Interface aufbauen. Diese Schnittstelle nutzt z.B. die PhoneSuite unter Windows ebenfalls. Damit sollten über Python also die gleichen Fähigkeiten wie bei PhoneSuite schnittstellenmäßig realisierbar sein. Soweit ich weiß nutzen TAPI-Treiber unter Windows ebenfalls das Asterisk Management Interface.

Python gibt es ebenfalls auch als Windows- oder MacOS-Portierung. Damit ist auch das Problem der Plattform-Unabhängigkeit gelöst.

Weitere Ideen werden dankbar angenommen :)

Gruß, Sven
 
Die Socket-Verbindung zum AMI ist hier weniger das Problem, vielmehr wie man auf Daten zugreift, die z.B. im Mail Programm (Address Book) abgelegt sind. Die Benutzer wollen doch immer aus ihrem Mailprogramm direkt und ohne Umwege den/die Kontakte anrufen. Und es gibt 100te Mailprogramme unter Linux, die alle einzubinden wird schwierig werden, deswegen meine Frage nach einer Standardschnittstelle a la MAPI unter Windows.

Zur AMI Verbindung: das AMI der Asterisk ist sicherlich nicht dafür geeignet, hunderte Verbindungen abzuhandeln, da kommt eine ganze Menge Traffic zusammen, wenn man an komplexe Dialpläne denkt. Dagegen würde eine Zwischenschicht (Middleware) auf dem Asterisk Server helfen, die die Pakete intellegent filtert. Auch wäre dann nur eine Verbindung zum AMI offen. Über diese Middleware könnte man dann die Funktionen integrieren.

Persönlich bin ich der Meinung, dass der Weg mit Python/GTK der falsche Ansatz ist.

Soll jetzt keine Kritik an Deiner Idee sein, aber genau an diesen Dingen bin ich auch schon gescheitert...

Grüße,
Laureen
 
Wie laureen gesagt hat: das AMI eignet sich bei geeigneter Ansteuerung sehr wohl für solche Sachen; man muß jedoch eine zentrale Instanz haben die als "Proxy" für die Clients agiert - wir haben mal solch einen Ansatz für ein "CallCenter Supervisor"-Monitor und zur direkten Ansteuerung von BLFs an snom-Telefonen in Java entwickelt.

Als betriebssystem-unabhängige Lösung (=Webbrowser) fällt mir z.B. astguiclient ein.

Ansonsten: es macht IMHO wenig Sinn, eine solche App nativ für Linux zu realisieren, höchstens noch für OS X. win32/OS X sind nunmal die Zielplattformen da draußen, und es ist kommerziell uninteressant Linux-Desktops zu unterstützen. Andersrum: wenn ich das bezahlt bekomme dann entwickel ich gern eine solche App (sinnvollerweise dann auch unter der GPL o.ä. bereitgestellt).

@svenc: man fragt nicht ob andere ein solches Projekt realisieren, man fängt damit selbst an (zu coden) und dann kommen weitere hinzu. OpenSource halt... :)
 
Eitgenlich ist so ein Tool eines der Dinge die mir abgehen.
Sehe für den Anfang eher Java als Sprache der Wahl.
AMI <-> Java Server / oder Python <-> Java Client
Die Verbindung zu einem Outlook/KMail oder was sonst noch Telefonbuch würde ich mir aufheben, weil es für den Anfang zu langwierig ist.
 
sowas ist in java in kurzer Zeit realisiert mit dem astjava. Hab gerad erst sowas für den Eigenbedarf gebaut.
 
sowas ist in java in kurzer Zeit realisiert mit dem astjava. Hab gerad erst sowas für den Eigenbedarf gebaut.

Mein Plan wäre folgender:
- AsteriskJava -> CSTA
- CSTA über XMPP transportieren
- XMPP Client (Auf Equinox-basis) verarbeitet zusatzliche CSTA Nachrichten

Fertig habe ich den XMPP-Server (NIO, Spring, forke von OpenIM, LGPL)

Gruß,
Heldenhaft
 
Zuletzt bearbeitet:
@heldenhaft , @xweber
habt ihr euren source irgendwo gehostet? sourcforge, etc?
 
Nein, das ist kein OpenSource Projekt. Ich hatte mich nur gemeldet um bzgl. der Machbarkeit was zu sagen.
 
Hallo,
Für Opensource wäre ich auch dabei :)
Net::CSTA zum Beispiel ... ist schon da ... allerdings nur Phase I ....
 
Ich bin auch gerade dabei, eine CSTA Anbindung (Phase II) in Java an Alcatel zu programmieren. Das Thema Middleware für Linux betrifft mich hier genauso.

Ich hatte mir hier das Decibel Framework angeschaut, das arbeitet über D-Bus. Anbindung für Mail-Clients sollte hiermit halbwegs standardisiert möglich sein.

Da das ganze irgendwie auch in Asterisk (AGI) integriert werden soll, bin ich hier nicht Off-Topic :) .

Bin dabei...

Gruß Mario
 
Hi!
@Mario
Interessante Project :)
wird es was opensource oder mehr etwas closedsource ?
 
Opensource, für 'ne Sache alleine nach Feierabend ist CSTA zu Umfangreich... :)

Bin noch nicht dazugekommen, 'nen SVN Server aufzusetzen. Sourceforge wäre aber evtl. auch 'ne Idee.

Mario
 
ist von der idee schon etwas umgesetzt worden?
 
Hab' seit Februar laufend mit dieser verdammten Erkältung zu kämpfen und deswegen keine rechte Lust gehabt, da weiter dran zu arbeiten. Leider...

Aktuell hat's mich gerade wieder erwischt, werde diesen Mist dieses Jahr einfach nicht los.... :-(

Mario
 
  • plattformunabhängig für Windows/Linux/MacOS und co. Evtl in Python realisiert.
  • anzeigen, wer gerade anruft, und Wahl von Kontakten per Mausklick
  • Anruf-History
  • Weiterverbinden von Gesprächen per Mausklick
  • Kalender-Funktion mit Erinnerungen
  • Übersicht über alle "Nebenstellen" mit Status (frei, Telefon klingelt, gerade im Gespräch, ...)
  • und vieles mehr, was die Zeit erla

Hab mich am Wochenende etwas mit Java gespielt und folgendes mal realisiert.
- Java Server der direkt am Asterisk Server lauscht und die Kommunikation mit Asterisk und den Clients übernimmt. Reines Konsolenprog, ohne GUI.
- Java Client mit Icon in der Taskbar mit
* Popupfenster wenn ein Anruf kommt
* Wählen von Nummern
* Beim start vom Client bekommt man eine Liste mit allen Telefonen am Asterisk und welche online und welche offline sind. Wenn ein Telefon offline geht bzw. online während des Betriebs vom Client sieht man das auch.
* alles in Netbeans, wobei GUI daweil noch nicht nicht schön ist da ich einfach die Events am Bildschirm darstelle. Wollte einfach mal sehen wie das hinhaut.

- client server lauft über tcp socket

- sollte überall laufen wo java läuft. (am server reicht eine ältere version, am client sollte ein aktuelles sein wegen taskbar icon)

vielleicht hat ja wer lust mitzuhelfen damit vielleicht in den nächsten wochen ein brauchbarer client herauskommt.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.