join_conference
Join an ad-hoc audio conference started on either the SignalWire or Compatibility API. This method allows you to connect the current call to a named conference where multiple participants can communicate simultaneously.
Properties
join_conference
An object that accepts the following properties.
join_conference.name
Name of conference.
join_conference.muted
Whether to join the conference in a muted state. If set to true, the participant will be muted upon joining.
join_conference.beep
Sets the behavior of the beep sound when joining or leaving the conference.
Possible Values: true, false, onEnter, onExit
join_conference.start_on_enter
Starts the conference when the main participant joins. This means the start action will not wait on more participants to join before starting.
join_conference.end_on_exit
Ends the conference when the main participant leaves. This means the end action will not wait on more participants to leave before ending.
join_conference.wait_url
A URL to fetch SWML while waiting for the conference to start (before a start_on_enter participant joins). SignalWire sends a POST request with the standard document-fetching webhook body. The response should be a SWML document containing audio to play (e.g., hold music). Default hold music will be played if not set.
join_conference.max_participants
The maximum number of participants allowed in the conference. If the limit is reached, new participants will not be able to join.
join_conference.record
Enables or disables recording of the conference.
Possible Values: do-not-record, record-from-start
join_conference.region
Specifies the geographical region where the conference will be hosted.
join_conference.trim
If set to trim-silence, it will remove silence from the start of the recording. If set to do-not-trim, it will keep the silence.
Possible Values: trim-silence, do-not-trim
join_conference.coach
Coach accepts a call SID of a call that is currently connected to an in-progress conference. Specifying a call SID that does not exist or is no longer connected will result in a failure.
join_conference.status_callback_event
The events to listen for and send to the status callback URL.
Possible Values: start, end, join, leave, mute, hold, modify, speaker, announcement
join_conference.status_callback
The URL to which status events will be sent. This URL must be publicly accessible and able to handle HTTP requests. Learn more about status callbacks.
join_conference.status_callback_method
The HTTP method to use when sending status events to the status callback URL.
Possible Values: GET, POST
join_conference.recording_status_callback
The URL to which recording status events will be sent. This URL must be publicly accessible and able to handle HTTP requests. Learn more about status callbacks.
join_conference.recording_status_callback_method
The HTTP method to use when sending recording status events to the recording status callback URL.
Possible Values: GET, POST
join_conference.recording_status_callback_event
The events to listen for and send to the recording status callback URL.
Possible Values: in-progress, completed, absent
join_conference.result
Allows the user to specify a custom action to be executed when the conference result is returned (typically when it has ended). The actions can a switch object or a cond array. The switch object allows for conditional execution based on the result of the conference, while the cond array allows for multiple conditions to be checked in sequence. If neither is provided, the default action will be to end the conference.
Variables
join_conference_result
The result of the conference join attempt. Possible values: completed (successfully joined and left the conference), answered (successfully joined the conference), no-answer (failed to join due to no answer), failed (failed to join due to an error), canceled (join attempt was canceled).
return_value
Contains the same value as join_conference_result for use in conditional logic.
StatusCallbacks
A POST request will be sent to status_callback with a JSON payload for events specified in status_callback_event. Both conference and recording events share the same calling.conference event type; the specific event is identified by params.status.
event_type
The type of event. Always calling.conference.
event_channel
The channel for the event, includes the SWML session ID.
timestamp
Unix timestamp (float) when the event was generated.
project_id
The project ID associated with the call.
space_id
The Space ID associated with the call.
params
An object containing conference-specific parameters.
params.call_id
The call ID of the participant.
params.name
The name of the conference.
params.conference_id
The unique ID of the conference.
params.status
The conference event. Valid values: conference-start, conference-end, participant-join, participant-leave, participant-mute, participant-unmute, participant-hold, participant-unhold, participant-speech-start, participant-speech-stop, participant-modify, record-start, record-pause, record-resume, record-stop.
params.size
The number of participants currently in the conference.
params.node_id
The node identifier.
params.segment_id
The segment ID for the call. Present when available.
params.region
The geographical region of the conference.
params.tag
The tag associated with the call. Present when set.
params.muted
Whether the participant is muted. Present on participant events.
params.hold
Whether the participant is on hold. Present on participant events.
params.start_on_join
Whether the participant starts the conference on join.
params.end_on_leave
Whether the participant ends the conference on leave.
params.coaching
Whether the participant is in coaching mode. Present on participant events.
params.recording_url
URL to the conference recording. Present on conference-end and record-stop events when a recording exists.
params.recording_file_size
Recording file size in bytes. Present on conference-end and record-stop events.
params.recording_duration
Recording duration in seconds. Present on conference-end and record-stop events.
params.reason_ended
The reason the conference ended. Present on conference-end events.
params.call_id_ending_conf
The call ID of the participant that ended the conference. Present on conference-end events.