Skip to main content
Daily supports both SIP dial-in and SIP dial-out. See the overview for prerequisites and codec information.

SIP dial-in (audio only)

Single SIP endpoint

Set the sip room property to enable SIP dial-in:
curl --request POST \
  --url https://api.daily.co/v1/rooms/your-room-name \
  --header 'Authorization: Bearer $DAILY_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"properties": {"sip": {"sip_mode": "dial-in", "display_name": "SIP Participant"}}}'
The response includes a read-only sip_uri.endpoint — the SIP address your client dials:
{
  "config": {
    "sip_uri": {
      "endpoint": "sip:123456780@example.sip.daily.co"
    },
    "sip": {
      "sip_mode": "dial-in",
      "display_name": "SIP Participant"
    }
  }
}
Set sip to null to disable SIP on a room.

Multiple SIP endpoints

Use num_endpoints to provision multiple SIP dial-in addresses. Each SIP and PSTN connection counts toward the max_sip_pstn_sessions_per_room limit (default: 5).
curl --request POST \
  --url https://api.daily.co/v1/rooms/your-room-name \
  --header 'Authorization: Bearer $DAILY_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"properties": {"sip": {"sip_mode": "dial-in", "display_name": "SIP Participant", "num_endpoints": 2}}}'
The response includes sip_uri.extra_endpoints with additional SIP addresses:
{
  "config": {
    "sip_uri": {
      "endpoint": "sip:123456780@example.sip.daily.co",
      "extra_endpoints": ["sip:abcdefg@example.sip.daily.co"]
    }
  }
}

SIP dial-in (audio and video)

Set video: true to enable video SIP dial-in. You can also specify codecs explicitly:
curl --request POST \
  --url https://api.daily.co/v1/rooms/your-room-name \
  --header 'Authorization: Bearer $DAILY_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "properties": {
      "sip": {
        "display_name": "sip-user",
        "sip_mode": "dial-in",
        "video": true,
        "codecs": {
          "audio": ["OPUS"],
          "video": ["H264"]
        }
      }
    }
  }'
If the remote party doesn’t support the specified codec, Daily transcodes the stream (transcoding charges apply). See our pricing page for details.

Dynamic display names

display_name is set at room creation time. To pass a name at dial time instead, append it as a URL-encoded query parameter on the SIP URI:
sip:123456780@example.sip.daily.co?x-daily_display_name=my%20user%20name
Use encodeURIComponent to encode the name. If x-daily_display_name is not passed, the room-level display_name is used.

Testing SIP dial-in

Below describes the SIP dial-in flow for a room with one SIP endpoint. For multiple endpoints, the flow is the same but with additional dialin-ready events and SIP URIs.
  1. A session starts and the SIP worker registers with the SIP network.
  2. The dialin-ready event fires for each registered SIP URI.
  3. After dialin-ready, your SIP client dials the sip_uri.endpoint.
Notes:
  • Each sip_uri endpoint can only be used by one SIP client at a time.
  • After a disconnect, the same sip_uri can be redialed.
  • When the Daily session ends, all SIP connections are terminated.

SIP dial-out

A Daily room can dialout to a one or more "sipUri". You can initiate dial-out from the client SDK or REST API. See the overview for details on dial-out prerequisites and supported codecs. Dial out audio-only:
curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DAILY_API_KEY" \
  -XPOST -d '{"sipUri": "sip:user@example.calls.webex.com"}' \
  https://api.daily.co/v1/rooms/$ROOM_NAME/dialOut/start
Dial out with video enabled:
curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DAILY_API_KEY" \
  -XPOST -d '{"sipUri": "sip:user@example.calls.webex.com", "video": true, "codecs": {"audio": ["OPUS"], "video": ["H264"]}}' \
  https://api.daily.co/v1/rooms/$ROOM_NAME/dialOut/start
SIP URIs must be prefixed with sip:. You can also use startDialOut() from the client SDK.

Call transfers

For transferring SIP calls to another room or external SIP/PSTN endpoint, see the transfers guide.