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:
The response includes a read-only sip_uri.endpoint — the SIP address your client dials:
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).
The response includes sip_uri.extra_endpoints with additional SIP addresses:

SIP dial-in (audio and video)

Set video: true to enable video SIP dial-in. You can also specify codecs explicitly:
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:
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:
Dial out with video enabled:
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.