Nouns

<Conference>

Join the call into a named conference room.

Used inside <Dial>.

Element body

The conference's friendly name. Rooms are isolated per account, so two accounts using the same name get independent rooms.

Example

<Response>
  <Dial action="https://app.example.com/conf-exit">
    <Conference startConferenceOnEnter="false"
                waitUrl="https://cdn.example.com/hold.wav"
                statusCallback="https://app.example.com/conf-events"
                participantLabel="customer">support-room</Conference>
  </Dial>
</Response>

Attributes

Attribute Default Behaviour
muted false true joins the participant muted — they hear the room but are not heard.
beep true A tone plays to the room when the participant joins or leaves; false suppresses it.
startConferenceOnEnter true false makes this a waiting participant who hears hold audio until a participant with startConferenceOnEnter=true arrives and the conference begins.
endConferenceOnExit false true ends the conference for everyone the moment this participant leaves.
waitUrl unset Audio played while waiting for the conference to start. Streaming sources and silence URIs are accepted verbatim.
participantLabel unset Friendly label visible in conference events and on the Participants REST resource; also the value another participant's coach attribute matches against.
maxParticipants unset Per-join hint for the room's maximum size; the hard cap is set at platform level.
whisper unset URL fetched just before the join; the returned VoiceML runs privately on the joining participant's leg ("you have a call from…, press 1 to accept"). Best-effort: a fetch failure does not abort the join.
record do-not-record record-from-start records the conference mix; recording stops when this participant leaves.
trim trim-silence Accepted for compatibility; currently a no-op for conference recordings.
recordingStatusCallback unset URL receiving recording lifecycle events: in-progress, completed, absent (same shape as <Record>).
recordingStatusCallbackMethod POST HTTP method for recording lifecycle callbacks.
recordingStatusCallbackEvent completed Comma-separated list of recording lifecycle events to deliver.
statusCallback unset URL receiving live conference status events.
statusCallbackEvent all events Comma-separated allow-list of conference event names to deliver; omit to receive all. See the event vocabulary below.
coach unset Set to another participant's participantLabel to join as a whisper-coach: hear everyone, be heard only by the coached participant.
region unset Accepted for compatibility; a no-op on this single-region platform.

Notes

  • Conference status events: conference-start, conference-end, participant-join, participant-leave, participant-mute, participant-unmute, participant-hold, participant-unhold, participant-speech-start, participant-speech-stop. Match on the full event strings.
  • Friendly names containing a double underscore (__), whitespace, control characters, or the URL metacharacters / ? # are rejected.
  • When the participant leaves, the parent <Dial> action fires with ConferenceSid, DialCallStatus (completed on a clean leave, failed on a join error), and DialCallDuration (seconds in the room).