Conference
The Dial
verb's Conference
noun allows you to connect to a conference room. Much like how the Number
noun allows you to connect to another phone number, the Conference
noun allows you to connect to a named conference room and talk with the other callers who have also connected to that room. Conference is commonly used as a container for calls when implementing hold, transfer, and barge. If the specified conference name does not exist, a new conference will be created.
Attributes
ATTRIBUTE | DESCRIPTION | OPTIONS | DEFAULT |
---|---|---|---|
muted | Specify whether a participant is muted or not. | false | |
startConferenceOnEnter | Start the conference when a participant joins. If this is false and the participant joins a conference that has not started, they are muted and hear background music until a participant joins where startConferenceOnEnter is true . This is useful for implementing moderated conferences. | true | |
endConferenceOnExit | If a participant has this attribute set to true , then when that participant leaves, the conference ends and all other participants drop out. This is useful for implementing moderated conferences that bridge two calls and allow either call leg to continue executing TexML if the other hangs up. | false | |
maxParticipants | The maximum number of participants allowed in the conference. | 2 - 250 | 250 |
beep | Specify whether a notification beep is played to the conference when a participant joins or leaves the conference. The participant joining the conference will never hear a beep. | true , false , onEnter , onExit | true |
record | The record attribute lets you record entire conference. When set to record-from-start , recording begins immediately after the conference starts | do-not-record , record-from-start | do-not-record |
recordBeep | If enabled, a beep sound will be played at the start of a recording. | true | |
recordingStatusCallback | Optional URL that tells Telnyx where to make its GET or POST request when the recording is available. | - | |
recordingStatusCallbackEvent | The recording events for which Telnyx should send a webhook. Multiple events are separated by a space. | in-progress , completed , absent | completed |
recordingStatusCallbackMethod | HTTP request type used for recordingStatusCallback . | GET , POST | POST |
recordingTimeout | The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. Please note that the transcription is used to detect silence, and the related charge will be applied. 0 means no timeout. | 0 - 14400 | 0 |
trim | Whether to trim any leading and trailing silence from the recording. | trim-silence , do-not-trim | do-not-trim |
statusCallback | A URL for Telnyx to send webhook requests to on each event specified in the
statusCallbackEvent attribute. | - | |
statusCallbackMethod | HTTP method to use when requesting the status callback URL. | GET , POST | POST |
statusCallbackEvent | The conference events for which Telnyx should send a webhook on. Multiple events are separated by a space. | start , end , join , leave , speaker | - |
waitUrl | A URL to an MP3 or WAV file that should be used for the conference's hold music before the conference starts. The URL can also return an XML document with instructions that will be executed while the call is waiting for the conference to start. | - | |
waitMethod | HTTP method to use when requesting the wait URL. | GET , POST | POST |
Expected callbacks
If statusCallbackEvent
are set you can expect the following webhooks.
join
{
"AccountSid": "cb6cfbbc-eb00-41af-a3f3-0d7b32009e4b",
"CallSid": "v2:r3Cj9j-Hx7NAZETtYpdgktVUYKhsc8D1mSmzY8_6r4HHZYViWIs6Fw",
"CallSidLegacy": "v2:r3Cj9j-Hx7NAZETtYpdgktVUYKhsc8D1mSmzY8_6r4HHZYViWIs6Fw",
"ConferenceSid": "58b4eda9-03de-4bee-9178-d0e10d83e519",
"FriendlyName": "Room 1234",
"From": "telephonyappssquad24104@sip.telnyx.com",
"SequenceNumber": "1",
"StatusCallbackEvent": "participant-join",
"Timestamp": "2021-04-28 22:51:29.993535Z",
"To": "+12132045020"
}
leave
{
"AccountSid": "cb6cfbbc-eb00-41af-a3f3-0d7b32009e4b",
"CallSid": "v2:r3Cj9j-Hx7NAZETtYpdgktVUYKhsc8D1mSmzY8_6r4HHZYViWIs6Fw",
"CallSidLegacy": "v2:r3Cj9j-Hx7NAZETtYpdgktVUYKhsc8D1mSmzY8_6r4HHZYViWIs6Fw",
"ConferenceSid": "58b4eda9-03de-4bee-9178-d0e10d83e519",
"FriendlyName": "Room 1234",
"From": "telephonyappssquad24104@sip.telnyx.com",
"SequenceNumber": "3",
"StatusCallbackEvent": "participant-leave",
"Timestamp": "2021-04-28 22:51:47.114479Z",
"To": "+12132045020"
}
end
{
"AccountSid": "cb6cfbbc-eb00-41af-a3f3-0d7b32009e4b",
"CallSid": "v2:0YXD2QVLtba0UDTe3k6H9gEsAEs4qRLsuy6u_zoS364PKR6DApuKuw",
"CallSidLegacy": "v2:0YXD2QVLtba0UDTe3k6H9gEsAEs4qRLsuy6u_zoS364PKR6DApuKuw",
"ConferenceSid": "58b4eda9-03de-4bee-9178-d0e10d83e519",
"FriendlyName": "Room 1235",
"From": "telephonyappssquad24104@sip.telnyx.com",
"SequenceNumber": "4",
"StatusCallbackEvent": "conference-end",
"Timestamp": "2021-04-28 22:51:51.480853Z",
"To": "+12132045020"
}
speaker
{
"AccountSid": "cb6cfbbc-eb00-41af-a3f3-0d7b32009e4b",
"CallSid": "v2:0YXD2QVLtba0UDTe3k6H9gEsAEs4qRLsuy6u_zoS364PKR6DApuKuw",
"CallSidLegacy": "v2:0YXD2QVLtba0UDTe3k6H9gEsAEs4qRLsuy6u_zoS364PKR6DApuKuw",
"ConferenceSid": "58b4eda9-03de-4bee-9178-d0e10d83e519",
"FriendlyName": "Room 1235",
"From": "telephonyappssquad24104@sip.telnyx.com",
"SequenceNumber": "5",
"StatusCallbackEvent": "participant-speech-start",
"Timestamp": "2021-04-28 22:51:51.480853Z",
"To": "+12132045020"
}
Status callback HTTP attributes
The attributes contained in the statusCallback
request to your URL.
ATTRIBUTE | DESCRIPTION |
AccountSid | A unique identifier for the account generating this call. |
CallSid | A unique identifier for this call, generated by Telnyx. |
ConferenceSid | A unique identifier for this conference, generated by Telnyx. |
FriendlyName | Name given to the conference. |
From | The outbound caller number. |
Timestamp | The timestamp when the event was fired, given as UTC in RFC 2822 format. |
To | The inbound callee number. |
SequenceNumber | A sequence number ordering the multiple callbacks received. The first callback has the lowest, the last callback the highest. |
StatusCallbackEvent | Event generating the callback. |