I’m still experimenting with everything, so I’m in a proof-of-concept phase.
My solution requires a really small server that acts as a mediator between Zammad (or any other ticket system) and 3CX. It can be in installed on the Zammad server machine.
The program on that server is continuously logged in to 3CX and does things like polling/monitoring the ongoing calls multiple times per second (this works). It uses this information to feed a small UI that is displayed beneath the Zammad UI and used the Zammad API to display additional information. The Zammad CRM API is still used for phone number resolution.
Also the 3CX webclient is displayed alongside.
This solution offers great freedom but also is relatively complex on the UI side. If you can live with the Zammad CRM API alone, it’s much easier.
On the mobile side we will use the native 3CX client for calls but I have no solution for after-call-work there, yet. Perhaps the Zammad mobile client could offer an option to manually create a ticket based on the call log.
I’d be happy to release everything to open source, but it takes great effort to produce/document a project so that it can be useful for others, that have slightly differrnt requirements for sure…