Put a call in front of an unchanged LiveKit agent via the vendor-bridge front-proxy, with a note on the browser compat shim.
You have a working LiveKit agent and want a phone call (or a browser leg) to reach
it over TeleQuick’s QUIC transport — without editing the agent. The shipped way
is a vendor-bridge front-proxy: the voice gateway terminates the caller edge,
then relays the audio to a small bridge process that joins your LiveKit room as an
ordinary participant. Your agent code is untouched.
There is no packaged LiveKit-Agents adapter. You do not pip install a
TeleQuick plugin into your agent. Integration happens at the edge — the
gateway sits in front of your agent and moves audio to it. The conceptual
walkthrough is in LiveKit Agent Integration;
this page is the runnable version.
Give the agent a single VENDOR_BRIDGE entry node instead of an ASR→LLM→TTS
cascade. With this config the runtime runs no turn detection and no model —
it hands the caller’s audio to your LiveKit room and streams the room’s audio back.
The gateway-side of the bridge — the vendor-bridge node plus the media handler —
is shipped and in-tree. The process that actually joins your LiveKit room is a
bridge sidecar you run next to your LiveKit deployment.
# Runs alongside your LiveKit server; carries caller audio in both directions.export LIVEKIT_URL="wss://your-livekit-host.example.com"export LIVEKIT_API_KEY="APIxxxx"export LIVEKIT_API_SECRET="secretxxxx"# + the gateway's media-bridge URL and the room to join (matches vendor_room).
What’s shipped vs. what you deploy. The vendor-bridge routing lives in the
runtime and is shipped. The bridge sidecar is a separate component you
operate, using your own LiveKit URL, key, and secret — so its exact CLI and
image ship with the bridge, not with the gateway. The edge is shipped; the
bridge is a thin component you run.
If your LiveKit surface is a browser app (livekit-client) rather than a
server-side agent, you can skip the edge bridge and run the client’s audio over the
transport directly with a one-line import swap.
- import { Room, RoomEvent, createLocalAudioTrack } from "livekit-client";+ import { Room, RoomEvent, createLocalAudioTrack } from "@telequick/sdk/livekit-compat";
Preview / experimental. The livekit-compat shim is an early-access browser
package, not a shipped product. It covers the core voice path (publish the mic,
subscribe to remote audio, data messages); video, screenshare, and
per-participant E2EE key rotation are deferred, and a session-setup race can
occasionally deliver zero frames on connect (retry). It requires encoded media
transforms and refuses to fall back to plaintext WebRTC — today that means
Chromium-family browsers. A server-side Python (livekit.rtc) equivalent is not
yet available. Full deep-dive:
Keep Your Existing Runtime.