> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeroruntime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Connect your Zero Runtime voice agent to real phone calls over SIP (inbound and outbound) using providers like Twilio, Vonage, Plivo, and Telnyx, with no telephony infrastructure to run.

Zero Runtime Telephony connects your voice agent to the phone network. A caller dials a number and talks to your AI agent, and your agent can place outbound calls too. It works with the SIP providers you already use (Twilio, Vonage, Plivo, Telnyx, or any standard SIP trunk), so you keep your numbers and carrier while Zero Runtime runs the real-time voice pipeline.

Session Initiation Protocol (SIP) is the signaling standard telephony providers use to set up, manage, and end calls over IP. Zero Runtime speaks SIP natively, so any SIP trunk or phone number can reach an agent directly: no PBX, no media servers, and no telephony stack for you to operate.

<Note>
  **`videosdk.live` is expected here.** Zero Runtime runs on VideoSDK's real-time infrastructure, so its SIP, media, and API endpoints are served from the `videosdk.live` domain. Use the hostnames and URLs exactly as shown.
</Note>

## High-level architecture

A call travels from the caller, through your SIP provider, into the Zero Runtime SIP Gateway, where routing rules hand it to your agent running on the Zero Runtime Runtime.

<Frame>
  <img src="https://mintcdn.com/zeroruntime/4_cfATkjcwT4WAC6/images/zrt-telephony-architecture.svg?fit=max&auto=format&n=4_cfATkjcwT4WAC6&q=85&s=5b4ca8e962a7800860e8a28319623c2d" alt="ZRT telephony architecture: a caller connects through Twilio to the ZRT SIP Gateway (inbound and outbound), which routes into ZRT Cloud. The routing layer hands the call to the ZRT Runtime hosting your AI agent, and the ZRT API Server invokes the agent to start the call." width="1500" height="580" data-path="images/zrt-telephony-architecture.svg" />
</Frame>

### Components

* **SIP provider**: Twilio, Vonage, Plivo, Telnyx, or any SIP trunk. Provides the phone numbers and carrier connectivity for inbound and outbound calls.
* **Inbound gateway**: validates incoming calls from your provider and passes them to routing.
* **Outbound gateway**: holds your provider configuration and places outbound calls to external numbers.
* **Routing rules**: match each call by number and your own logic, then invoke the right agent.
* **Zero Runtime**: runs the real-time voice pipeline (transport, GPUs, turn-taking) and hosts your agent for the duration of the call.
* **AI agent**: your code, built with the ZRT SDK in Python, Go, or JavaScript. It answers the call and drives the conversation.
* **Zero Runtime API**: the control plane that invokes your agent and starts the call.

### Call flow

1. **Inbound call**: your provider sends an incoming call to the inbound gateway. Routing rules match the number, the API invokes your agent, and the caller is connected to it on the runtime.
2. **Outbound call**: your app requests a call through the Zero Runtime API. The outbound gateway dials the destination through your provider and connects your agent once the callee answers.
3. **Live conversation**: for the length of the call, the caller talks with your agent in real time. The runtime handles speech-to-text, the LLM, text-to-speech, turn detection, and interruptions.

## Next steps

<CardGroup cols={2}>
  <Card title="Build a telephony agent" icon="phone" href="/telephony/ai-telephony-agent-quick-start">
    Answer your first inbound call with an AI agent, end to end.
  </Card>

  <Card title="Handle inbound & outbound calls" icon="phone-arrow-up-right" href="/telephony/managing-calls/handling-calls">
    Provision a number and place outbound calls from your agent.
  </Card>

  <Card title="Set up routing rules" icon="route" href="/telephony/call-routing/setting-up-routing-rules">
    Control how each call is matched and which agent it invokes.
  </Card>

  <Card title="Connect Twilio" icon="plug" href="/telephony/integrations/twilio">
    Import a Twilio number and point it at your gateway.
  </Card>
</CardGroup>
