Connector library

Implemented source Voice, SMS & Messaging

FreeSWITCH Call Control connector.

Control bounded FreeSWITCH calls through the companion HTTPS controller: readiness, call lookup, origination, DTMF, playback, recording, hangup and collected results.

Connector download

Download FreeSWITCH Call Control

Versioned ZIP for your CXFabric tenant.

Requires a separately deployed controller. Download controller source and setup instructions after signing in. Import only the connector ZIP into your tenant.

Use this connector in a flow

  1. Register the ZIP in your tenant, or add a new version if the connector is already installed.
  2. Create or select a credential if the action requires one.
  3. In a Draft flow, add an available action, choose its version, connect it, and map inputs.
  4. Test the step and flow; review output and failures before activation.

See readme.md in the ZIP for settings and limitations.

Version
v0.2.0.0 Choose version
Release
2026-10-17
Package
Implemented source
Schema credentials
Bearer token
Connection settings
Controller URL
Package size
18 KB
SHA-256
f3427a14de6663b46f99c0ede370b4d9b5340368e66645c25f253612bcf9bffc

Version history

What's new

  1. v0.2.0.0Latest · 2026-10-17 · Implemented source

    Pairs unchanged call-control handlers and identity with controller 0.2.0. Separate media, offline recognition and recording-assertion connectors are available; stereo origination is opt-in. Live audio/model validation remains pending.

  2. v0.1.0.1Earlier · 2026-10-17 · Implemented source

    General call-control labels and descriptions, including Start Call and End Call. Existing action IDs, mappings and runtime are unchanged; the separate controller remains version 0.1.0.

  3. v0.1.0.0Earlier · 2026-10-17 · Implemented source

    Ten scripted call-control actions through a separately deployed HTTPS controller. Includes durable request identities, owned-call access, bounded calls, DTMF, playback, recording and collected results. Companion controller source is a separate authenticated download; live carrier and speech validation remain pending.

Included in this version

Included actions

Implemented in v0.2.0.0. Use a separate flow trigger; no webhook trigger is included.

Get Server Status

Check controller and private FreeSWITCH ESL readiness for the selected credential.

List Active Calls

Return one page of active managed calls owned by this credential; excludes arbitrary server channels.

Start Call

Reserve a request/call ID and submit one confirmed call with bounded ringing and answered duration.

Get Call State

Read persisted event-derived state, recording reference and evidence gaps for an owned call.

Send DTMF

Request keypad digits on an answered managed call. Acknowledgement does not prove IVR receipt.

Play Audio

Request playback of a configured WAV asset to the managed call. No arbitrary path or URL.

Start Recording

Request one local recording for the managed call; returns command acceptance, not a verified file.

Stop Recording

Request recording stop; inspect call state and recording events separately.

End Call

Persist an end intent and request the owned call be hung up; verify terminal state separately.

Get Call Results

Retrieve selected call events, operation outcomes and hangup/CDR fields. No assertion engine; verdict remains inconclusive.

Vendor API

API and access

Implementation considerations
  • Call lifecycle: Check readiness, list owned active calls, start a bounded call, read state and request hangup.
  • Scripted interaction: Send DTMF, play configured WAV assets and request one local recording per call.
  • Collected evidence: Retrieve selected call events, operation outcomes and available hangup/CDR fields without treating command acceptance as confirmed media completion.
  • Deploy the companion HTTPS controller before using this connector. Download its separate source archive from this connector’s download page after signing in; its README, OpenAPI contract, Dockerfile, Caddy template and private ESL examples are included. The connector ZIP itself remains a flat tenant-upload package, not a deployment bundle.
  • Select a Bearer Token credential issued by the controller and map its trusted HTTPS origin from Flow Properties. Keep ESL and carrier passwords on the host. The controller scopes calls to that credential and permits only configured destinations, caller IDs and WAV assets; there is no arbitrary command route.
  • Every write requires a retained Request ID (UUID v4) and deliberate confirmation. Repeat the same request identity and inputs only for reconciliation; do not automatically generate a new call after a timeout. Media commands require an observed answer and continuous evidence. Read state/results before deciding to retry uncertain operations.
  • Calls have bounded ringing and answered duration; the controller retains call/request state and applies call quotas and cleanup. Lists return one caller-managed page, up to 100 records. Command acceptance does not prove answer, DTMF receipt, finished playback or a valid recording file. These call-control results remain inconclusive and do not evaluate assertions or expose public recording URLs. Use the separate Recording Assertions connector for transcript/file-duration checks.
  • The controller needs Node 24, persistent SQLite storage, private ESL and a dedicated FreeSWITCH instance. A single-host HTTPS deployment template is supplied, but no hosted endpoint, carrier account or provisioned infrastructure is included. Optional local recognition and transcript assertions use separate connectors; live AI audio bridging and HA remain separate design/qualification work.
  • Local connector, controller, real HTTPS and ESL TCP tests use synthetic switch events. CXFabric import and live FreeSWITCH/carrier calls, recordings and speech have not been validated.
  • Version 0.2.0.0 keeps existing call-control handlers and identity. Controller 0.2.0 adds optional credential-owned audio uploads, recording access, offline transcription and scoped assertions through separate connectors. Existing Get Call Results retains its inconclusive verdict. Stereo recording must be enabled and channel-qualified deliberately.

Support

Need help with FreeSWITCH Call Control?

Tell us what you need to connect or change.