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

# Call

> Voice and call interaction mode

The `call` command starts the PraisonAI Call server for voice-based AI interactions over phone calls.

<Info>
  **Install requirement:** `praisonai call` requires `pip install praisonai` (the full wrapper). On a standalone `pip install praisonai-code` install every `call` subcommand exits `1` with `call requires the full wrapper. Install the full wrapper: pip install praisonai` — a single-line hint, no Rich traceback ([PR #2854](https://github.com/MervinPraison/PraisonAI/pull/2854)).
</Info>

## Usage

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai call [OPTIONS]
```

## Options

<Note>
  In older `praisonai` versions, `--public` / `--port` / `--host` were reachable only through the `PUBLIC` / `PORT` / `HOST` environment variables. From the release that includes [PR #4927](https://github.com/MervinPraison/PraisonAI/pull/4927) they are proper CLI flags on `praisonai call`.
</Note>

| Option     | Description                           | Default                    |
| ---------- | ------------------------------------- | -------------------------- |
| `--port`   | Port to run the server on             | `8090` (or `PORT` env var) |
| `--host`   | Host to bind the server to            | `127.0.0.1`                |
| `--public` | Expose the server via an ngrok tunnel | `false`                    |

When `--port` is omitted, the call server picks its own default (`$PORT` if set, else `8090`) — unrelated argparse defaults elsewhere in the CLI are not forwarded.

<Note>
  `praisonai call` binds to `127.0.0.1` by default — local machine access only. To expose on your LAN, pass `--host 0.0.0.0` (a warning will print). To expose publicly, use `--public` (requires `NGROK_AUTH_TOKEN`).
</Note>

<Note>
  The `praisonai call` CLI loads `.env` explicitly at run time. Importing `praisonai.api.call` no longer loads `.env` at import time — set `PRAISONAI_CALL_LOAD_DOTENV=true` to restore the legacy import-time behaviour. See [PraisonAI Call](/docs/docs/call#environment-variables).
</Note>

## Examples

### Start locally (default)

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai call
```

### Custom port

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai call --port 8090
```

### Expose publicly via ngrok

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
export NGROK_AUTH_TOKEN="your-ngrok-auth-token"
praisonai call --public
```

<Warning>
  `--public` forces a `0.0.0.0` bind and refuses the `PRAISONAI_CALL_AUTH=disabled` escape hatch — a public tunnel always requires auth. See [Security](/docs/security) for depth.
</Warning>

### Expose on LAN

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai call --host 0.0.0.0 --port 8090
```

## See Also

* [PraisonAI Call](/docs/call) - Full setup guide with Docker, tools, and deployment
* [Voice Call API](/docs/deploy/api/voice-call/endpoints) - HTTP endpoints reference
* [Realtime](/docs/cli/realtime) - Realtime interaction mode
