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