The MultiPartyCall element
The MultiPartyCall element can add a participant to an ongoing multiparty call (MPC) or start a new multiparty call and to add a participant to it.
Note: Some of this element’s attributes apply at the MPC level, some at the participant level. For example, maxDuration and maxParticipants set the MPC’s maximum duration and maximum allowed participants, while role and coachMode update a specific participant.
Attributes
maxDuration MPC level integer | Sets the Max Duration (in seconds) property of the MPC resource. The MPC will end after this period. maxDuration is counted from the call initiation time. Allowed values: 300 (five minutes) to 28,800 (eight hours) |
maxParticipants MPC level integer | Sets the Max Participants property of the MPC resource. Allowed values: 2 to 10 |
waitMusicUrl MPC level string | The URL of an audio file to be played in a loop to participants waiting for the MPC to begin. The URL must return an XML document with Play, Speak, and/or Wait elements only. All other elements are ignored. Defaults to Plivo’s default wait music. Note: If the URL is not reachable or does not return a valid XML document, no music will be played. |
waitMusicMethod MPC level string | The HTTP verb used to invoke the URL configured as Allowed values: GET, POST |
agentHoldMusicUrl MPC level string | The URL of an audio file to be played to agents while they’re on hold. Sets the Agent Hold Music URL property of the MPC resource. The URL must return an XML document with Play, Speak, and/or Wait elements only. All other elements are ignored. Defaults to Plivo’s default hold music. Note: If the URL is not reachable or does not return a valid XML document, no music will be played. |
agentHoldMusicMethod MPC level string | The HTTP verb used to invoke the URL configured as Allowed values: GET, POST |
customerHoldMusicUrl MPC level string | The URL of an audio file to be played to customers while they’re on hold. Sets the Customer Hold Music URL property of the MPC resource. The URL must return an XML document with Play, Speak, and/or Wait elements only. All other elements are ignored. Default is Plivo’s default hold music. Note: If the URL is not reachable or does not return a valid XML document, no music will be played. |
customerHoldMusicMethod MPC level string | The HTTP verb that should be used to invoke the URL configured as Allowed values: GET, POST |
record MPC level boolean | Indicates whether the MPC should be recorded. Recording is initiated the first time a participant joins the MPC with Another participant joining with record set to Note: Supervisor’s voice will be present in the recording regardless of whether coach mode is on or off. Defaults to |
recordFileFormat MPC level string | Specifies the audio format for the recording. Allowed values: |
recordingCallbackUrl MPC level string | The URL to which MPC recording events are posted. |
recordingCallbackMethod MPC level string | The HTTP verb that should be used to invoke the URL configured as Allowed values: GET, POST |
recordMinMemberCount MPC level string | Starts MPC recording when count is reached. Applies only when Allowed values: 1, 2 When set to 1, recording will start as soon as one member has entered the MPC. When set to 2, recording will start only when two members have joined the MPC. Recording will not start for a single member in MPC even if |
recordParticipantTrack Boolean | Indicates whether single-track or participant-level recording will be initiated when the participant joins the MPC bridge. Default: false |
statusCallbackUrl MPC level string | The URL to which MPC status change events are sent. |
statusCallbackMethod MPC level string | The HTTP verb that should be used to invoke the URL configured as Allowed values: GET, POST |
statusCallbackEvents MPC level string | This attribute controls which of these events, generated over the course of the multiparty call, should be pushed to the specified
Allowed values:
Defaults to |
stayAlone Participant level boolean | Indicates whether a participant should be removed from the call if they’re the only member remaining in the call. Allowed values: |
role Participant level string | Must be one of |
coachMode Participant level boolean | Only applies to participants with the role Defaults to |
mute Participant level boolean | Indicates whether the participant should join muted. Allowed values: |
hold Participant level boolean | Indicates whether the participant should join on hold or not. Allowed values: |
startMpcOnEnter Participant level boolean | Indicates whether the MPC should start, if not already started, when this participant joins the call. Allowed values: |
endMpcOnExit Participant level boolean | Indicates whether the MPC should be ended when this participant exits the call. Allowed values: |
enterSound Participant level string | The sound to play on the bridge when the participant enters the MPC. Note that Allowed values: |
enterSoundMethod Participant level string | The HTTP verb that should be used to invoke the URL configured as Allowed values: GET, POST |
exitSound Participant level string | The sound to play when the participant exits the MPC. This sound should be played even if the call is hung up while in an MPC. The exit sound should never be played for supervisors entering with coach mode set to Allowed values: |
exitSoundMethod Participant level string | The HTTP verb that should be used to invoke the URL configured as Allowed values: GET, POST |
onExitActionUrl Participant level string | Action URL invoked when this participant exits the MPC. If the participant call hangs up while in the MPC or if the call is transferred to another XML document, then a request to this URL will not be invoked. If |
onExitActionMethod Participant level string | The HTTP verb that should be used to invoke the URL configured as Allowed values: GET, POST |
relayDTMFInputs Participant level boolean | Indicates whether DTMF inputs pressed by one of the participants should be transmitted to other participants on the MPC. Allowed values: |
List of events and parameters sent to the statusCallbackUrl
This information is sent to statusCallbackUrl when an event is triggered:
DigitInput string | A list of digits pressed by the participant. |
EventName string | Event that triggered this notification. This parameter will have values from the above events list. |
EventTimestamp string | Timestamp at which the event occurred. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
MPCBilledAmount string | Amount charged for this call, in USD. This value is null if the MPC has not ended. |
MPCBilledDuration string | Duration in seconds for which the MPC was billed. This value is null if the MPC has not ended. |
MPCCreationTime string | Timestamp at which the MPC was created. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
MPCDuration string | Total duration in seconds of the MPC. This value is null if the MPC has not ended. |
MPCEndTime string | Timestamp at which the MPC ended. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
MPCName string | Friendly name provided during the creation of the MPC. |
MPCStartTime string | Timestamp at which the MPC was started. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
MPCTerminationCause string | Reason for MPC termination. Refer to our list of termination causes and sources. This value is null if the MPC has not ended. |
MPCTerminationCauseCode string | A unique integer code for the termination cause. Refer to our list of hangup causes and sources. This value is null if the MPC has not ended. |
MPCUUID string | Unique ID of the multiparty call. |
MemberAddress string | Phone number or endpoint username of the participant added to the MPC. |
MemberID string | Unique identifier of the participant whose event triggered this callback in the MPC. |
ParticipantCallDirection string | Indicates the direction of the call (inbound or outbound) through which the participant was added to the MPC. |
ParticipantCallFrom string | Phone number or the endpoint username of the participant that added the respective participant to MPC. |
ParticipantCallTo string | Phone number or the endpoint username of the participant added to the MPC. |
ParticipantCallUUID string | Call UUID of the participant’s call leg. |
ParticipantCoachMode string | Indicates whether the participant is in coach mode. Allowed values: |
ParticipantExitCause string | Cause of the participant’s termination from the MPC. |
ParticipantExitTime string | Timestamp at which the participant was terminated from the MPC. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
ParticipantJoinTime string | Timestamp at which the participant was added to the MPC. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
ParticipantRole string | Identifies the role of the participant in the MPC. Allowed values: |
SequenceNumber string | Indicates the sequence of the callback. Helpful to sort the callback events posted to the status_callback_url . |
STIRVerification string | For outbound calls: Gives details about the attestation assigned to the call by Plivo For inbound calls: Gives details about the attestation received on the inbound call to your Plivo phone number. Possible values:
Read more about STIR/SHAKEN here. |
List of events and parameters sent to the recordingCallbackUrl
These events are generated:
- MPCRecordingInitiated
- MPCRecordingPaused
- MPCRecordingResumed
- MPCRecordingCompleted
- MPCRecordingFailed
This information is sent to the URL when an event is triggered:
EventName string | Event that triggered this notification. This parameter will have one of the values from the list of events above. |
EventTimestamp string | Timestamp at which the event occurred. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
MPCName string | Friendly name provided during the creation of the MPC. |
MPCUUID string | Unique ID of the multiparty call. |
RecordingDuration string | Duration of recording in seconds. |
RecordingEndTime string | Timestamp at which the recording ended. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
RecordingFormat string | Format of the recording. Allowed values: |
RecordingResourceURL string | Resource URL of the recording file. You can use this URL to fetch recording details later. |
RecordingStartTime string | Timestamp at which the recording started. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
RecordingURL string | Complete path to the recording file URL. |
RecordingUUID string | Unique identifier to identify the recording file. |
SequenceNumber string | Indicates the sequence of the callback. Helpful to sort the callback events posted to the recording_callback_url . |
Parameters sent to the onExitActionUrl
MPCUUID | Unique ID of the multiparty call. |
MPCFriendlyName | Friendly name provided during the creation of the MPC. |
MemberID | Unique identifier to identify each participant in the MPC. |
ParticipantCallUUID | Call UUID of the participant’s call leg. |
ParticipantJoinTime | Timestamp at which the participant was added to the MPC. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
ParticipantEndTime | Timestamp at which the participant was terminated from the MPC. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm |
ParticipantRole | Identifies the role of the participant in the MPC. Allowed values: |
The first caller to execute this XML initializes and starts the multiparty call named My MPC. The next caller to execute this XML joins the same MPC.