Da gibt es viele Möglichkeiten, aber die Frage ist wie Sinnvoll es ist da Zeit rein zu stecken, anstatt einfach myPBX zu lizenzieren oder die innovaphone Tapi (kostenlos) zu nutzen.
Allerdings wenn man mal alle Möglichkeiten in Betracht zieht:
1. myPBX Lizenzieren + ein LDAP Adressbuch zur Auflösung + Externe Anwendung nutzen (kostet zwar Lizenzen aber keine Zeit und läuft sauber und effizient).
2. innovaphone TAPI installieren (kostet keine Lizenzgebühren) aber ist halt Tapi^^.
3. Man könnte die GW CDR's auf dem IP-Gateway wo die externen Anrufe eingehen per HTTP oder TCP Stream verwenden und daraus dann irgendwelche deiner genannten Events triggern. z.B mit PHP. (aber Umständlich, will man das ?)
4. Man könnte die PBX CDR's auf irgendeinen Pfad schicken oder sichern und dann auswerten, aber die kommen immer erst nach dem Gespräch und ansonsten die gleiche Thematik wie bei GW CDR-'s.
5. Du machst es per SOAP. (wenn man es ein paar mal gemacht hat möglich und im wiki gibts auch gute Beispiele, aber trotzdem viel Aufwand für diese schon vorhandenen Funktionen)
6. XML Skript --> Du schickst alle eingehenden Calls (oder auch nur bestimmte) erst in ein XML Skript und da kannst du dann mit dem Anruf und dessen informationen machen was du willst. (Dateistruktur anlegen, Anzeigenamen setzen, vor der Zustellung informationen abfragen, Informationen in einer Dateistruktur ablegen, Informationen an und aus einer Datenbank schreiben / lesen.... --> aber Vorsicht, wenn das Skript fehler hat oder irgendwo hängt, wird kein Call zugestellt.
7. Du nimmst eine ThirdParty CTI/UMS Lösung. Caseris, Estos, Romico, IXI, PhoneSuite. Gibt ja einige...
----> Zusammenfassend sehe ich den Programmieraufwand im Vergleich zu den Lizenzkosten eher zu hoch und würde zu myPBX oder TAPI (sprich dem was es schon gibt) oder einer Third Party Lösung tendieren. Außer du sagst jetzt, ich hab hier ne Anlage mit 5000 Ports und bevor ich 5000x myPBX lizenziere oder eine Anwendung kaufe, programmiere ich lieber selbst.^^
Gruß
Peter