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. true, false, onEnter, or onExit (case-insensitive); an unrecognized value behaves as true.
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 default hold playlist Audio played while waiting for the conference to start. Three states: absent plays the platform default hold playlist (fetched with GET); set to an empty string plays silence; set to a URL fetches it with waitMethod. Streaming sources and silence URIs are accepted verbatim.
waitMethod POST HTTP method used to fetch waitUrl: POST or GET. The default hold playlist is always fetched with GET.
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 250 Maximum room size. The first participant to create the room sets the cap; later joins cannot raise it.
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.
statusCallbackMethod POST HTTP method for conference status callbacks: POST or GET.
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 designate this member as their coach. Parsed and surfaced on the REST Participants resource as call_sid_to_coach, but the whisper audio routing (hear everyone, be heard only by the coached participant) is not yet applied — today the coach is heard by the whole room.
region unset Accepted for compatibility; a no-op on this single-region platform.
eventCallbackUrl unset Accepted for compatibility and ignored — no effect. Use statusCallback for conference events.
jitterBufferSize unset Accepted for compatibility and ignored — no effect.
recordingConfigurationId unset Accepted for compatibility and ignored — no effect.

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).