Every verb on this page belongs to the
call_control scope. The
short-lived CTI token your control-plane API mints must carry call_control
in its scopes claim, or the engine refuses the verb. Per-call verbs are also
tenant-checked against the call they name — you can only act on calls in your
own workspace. See Connect & authorize.Verbs at a glance
| Wire verb | CSTA operation | What it does |
|---|---|---|
makeCall | Make Call | Originate a new call over a SIP trunk |
clearConnection | Clear Connection | Release / hang up a call |
holdCall | Hold Call | Put a connected party on hold |
retrieveCall | Retrieve Call | Take a held party back off hold |
singleStepTransfer | Single Step Transfer Call | Blind transfer to a destination |
consultationCall | Consultation Call | Hold the call and dial a consult target |
transferCall | Transfer Call | Complete a consultative transfer |
cancelConsultation | Reconnect Call | Drop the consult, return to the held party |
generateDigits | Generate Digits | Send DTMF into the call |
How a verb call looks on the wire
The CTI control leg carries length-prefixed, correlated request/reply lines. A request is the verb name, a tab, and a JSON argument object; the engine answers with a JSON reply correlated to that request. (The first line on any connection is alwaysauth\t<jwt> — see the overview.)
Request wire
Reply
cti event track you subscribe once for the whole tenant. Treat the reply as
“the engine took the request” and the event as “the call actually changed.” See
Routing & events.
Originate a call — makeCall
Places a new outbound call over a provisioned SIP trunk. Maps to CSTA Make
Call. The reply carries the callId you use to address the call in every
later verb.
The SIP trunk to originate over. Provision it first — see
SIP trunking.
Destination number in E.164 (
+15551234567).Caller ID to present. Must be a number routable on
trunkId.delivered then established event on
the event track to know it rang and connected.
Release a call — clearConnection
Ends a call. Maps to CSTA Clear Connection. Use it to hang up whether the
call is ringing, connected, or held.
The call to release.
A short release reason recorded on the call (
normal, busy, rejected,
caller_abandon, …). Informational; the call is released regardless.cleared event follows once both legs tear down.
Hold and retrieve — holdCall / retrieveCall
Put a connected party on hold and take them back. These map to CSTA Hold Call
and Retrieve Call. Hold plays the trunk’s configured hold treatment to the
far party; retrieve reconnects the media path.
The connected call to hold or retrieve.
held and retrieved events. Holding is also the first thing
consultationCall does for you — see below.
Blind transfer — singleStepTransfer
Transfer a call straight to another destination without speaking to it first.
Maps to CSTA Single Step Transfer Call. The engine redirects the party and
drops your control of the original leg in one step — there is no consult phase.
The call to transfer away.
Where to send it — an E.164 number or a routable extension/agent address.
Caller ID to present to the destination. Defaults to the original party’s
identity when omitted.
transferred event fires when the new leg is established. After a blind
transfer you no longer control the call.
Attended (consultative) transfer
An attended transfer is a three-verb sequence: hold the caller and dial a consult target, talk to them, then either complete the transfer or cancel and return to the caller. This is the standard CSTA consult-then-transfer flow.Start the consult — consultationCall (CSTA Consultation Call)
Puts
callId on hold and originates a new consult leg to target over a
trunk. You end up talking privately to the target while the original party
waits on hold. The reply returns the consult call’s id.The active call to consult from. It is placed on hold.
Who to consult — E.164 number or routable extension/agent address.
The SIP trunk to originate the consult leg over.
Caller ID / display name to present on the consult leg.
Complete it — transferCall (CSTA Transfer Call)
Connects the held original party directly to the consulted party and drops
you out of both legs. Name the original A
callId; the engine joins it to
its outstanding consult.The original call whose consult you are completing.
transferred event confirms the two parties are now connected to each
other.…or abandon it — cancelConsultation (CSTA Reconnect Call)
If the consult doesn’t pan out, drop the consult leg and reconnect to the
party you had on hold. This is CSTA Reconnect Call: it clears the consult
connection and retrieves the held original in one verb.You are back in conversation with the original party, exactly as before the
consult. A
The original call to return to. The consult leg is cleared and this call is
retrieved from hold.
retrieved event confirms it.Use
singleStepTransfer when you don’t need to speak to the destination first,
and the consultationCall → transferCall / cancelConsultation sequence when
you do. The difference is entirely whether there’s a consult phase you can back
out of.Send DTMF — generateDigits
Push DTMF digits into a call — for driving a far-end IVR, entering a conference
PIN, or navigating a menu. Maps to CSTA Generate Digits.
The call to send digits into.
The digit(s) to send:
0–9, *, #, and A–D. Send one or a short
string.How the digits are carried:
•
•
•
rfc2833 — in-band RTP telephone-event tones (RFC 2833 / 4733). The
default and the most widely interoperable.
•
info — out-of-band SIP signalling. Use when the far end expects
signalled DTMF rather than RTP events.Errors
A refused verb replies withok: false and a machine-readable error. Common
causes: the token is missing the call_control scope, the callId doesn’t
belong to your tenant (or no longer exists), or the trunk named in makeCall /
consultationCall isn’t provisioned.
Reply — refused
A reply only tells you the verb was accepted or rejected. It never carries the
final call state — always drive your UI and workflow from the
event track, which delivers
delivered / established / held / retrieved / transferred / cleared
/ failed as they happen.Related
CTI (CSTA) overview
Connect the control leg, mint a scoped CTI token, and understand the frame
format these verbs ride on.
Routing & events
Subscribe the CSTA event track and register as a route point to select call
destinations.
Agent state
Set login / ready / not-ready / after-call-work with
setAgentState.PBX & ACD
How hold, transfer, and queueing fit the contact-center routing model.
SIP trunking
Provision the trunks that
makeCall and consultationCall originate over.High availability
CTI verbs resolve against the surviving nodes through a node failure.