A capability index. Each row is a feature; the right-hand column points at the RPC, admin DTO, or codec path that implements it. Use this as a lookup when you need to know whether something is supported and where to wire it.

Origination & termination

FeatureYes / How
Outbound PSTN dialingYes. Originate RPC. E.164 destinations or full SIP URIs.
Inbound PSTN handlingYes. Configure per-trunk via SetInboundRouting (REJECT / PLAY-AND-HANGUP / NOTIFY-AND-HANGUP / HANDLE-AI).
Bulk / predictive dialingYes. OriginateBulk reads CSV, paces at user-set CPS, caps concurrent channels. AbortBulk cancels mid-flight.
Click-to-callYes. Originate with default_app=ANSWER and the agent’s softphone as the call_from.
Multi-trunk LCRYes via AddTrunk per carrier; the gateway picks the cheapest healthy trunk per destination prefix.
Failover / circuit breakerYes. Per-trunk circuit breaker trips on consecutive 5xx; surfaces in ApiTrunkConfig.is_cb_tripped.
Number portability lookupsOn request — depends on carrier integration.

Call control

FeatureYes / How
Hangup (any leg)Terminate RPC.
ParkExecuteDialplan(action=PARK).
Music on holdExecuteDialplan(action=MUSIC_ON_HOLD, app_args=<url>).
Playback promptExecuteDialplan(action=PLAYBACK, app_args=<url>).
UnparkExecuteDialplan(action=UNPARK_AND_BRIDGE) reattaches a parked call to its bridge partner.
Hold / resumeCHANNEL_HOLD / CHANNEL_RESUME events. From the SDK, use ExecuteDialplan(MUSIC_ON_HOLD) then ExecuteDialplan(UNPARK_AND_BRIDGE).
Call screeningInbound rule = NOTIFY_AND_HANGUP fires a webhook before answering, letting your app decide.
Barge (AI barge-in)Barge RPC. The platform’s headline AI-network unblocker — when the AI is talking, the gateway watches the inbound leg for the human’s voice (energy / VAD / semantic, configurable per trunk via auto_bargein_mode). When the human starts talking the AI’s outbound audio is gated within barge_in_patience_ms (default 250 ms) so the human is heard immediately. Without it AI voicebots feel deaf. Trunk knobs: auto_bargein_mode, auto_bargein_aggressiveness. Per-call knobs on OriginateRequest: auto_barge_in, barge_in_patience_ms.
Stuck-call cleanup (bucket actions)GetActiveBuckets / GetBucketCalls / ExecuteBucketAction enumerate calls stuck in a bucket (parked, abandoned, orphaned) and bulk-act on them — typically 0=hangup to clear stuck calls during ops incidents. Not a transfer or conferencing primitive.
Transfer (blind / attended)Not supported. Out of scope on this platform.
Conference (3+ parties)Not supported. Out of scope on this platform.
Whisper / coachNot supported. Out of scope on this platform.

Audio handling

FeatureYes / How
Codec supportPCMU, PCMA (G.711); PCM16; Opus; G.722. Per-trunk preference list.
TranscodingAutomatic on egress (e.g. linear16 from AI → PCMU to PSTN). SIMD path inside the C++ core.
AEC / AGC / NSWebRTC-grade pipeline runs on every WebRTC leg. Configurable per call.
VAD-based barge-inYes. OriginateRequest.auto_barge_in + barge_in_patience_ms.
DTMF (RFC 2833)Yes. Default.
DTMF (SIP INFO)Yes. Falls back when 2833 isn’t negotiated.
DTMF (in-band)Detected; not preferred.
DTMF maskingFor PCI-DSS: redact DTMF tones from the recording stream while passing them to the dialplan.
Pre-answer / early mediaPass-through.
Comfort noiseGenerated when the far end transmits silence.
Echo referencePer-leg AEC reference; ERL > 20 dB target.

AI / agent integration

FeatureYes / How
AI websocket bridgeOriginateRequest.ai_websocket_url. Audio bidirectional; framing per the AI vendor (OpenAI Realtime, Deepgram, ElevenLabs, etc).
AI QUIC bridgeOriginateRequest.ai_quic_url. Lower-latency option for first-party AI services.
Inbound AI handoffSetInboundRouting(rule=HANDLE_AI) + inbound_ai_websocket_url.
Agent DAGsYes — multi-step orchestration (TTS → STT → LLM → tool call → branch). Published via admin API. Versioned.
Live transcriptionPipe on_audio_frame to your STT. TeleQuick doesn’t bundle an STT — you pick.
Streaming TTSPipe TTS PCM into push_audio. TeleQuick resamples to the trunk codec.
Tool / function callingDriven by your AI; the gateway just shuttles audio and DTMF.
Human-in-the-loop transferMid-call: pause the AI, originate a human leg, bridge.

Reliability & scale

FeatureYes / How
Active-active multi-regionMulti-region deployment supported. Calls pinned to ingress region; CDR replicated globally.
Per-tenant CPS quotasEnforced. Excess returns ERR_RATE_LIMITED.
Per-trunk channel capsAddTrunk.channel_limit. New attempts past the cap fail closed.
Circuit-breakerPer-trunk; trips on consecutive carrier 5xx.
Hot certificate reloadReloadCertificates admin RPC. No connection drops.
Zero-downtime upgradesSingle-binary rolling deploy; QUIC connection migration keeps in-flight calls.
Rate-limited adminAdmin RPCs throttled separately from call-control.

Compliance & regulation

FeatureYes / How
STIR/SHAKEN signingOutbound INVITEs signed with the configured PASSporT cert. Attestation A/B/C selectable per trunk.
STIR/SHAKEN validationInbound Identity headers verified; result surfaces in CallEvent.status.
P-Asserted-IdentitySet per trunk.
PIDF-LO / E911 locationTrunk-default civic address; per-call override via ExecuteDialplan(ANSWER, app_args=<json>).
DNC suppressionUpload list per campaign; checked before each Originate.
Recording consent promptsPlayback prompt on connect (jurisdiction-dependent).
Recording encryptionRecordings written to your storage encrypted at rest (AES-256).
Retention controlsPer-tenant retention window applied to CDRs and recordings.
HIPAABAA available; recording storage encryption mandatory.
PCI-DSSDTMF masking + per-stream redaction tags.
GDPR / CCPARight-to-be-forgotten ⇒ purge tenant CDRs + recordings older than the retention window.
CALEAHonoured at the carrier upstream of TeleQuick; not a TeleQuick-side feature.

Observability

FeatureYes / How
CDRsPushed to ClickHouse; full schema in Telemetry.
Live event streamStreamEvents RPC; CallEvent per state transition.
Prometheus metrics/metrics on every gateway shard.
OpenTelemetry tracesOTLP HTTP/gRPC exporter; tenant.id and call.sid on every span.
SIP packet captureHEPv3 to Homer / heplify.
RecordingPer-call. Stored at the trunk-configured URL or in your S3.
Audit logAll admin RPCs logged with the issuing service-account kid.

WebRTC

Browser-side and vendor-bridge surface area:
FeatureYes / How
DTLS-SRTP mediaMandatory; full key-exchange via the standard a=fingerprint SDP attribute.
ICE / STUN / TURNICE-lite gateway-side. The platform publishes host and srflx candidates; clients TURN-relay through their own server when needed.
Codec negotiationOpus + PCMU offered by default; PCMA, G.722 negotiable. Transcoded to the trunk codec on bridge.
Audio processing pipelineAEC + AGC + NS run on every WebRTC leg, per direction.
Browser SDKTypeScript/WASM. Audio surfaced as a standard MediaStreamTrack.
LiveKit adapterJoins as a participant, subscribes to one track, bridges to the matching call_sid. JWT-authenticated.
Daily adapterJSON text-frame signaling, hidden participant join.
Chime adapterAWS SigV4 + Chime JoinToken; meeting must be created out-of-band.
Twilio Media StreamsPCMU 8 kHz pass-through; X-Twilio-Signature HMAC-validated.
Vapi adapterLinear16 16 kHz ingress, resampled to PCMU on egress.
getStats() exposureEvery WebRTC leg’s RTCStats (jitter, loss, ICE candidate type, REMB, NACK rate) surfaces in the per-leg event stream.
simulcast / SVCAudio-only platform — N/A.
DatachannelsNot exposed; SDK uses WebTransport for control instead.
See WebRTC Vendor Adapters for tenant-scoped URL paths and per-vendor auth details.

Other transports

FeatureYes / How
WebTransportBrowser control plane (RPC envelopes); same QUIC port as native SDKs.
QUIC (native SDKs)Direct binary RPC for Python / Go / Rust / Java / .NET.
Generic SIPYes. Carrier-agnostic.
HTTP/3 fallbackOptional; verification endpoint only. Not a media transport.

Out of scope

Capabilities the platform deliberately does not implement:
  • Video. Audio-only.
  • Fax / T.38. Pass-through only via raw SIP; no T.38 stack.
  • On-prem PBX replacement. TeleQuick is a gateway/orchestrator. It runs alongside Asterisk / Cisco UCM, not in place of them.
  • First-party STT / TTS / LLM. Bring-your-own; the platform provides the audio pipe and the agent-DAG runner.
  • First-party DID procurement. DIDs are obtained from a carrier and then attached to a trunk via AddTrunk.
  • CRM-side dashboards. CDRs and events are emitted; consumers wire them into Salesforce / HubSpot / etc.