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.
 

Members Online Now

No members online now.

Forum statistics

Threads
111,832
Messages
589,285
Members
164,662
Latest member
DejanMDS