You have a Pipecat bot — a pipeline of frame processors wired to ASR, an LLM, and TTS — and you want it to answer real phone calls and browser sessions over TeleQuick’s transport instead of a media server you operate. This page is honest about where that stands: there is no packaged Pipecat adapter today. It describes the shape such an adapter would take, and the two on-ramps that already work if you want to run Pipecat now.
Not yet available — no Pipecat adapter ships. There is no pipecat-branded transport, plugin, or vendor-bridge target in TeleQuick today. The runtime’s built-in bridge routes to LiveKit, Vapi, and Twilio backends — Pipecat is not one of them. This page is a conceptual design plus the real, shipping alternatives below; it does not document a product you can install. Do not build a launch plan around a first-class Pipecat integration.

Where Pipecat and TeleQuick meet

Pipecat and TeleQuick solve different layers, which is exactly why they compose cleanly:
  • Pipecat owns the conversation — the frame pipeline (VAD, ASR, LLM context, TTS), turn-taking on your side, and your model choices. It abstracts the wire behind a Transport (input + output) that emits and consumes audio frames.
  • TeleQuick owns the transport and telephony — real-time audio over QUIC/MoQT on a single :443 plane, the SIP gateway and B2BUA that terminates carrier trunks, and the media plane that carries the frames.
So the integration point is Pipecat’s transport seam. The question is only what a TeleQuick transport for Pipecat would look like — and, until that exists, how to feed a Pipecat pipeline over a seam that already ships.

The conceptual shape (not yet available)

Preview / design sketch. The code below is illustrative pseudocode for a transport that does not exist yet. It shows the intended shape only — no package named here is installable. It is a design target, not a quickstart.
A first-class integration would be a Pipecat Transport implementation that binds Pipecat’s audio frames to our media-over-QUIC publish/subscribe primitives — reading caller audio off an uplink track and writing agent audio to a downlink track, both keyed by the call id. Conceptually:
# ILLUSTRATIVE — this transport is not shipped. Design sketch only.
from pipecat.pipeline.pipeline import Pipeline
from pipecat.pipeline.runner import PipelineRunner
from pipecat.pipeline.task import PipelineTask

# A transport that would carry Pipecat frames over the QUIC/MoQT plane:
#   - input(): subscribe to voice/<call_sid>/uplink  -> AudioRawFrame (PCM16)
#   - output(): publish   voice/<call_sid>/downlink  <- AudioRawFrame (PCM16)
transport = QuicMoqtTransport(
    url="quic://relay.telequick.dev",
    call_sid=call_sid,
    sample_rate=8000,          # the runtime's audio bus is 8 kHz PCM16 LE
)

pipeline = Pipeline([
    transport.input(),         # caller audio in
    stt,                       # your ASR frame processor
    llm,                       # your LLM context
    tts,                       # your TTS frame processor
    transport.output(),        # agent audio back to the caller
])

await PipelineRunner().run(PipelineTask(pipeline))
The work that adapter would have to do is the same work our own runtime already does at that seam: resample between Pipecat’s frame rate and the 8 kHz PCM16 audio bus, keep the room-scoped MoQT namespaces valid, and (for browser legs) carry Opus rather than PCM. None of it is exotic — it just isn’t packaged.

What ships today

You don’t have to wait for the adapter. Two seams that exist right now let a Pipecat pipeline take real calls.

When to reach for the managed runtime instead

If the reason you want Pipecat is the pipeline — cascaded ASR → LLM → TTS, turn detection, tool calls — TeleQuick’s own runtime already ships that as a configured DAG, with the transport, telephony, turn-taking, and barge-in built in. Bringing only your models (via provider credentials) is often less work than porting a Pipecat pipeline onto an adapter that doesn’t exist yet.

Keep Your Existing Runtime

Adopt only the transport and keep your own agent loop — the pattern a Pipecat bot would use today.

Custom Agent Runtime

Wire any runtime to the raw MoQT publish/subscribe primitives over QUIC.

BYO Speech-to-Speech

Keep our runtime and point it at your own realtime endpoint with per-tenant credentials.

From Custom WebSocket Audio

The on-ramp a Pipecat WebSocket transport uses to take live calls today.