Identifying the dialed DID for each inbound external call on 3CX

therickg

Customer
Joined
Feb 5, 2025
Messages
1
Reaction score
0
What's the simplest path to get the dialed DID per inbound call on V20? Is Call Control the right surface for this, or is there a better one (CRM templates, CDR exports, XAPI cross-reference)?

I've read the official Call Control API docs, the endpoint spec, and the 3cx/call-control-examples repo. A few forum threads hint that attached_data.inbound_did should carry it, but I can't find an admin walkthrough for setting that up.

What I'm trying to do: identify the dialed DID for each inbound external call on 3CX V20.0.0.873.

What I've tried:
1. Set up an API client in Admin → Integrations → API with both "3CX Configuration API" + "3CX Call Control & Chat API" scopes enabled.
2. Assigned a test DID to the API client (via the DID Number(s) field).
3. Connected to `wss://{fqdn}/callcontrol/ws` with the bearer token — works.
4. Dial the DID from a mobile — WebSocket emits events (~14 per call).
5. Pull the participant entity via GET on the event's URL — call state present, caller ID present, trunk DN present, but the dialed DID isn't there.

Participant body looks like:

```json
{
"id": 244,
"status": "Connected",
"party_caller_id": "+1234567890",
"party_dn": "10000",
"party_did": "",
"party_dn_type": "Wexternalline"
}
 
Call Control API or, depending on the goal, a simple call script.
 
Yes, more detail would be helpful. When do you need the information? For reporting after the fact? For a CRM integration? The Call Flow Designer can get it in real time. The cdroutput table should have it for reporting. Or you can subscribe to real-time events. There are a lot of options but we do not know your needs to offer the right choice.
 

Forum statistics

Threads
112,147
Messages
590,960
Members
165,167
Latest member
Finatra.us