Dial
The Dial endpoint originates a call between a source extension and a destination number. It is the OpenAPI equivalent of proxyapi.php?reqtype=DIAL and uses the same PBX dialplan contexts.
The endpoint requires a tenant context and a full API key. Read-only API keys cannot originate calls.
Endpoint
POST https://pbx.example.com/pbx/openapi.php/dial?tenant=CANISTRACCI
| Parameter | Required | Description |
|---|---|---|
tenant | Yes | Tenant code or tenant name. |
key | No, if using headers | Full API key. The key can also be sent with X-API-Key or Authorization: Bearer. |
Request Body
| Field | Required | Description |
|---|---|---|
source | Yes | Source extension. Compatibility aliases are exten and ?exten. |
dest | Yes | Destination number. Compatibility alias is phone. |
dialtimeout | No | Originate timeout in seconds. Defaults to 30. |
timeout | No | Sets the dialplan variable SETTIMEOUT. |
sourceclid | No | Sets SETSOURCECLID. |
destclid | No | Sets SETDESTCLID. |
logqueueoutbound | No | Sets SETLOGQUEUEOUTBOUND. |
recording | No | Sets SETRECORDING. |
autoanswer | No | Sets AUTOANSWER. |
nofollow | No | Sets SETNOFOLLOWEXTENSION. |
account | No | Peer account name to set as SETPEERNAME. Use SOURCE to resolve it from the source extension. |
server | No | PBX node peer name to use when the source or destination registration server cannot be found. |
var | No | Comma-separated custom variables, for example campaign=summer,lead=42. |
vars | No | Custom variables as a JSON object. Variables are tenant-prefixed and listed in VARLIST. |
Example
curl -X POST "https://pbx.example.com/pbx/openapi.php/dial?tenant=CANISTRACCI" \
-H "X-API-Key: TENANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": "100",
"dest": "39055123456",
"dialtimeout": 30,
"sourceclid": "100",
"recording": "yes",
"vars": {
"campaign": "summer",
"lead": "42"
}
}'
Response
The response includes the Asterisk manager originate result, the generated originate ID, and the selected PBX node.
{
"Response": "Success",
"Message": "Originate successfully queued",
"ID": "6867c1c5.12345678",
"source": "100",
"dest": "39055123456",
"server": "pbx-node-1",
"node": "PBX Node 1"
}
Compatibility Notes
source=ACCOUNTresolves the source extension number from theaccountpeer name.account=SOURCEresolves the peer name from the source extension and setsSETPEERNAME.- If a source or destination registration server is found, that node is used. If no registration server is found, pass
serverwith the node peer name. - The endpoint returns JSON only.
No comments to display
No comments to display