---
title: "Handler for POST /sip/call endpoint"
method: POST
path: "/sip/call"
tags: ["sip"]
---

# Handler for POST /sip/call endpoint

`POST /sip/call`

Initiates an outbound SIP call through LiveKit. The optional `sip` object in the request body allows overriding global SIP configuration on a per-request basis. Request body values take priority over global config, enabling different SIP providers or credentials for specific calls.

## Request body

- SIPCallRequest — Request body for initiating an outbound SIP call # Example ```json { "room_name": "call-room-123", "participant_name": "John Doe", "participant_identity": "caller-456", "from_phone_number": "+15105550123", "to_phone_number": "+15551234567", "sip": { "outbound_address": "sip.provider.com", "auth_username": "user123", "auth_password": "secret" } } ``` # SIP Configuration Priority The `sip` object is optional. When provided, its fields take priority over global server configuration values. This allows per-request customization of SIP settings. **Priority order**: Request body `sip` config > Global server config - `outbound_address`: Overrides `sip.outbound_address` from config - `auth_username`: Overrides `sip.outbound_auth_username` from config - `auth_password`: Overrides `sip.outbound_auth_password` from config If neither the request body nor global config provides an `outbound_address`, the call will fail with `OUTBOUND_ADDRESS_NOT_CONFIGURED` error.
  - `from_phone_number` string, required — Phone number the call will originate from. Must be configured in your SIP provider. Supports international format (+1234567890).
  - `participant_identity` string, required — Identity for the SIP participant in the room
  - `participant_name` string, required — Display name for the SIP participant in the room
  - `room_name` string, required — The LiveKit room name to connect the call to
  - `sip` SIPCallSipConfig — Per-request SIP configuration overrides Allows overriding the global SIP configuration on a per-request basis. When specified, these values take priority over the global server configuration. # Priority Request body values > Global config values # Example ```json { "outbound_address": "sip.example.com:5060", "auth_username": "user123", "auth_password": "secret456" } ```
    - `auth_password` string, nullable — SIP authentication password override. When provided, overrides the global `sip.outbound_auth_password` config.
    - `auth_username` string, nullable — SIP authentication username override. When provided, overrides the global `sip.outbound_auth_username` config.
    - `outbound_address` string, nullable — SIP server address override for outbound calls. When provided, overrides the global `sip.outbound_address` config. Format: hostname or hostname:port (e.g., "sip.example.com" or "sip.example.com:5060")
  - `to_phone_number` string, required — Phone number to dial. Supports international format (+1234567890), national format (07123456789), or extensions (1234).

## Response `200`

Call initiated successfully

- SIPCallResponse — Response for a successful SIP call initiation # Example ```json { "status": "initiated", "room_name": "call-room-123", "participant_identity": "caller-456", "participant_id": "PA_abc123", "sip_call_id": "SC_xyz789" } ```
  - `participant_id` string, required — The unique participant ID assigned by LiveKit
  - `participant_identity` string, required — The identity of the SIP participant in the room
  - `room_name` string, required — The room name where the call was connected
  - `sip_call_id` string, required — The unique SIP call ID for tracking
  - `status` string, required — Status of the call request ("initiated")

## Other responses

- `400` — Invalid request (bad phone number or empty fields)
- `404` — Room not found or not accessible
- `500` — LiveKit not configured, outbound address missing, or call failed

## Changes

- **2026-02-08** `0df166d28191` — 2 info
  - the endpoint scheme security `auth` was added to the API
  - the endpoint scheme security `bearer_auth` was removed from the API
- **2026-01-21** `e67223508556` — 1 info
  - added the new optional request property `sip`
- **2026-01-07** `3a996c4eb1fc` — 1 info
  - added the non-success response with the status `404`
- **2026-01-05** `216d8e6a1c81` — 1 info
  - endpoint added
- **2025-11-12** `d85b83f25aea` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/saynaai/apis/sayna-api/changes/sip/call/post.md)

---

[API](https://skmtc.dev/saynaai/apis/sayna-api.md) · [All operations](https://skmtc.dev/saynaai/apis/sayna-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/saynaai/sayna-api/revisions/395ce7e35139/schema)
