Connector library

Implemented source Voice, SMS & Messaging

LiveKit Voice Sessions connector.

Start, inspect and end managed FreeSWITCH-to-LiveKit voice sessions through an authenticated controller. List allowed agent profiles and track both call legs and cleanup.

Connector download

Download LiveKit Voice Sessions

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.1.2.0 Choose version
Release
2026-10-17
Package
Implemented source
Schema credentials
Bearer token
Connection settings
Controller URL
Package size
21 KB
SHA-256
a1e4b0e954837d3ae47a47d2b306d535a8d5a6038b5e25c62e75743a0c4f39eb

Version history

What's new

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

    Preserves connector identity and action mappings. The separate Controller 0.5.1 download now includes optional Local Voice Worker 0.1.1 source with local Whisper/Kokoro speech, an explicit local LLM, bound SIP readiness, carrier-answer signaling and bounded interruption/cleanup. Real calls, model inference and two-way audio still need lab qualification.

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

    Start, inspect and end managed FreeSWITCH-to-LiveKit voice sessions through an authenticated controller. List allowed agent profiles and track both call legs and cleanup. Requires controller 0.4.0, private SIP routing and a separately deployed named voice worker. Active is signaling readiness, not verified audio.

Included in this version

Included actions

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

List Agent Profiles

List voice-agent profiles explicitly allowed for this controller credential.

Start Voice Session

Reserve an owned session, prepare the private SIP bridge and place one allowed carrier call only after agent and bridge readiness.

Get Voice Session

Read stored session status, both leg states and cleanup. Use either Session ID or the original Start Request ID.

End Voice Session

Persist a stop request for both call legs and the owned room/dispatch. Accepted does not mean cleanup has completed.

Vendor API

API and access

Implementation considerations
  • List Agent Profiles: List voice-agent profiles explicitly allowed for this controller credential.
  • Start Voice Session: Reserve an owned session, prepare the private SIP bridge and place one allowed carrier call only after agent and bridge readiness.
  • Get Voice Session: Read stored session status, both leg states and cleanup. Use either Session ID or the original Start Request ID.
  • End Voice Session: Persist a stop request for both call legs and the owned room/dispatch. Accepted does not mean cleanup has completed.
  • Deploy CXFabric FreeSWITCH Controller 0.5.1 and the optional Local Voice Worker 0.1.1 source included in the separate download. Requires FreeSWITCH with a private LiveKit SIP gateway, self-hosted LiveKit server/SIP/Redis, staged Whisper/Kokoro speech models and a configured local Ollama-compatible endpoint. No infrastructure, endpoint, credentials or model weights are supplied.
  • Use a controller-issued Bearer Token credential and trusted Controller URL from Flow Properties. This URL is not the LiveKit server address. API keys and SIP credentials stay on the host; profiles, routes, destination numbers and caller IDs are explicitly allowlisted.
  • Start reserves a persistent session and call capacity before external writes. The controller verifies worker identity, matched SIP Call-ID and private conference readiness before carrier origination. Retain Request IDs to reconcile uncertain responses; Get can recover by the original Start Request ID. No blind creation/originate retry or internal connector polling.
  • The opt-in cxf-voice-v1 profile verifies bound SIP audio readiness before dialing and signals actual carrier answer before the worker speaks. The worker streams replies with phrase speech and supports bounded interruption/cleanup. The worker joins before model warmup and cancels immediately on room loss; the dedicated LiveKit lab must disable room auto-creation to prevent stale joins recreating deleted rooms. Recognition is utterance-based, not incremental ASR. worker_completed is lifecycle completion, not a passing scenario. Existing connector identity, handlers and action mappings remain unchanged.
  • Active means signaling and conference membership, not verified two-way audio, model accuracy or a business outcome. mediaVerified and assertionsEvaluated remain false. Use callId with existing FreeSWITCH Call Control actions; bridgeCallId is internal correlation. Conference recording attribution stays unqualified.
  • End persists a stop request. Wait for cleanupConfirmed and a terminal status; acceptance is not completion. Restart cleans up rather than resumes calling. Uncertain writes can need operator reconciliation and continue holding call capacity. Existing call quotas apply; global session concurrency is bounded to 1–5 and persisted records need retention.
  • Local package and native HTTPS/ESL TCP/SQLite tests use synthetic vendor/switch behavior with official token signing and protocol codecs. Hosted import, real FreeSWITCH/LiveKit/worker/carrier execution, voice/model behavior, listening quality, latency and route billing remain unvalidated.

Support

Need help with LiveKit Voice Sessions?

Tell us what you need to connect or change.