Hello all,
Quick update on where we’ve got to, plus one API question in case anyone has already solved this.
We currently have a working post-call workflow using the 3CX API:
- Pull the completed call transcript from 3CX
- Run it through an agent to clean it up, assess urgency, and extract client details
- Create a ticket in ConnectWise PSA using the API
That part is working well. If useful, I’m happy to show it to anyone.
Where we’re struggling is the 3CX AI Voice Agent itself. In our testing:
- Background noise makes user detection unreliable
- We haven’t found a British voice that sounds consistently natural for our use case, aside from Ballad
- There is (currently) no supported way to add skills or tools to the agent, IE, GET company support pin for verification etc.
We already have an alternative STT -> TTS agent pipeline that solves these issues, but we don’t yet have a reliable way to integrate it live with 3CX.
We’ve been testing the Call Control API and can successfully open a real-time audio stream from a call while it is attached to the API-owned Route Point using:
GET /callcontrol/{dn}/participants/{id}/stream
However, once that call is routed onward to another DN, the stream stops working and we get:
424 Failed Dependency
From our testing, it looks like streaming works only while the call remains on the API-controlled leg, and once 3CX hands the call off to the destination DN, that participant is no longer streamable.
Question:
Has anyone successfully kept a live Call Control audio stream going after routing a call to another DN, or is this simply not supported by 3CX once the call leaves the Route Point?
Is there any other way of getting realtime audio in or out of every call in 3cx that is tried and tested?
Our next step was to look down the SIP Server/ Drachtio route, but this is starting to get a bit complicated, and no doubt we're months away from 3cx adding some of this functionality.
Also, 3cx, adding support for ElevenLabs voices would be great
