CallClient class is the primary interface for joining calls, managing media, and controlling call features.
Constructor
Creates a new CallClient instance.Parameters
An optional event handler instance to receive call events. See EventHandler for details.
Returns
A new CallClient instance.
Connection Management
join()
Joins a Daily room.Parameters
The Daily room URL to join.
Optional meeting token for authentication and permissions.
Optional dictionary of client settings (inputs, publishing, subscription profiles, etc.).
Optional callback invoked when join completes. Receives
(data, error) where data contains join information on success, or error contains an error message on failure.Returns
This method does not return a value. Use the completion callback for async results.
leave()
Leaves the current Daily room.Parameters
Optional callback invoked when leave completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
release()
Releases all resources associated with the CallClient. Should be called when you’re done with the client.Returns
This method does not return a value.
Participant Management
participants()
Gets the current participants in the call.Returns
A dictionary mapping participant IDs to participant information objects.
participant_counts()
Gets the current participant counts.Returns
A dictionary containing participant count information (present, hidden, etc.).
active_speaker()
Gets information about the current active speaker.Returns
A dictionary containing active speaker information.
set_user_name()
Sets the user name for the local participant.Parameters
The display name for the local participant.
Returns
This method does not return a value.
update_remote_participants()
Updates settings for remote participants.Parameters
Dictionary mapping participant IDs to their settings updates.
Optional callback invoked when update completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
eject_remote_participants()
Ejects one or more participants from the call.Parameters
List of participant IDs to eject from the call.
Optional callback invoked when eject completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Media Input Management
inputs()
Gets the current input settings (camera, microphone).Returns
A dictionary containing current input settings.
update_inputs()
Updates input settings for camera and microphone.Parameters
Dictionary containing input configuration (camera, microphone settings).
Optional callback invoked when update completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Publishing Management
publishing()
Gets the current publishing settings.Returns
A dictionary containing current publishing settings.
update_publishing()
Updates publishing settings for camera, microphone, and custom tracks.Parameters
Dictionary containing publishing configuration.
Optional callback invoked when update completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Subscription Management
subscriptions()
Gets the current subscription settings.Returns
A dictionary containing current subscription settings for participants.
update_subscriptions()
Updates subscription settings for specific participants or using profiles.Parameters
Optional dictionary mapping participant IDs to subscription settings.
Optional dictionary of subscription profile settings.
Optional callback invoked when update completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
subscription_profiles()
Gets the current subscription profiles.Returns
A dictionary containing subscription profile configurations.
update_subscription_profiles()
Updates subscription profile settings.Parameters
Dictionary containing subscription profile configurations.
Optional callback invoked when update completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Permissions
update_permissions()
Updates permissions for participants in the call.Parameters
Dictionary containing permission settings.
Optional callback invoked when update completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Custom Audio Tracks
add_custom_audio_track()
Adds a custom audio track to the call.Parameters
Name identifier for the custom audio track.
The custom audio track instance to add.
If
True, audio level detection is disabled for this track.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
update_custom_audio_track()
Updates an existing custom audio track.Parameters
Name identifier of the custom audio track to update.
The new custom audio track instance.
If
True, audio level detection is disabled for this track.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
remove_custom_audio_track()
Removes a custom audio track from the call.Parameters
Name identifier of the custom audio track to remove.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Recording
start_recording()
Starts recording the call.Parameters
Optional dictionary containing recording configuration (width, height, fps, etc.).
Optional identifier for the recording stream.
If
True, forces creation of a new recording even if one exists.Optional callback invoked when recording starts. Receives
(stream_id, error).Returns
This method does not return a value. Use the completion callback for async results.
stop_recording()
Stops an active recording.Parameters
Optional identifier of the recording stream to stop. If not provided, stops the default recording.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
update_recording()
Updates settings for an active recording.Parameters
Dictionary containing recording settings to update.
Optional identifier of the recording stream to update.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Live Streaming
start_live_stream_with_endpoints()
Starts live streaming to specified endpoints.Parameters
List of streaming endpoint URLs.
Optional dictionary containing streaming configuration.
Optional identifier for the stream.
If
True, forces creation of a new stream even if one exists.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
start_live_stream_with_rtmp_urls()
Starts live streaming to RTMP URLs.Parameters
List of RTMP streaming URLs.
Optional dictionary containing streaming configuration.
Optional identifier for the stream.
If
True, forces creation of a new stream even if one exists.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
stop_live_stream()
Stops an active live stream.Parameters
Optional identifier of the stream to stop.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
update_live_stream()
Updates settings for an active live stream.Parameters
Dictionary containing streaming settings to update.
Optional identifier of the stream to update.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
add_live_streaming_endpoings()
Adds endpoints to an active live stream.Parameters
List of streaming endpoint URLs to add.
Optional identifier of the stream.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
remove_live_streaming_endpoings()
Removes endpoints from an active live stream.Parameters
List of streaming endpoint URLs to remove.
Optional identifier of the stream.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Transcription
start_transcription()
Starts real-time transcription of the call.Parameters
Optional dictionary containing transcription configuration.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
stop_transcription()
Stops active transcription.Parameters
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
update_transcription()
Updates transcription settings.Parameters
Optional list of participant IDs to include in transcription.
Optional transcription instance identifier.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
SIP and Dialout
start_dialout()
Starts a SIP dialout to connect an external phone number.Parameters
Optional dictionary containing dialout configuration (phone number, caller ID, etc.).
Optional callback invoked when dialout starts. Receives
(participant_id, error).Returns
This method does not return a value. Use the completion callback for async results.
stop_dialout()
Stops an active SIP dialout connection.Parameters
Optional participant ID of the SIP connection to stop.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
send_dtmf()
Sends DTMF tones during a SIP call.Parameters
Optional dictionary containing DTMF settings (participant ID, tones).
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
sip_call_transfer()
Transfers a SIP call to another number.Parameters
Optional dictionary containing transfer settings.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
sip_refer()
Sends a SIP REFER request.Parameters
Optional dictionary containing REFER settings.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Messaging
send_app_message()
Sends an application message to participants.Parameters
The message payload to send (can be any JSON-serializable object).
Optional participant ID. If not provided, message is sent to all participants.
If
True, serializes None values in the message.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
send_prebuilt_chat_message()
Sends a chat message in Daily Prebuilt format.Parameters
The chat message text to send.
Optional user name to display with the message.
Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
Media Renderers
set_audio_renderer()
Sets a callback to receive raw audio data from a participant.Parameters
The participant ID to receive audio from.
Callback function that receives
(participant_id, audio_data, audio_source).Audio source to receive (“microphone” or custom track name).
Desired sample rate in Hz for the audio data.
Interval in milliseconds between callback invocations.
Returns
This method does not return a value.
set_video_renderer()
Sets a callback to receive raw video frames from a participant.Parameters
The participant ID to receive video from.
Callback function that receives
(participant_id, video_frame, video_source).Video source to receive (“camera” or “screenVideo”).
Desired color format for video frames (“RGBA”, “RGB”, “BGRA”, “BGR”).
Returns
This method does not return a value.
Network Configuration
get_network_stats()
Gets current network statistics.Returns
A dictionary containing network statistics.
set_proxy_url()
Configures a proxy server for network connections.Parameters
Proxy server URL, or
None to clear proxy settings.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.
set_ice_config()
Configures ICE (Interactive Connectivity Establishment) settings.Parameters
ICE configuration dictionary, or
None to use default settings.Optional callback invoked when operation completes. Receives an optional error message.
Returns
This method does not return a value. Use the completion callback for async results.