Documentation Index Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
The <Conference> element connects a caller to a conference room. Multiple callers joining the same conference name are connected together. Maximum participants per conference: 20.
For role-based multi-party calls with coaching, individual hold/mute, and AI agent support, see Multi-party Call .
Basic Usage
< Response >
< Conference > my-conference-room </ Conference >
</ Response >
Python
Node.js
Ruby
PHP
Java
.NET
Go
from plivo import plivoxml
response = plivoxml.ResponseElement()
response.add(plivoxml.ConferenceElement( 'my-conference-room' ))
print (response.to_string())
Conference Attributes
Basic Settings
Attribute Type Default Description mutedboolean falseJoin muted (can still hear others) enterSoundstring ""Sound on entry: beep:1, beep:2, or URL exitSoundstring ""Sound on exit: beep:1, beep:2, or URL maxMembersinteger 20Maximum participants (1-20) timeLimitinteger 86400Max conference duration in seconds hangupOnStarboolean falseLet member exit by pressing * stayAloneboolean trueEnd conference if only one member
Moderation
Attribute Type Default Description startConferenceOnEnterboolean trueStart conference when this member joins endConferenceOnExitboolean falseEnd conference when this member leaves waitSoundURL - Audio to play while waiting for conference to start
Recording
Attribute Type Default Description recordboolean falseRecord the conference recordFileFormatstring mp3Recording format (mp3, wav) transcriptionTypestring - Transcription type. Values: auto, hybrid, manual transcriptionUrlURL - URL to receive transcription transcriptionMethodstring POSTHTTP method for sending transcription results to transcriptionUrl. Values: GET, POST
Callbacks
Attribute Type Default Description actionURL - URL called when member leaves methodstring POSTHTTP method for action callbackUrlURL - URL for conference events callbackMethodstring POSTHTTP method for callback redirectboolean trueRedirect to action URL
DTMF
Attribute Type Default Description digitsMatchstring - DTMF patterns to report floorEventboolean falseNotify when member becomes floor-holder relayDTMFboolean trueTransmit DTMF to all members
Examples
Join Muted
Add participants who can listen but not speak:
< Response >
< Conference muted = "true" > my-conference-room </ Conference >
</ Response >
Entry/Exit Sounds
Play beeps when participants join or leave:
< Response >
< Conference enterSound = "beep:1" exitSound = "beep:2" >
my-conference-room
</ Conference >
</ Response >
Use a URL to play custom audio:
< Response >
< Conference enterSound = "https://example.com/join-sound.xml" >
my-conference-room
</ Conference >
</ Response >
The URL must return XML with Play, Speak, or Wait elements.
Moderated Conference
Create a “waiting room” where participants wait for the moderator:
Participant XML:
< Response >
< Conference startConferenceOnEnter = "false" waitSound = "https://example.com/hold-music.xml" >
moderated-meeting
</ Conference >
</ Response >
Moderator XML:
< Response >
< Conference startConferenceOnEnter = "true" endConferenceOnExit = "true" >
moderated-meeting
</ Conference >
</ Response >
When the moderator joins, the conference starts. When they leave, everyone is disconnected.
Record Conference
< Response >
< Conference record = "true" recordFileFormat = "mp3"
callbackUrl = "https://example.com/recording-ready/" >
recorded-meeting
</ Conference >
</ Response >
from plivo import plivoxml
response = plivoxml.ResponseElement()
response.add(plivoxml.ConferenceElement(
'recorded-meeting' ,
record = True ,
record_file_format = 'mp3' ,
callback_url = 'https://example.com/recording-ready/'
))
print (response.to_string())
With Transcription
< Response >
< Conference record = "true"
transcriptionType = "auto"
transcriptionUrl = "https://example.com/transcription/" >
transcribed-meeting
</ Conference >
</ Response >
Exit with Action URL
< Response >
< Conference action = "https://example.com/conference-ended/"
hangupOnStar = "true" >
my-conference
</ Conference >
</ Response >
Bridge Two Callers
Use conferences to connect two incoming callers:
First Caller:
< Response >
< Conference waitSound = "https://example.com/hold.xml" >
private-bridge-123
</ Conference >
</ Response >
Second Caller:
< Response >
< Conference > private-bridge-123 </ Conference >
</ Response >
Callback Parameters
Conference Action URL Parameters
Sent when a member leaves the conference:
Parameter Description ConferenceNameName of the conference ConferenceUUIDUnique conference identifier ConferenceMemberIDMember’s ID in the conference RecordUrlRecording URL (if recorded) RecordingIDRecording identifier
Conference Callback URL Parameters
Sent for conference events:
Parameter Description ConferenceActionenter, exit, digits, floor, recordConferenceNameConference name ConferenceUUIDConference identifier ConferenceMemberIDMember ID CallUUIDCall identifier ConferenceDigitsMatchMatched digits (when ConferenceAction=digits) RecordUrlRecording URL (when ConferenceAction=record) RecordingIDRecording ID RecordingDurationDuration in seconds RecordingDurationMsDuration in milliseconds RecordingStartMsStart time (epoch ms) RecordingEndMsEnd time (epoch ms)
Transcription URL Parameters
Parameter Description transcriptionTranscribed text transcription_chargeCost of transcription transcription_rateRate per minute durationRecording duration call_uuidCall identifier recording_idRecording identifier errorError message (if any)