Skip to content
telnyx-voice-conferencing-java logo

Telnyx Voice Conferencing - Java

telnyx-voice-conferencing-java

Create and manage conference calls, queues, and multi-party sessions. Use when building call centers or conferencing applications. This skill provides Java SDK examples.

SKILL.md

Full skill instructions

<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Voice Conferencing - Java

Installation

// See https://github.com/​team-telnyx/​telnyx-java for Maven/​Gradle setup

Setup

import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

TelnyxClient client = TelnyxOkHttpClient.fromEnv();

All examples below assume client is already initialized as shown above.

Enqueue call

Put the call in a queue.

POST /​calls/​{call_control_id}/​actions/​enqueue — Required: queue_name

import com.telnyx.sdk.models.calls.actions.ActionEnqueueParams;
import com.telnyx.sdk.models.calls.actions.ActionEnqueueResponse;

ActionEnqueueParams params = ActionEnqueueParams.builder()
    .callControlId("call_control_id")
    .queueName("support")
    .build();
ActionEnqueueResponse response = client.calls().actions().enqueue(params);

Remove call from a queue

Removes the call from a queue.

POST /​calls/​{call_control_id}/​actions/​leave_queue

import com.telnyx.sdk.models.calls.actions.ActionLeaveQueueParams;
import com.telnyx.sdk.models.calls.actions.ActionLeaveQueueResponse;

ActionLeaveQueueResponse response = client.calls().actions().leaveQueue("call_control_id");

List conferences

Lists conferences.

GET /​conferences

import com.telnyx.sdk.models.conferences.ConferenceListPage;
import com.telnyx.sdk.models.conferences.ConferenceListParams;

ConferenceListPage page = client.conferences().list();

Create conference

Create a conference from an existing call leg using a call_control_id and a conference name.

POST /​conferences — Required: call_control_id, name

import com.telnyx.sdk.models.conferences.ConferenceCreateParams;
import com.telnyx.sdk.models.conferences.ConferenceCreateResponse;

ConferenceCreateParams params = ConferenceCreateParams.builder()
    .callControlId("v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg")
    .name("Business")
    .build();
ConferenceCreateResponse conference = client.conferences().create(params);

Retrieve a conference

Retrieve an existing conference

GET /​conferences/​{id}

import com.telnyx.sdk.models.conferences.ConferenceRetrieveParams;
import com.telnyx.sdk.models.conferences.ConferenceRetrieveResponse;

ConferenceRetrieveResponse conference = client.conferences().retrieve("id");

Hold conference participants

Hold a list of participants in a conference call

POST /​conferences/​{id}/​actions/​hold

import com.telnyx.sdk.models.conferences.actions.ActionHoldParams;
import com.telnyx.sdk.models.conferences.actions.ActionHoldResponse;

ActionHoldResponse response = client.conferences().actions().hold("id");

Join a conference

Join an existing call leg to a conference.

POST /​conferences/​{id}/​actions/​join — Required: call_control_id

import com.telnyx.sdk.models.conferences.actions.ActionJoinParams;
import com.telnyx.sdk.models.conferences.actions.ActionJoinResponse;

ActionJoinParams params = ActionJoinParams.builder()
    .id("id")
    .callControlId("v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg")
    .build();
ActionJoinResponse response = client.conferences().actions().join(params);

Leave a conference

Removes a call leg from a conference and moves it back to parked state.

POST /​conferences/​{id}/​actions/​leave — Required: call_control_id

import com.telnyx.sdk.models.conferences.actions.ActionLeaveParams;
import com.telnyx.sdk.models.conferences.actions.ActionLeaveResponse;

ActionLeaveParams params = ActionLeaveParams.builder()
    .id("id")
    .callControlId("c46e06d7-b78f-4b13-96b6-c576af9640ff")
    .build();
ActionLeaveResponse response = client.conferences().actions().leave(params);

Mute conference participants

Mute a list of participants in a conference call

POST /​conferences/​{id}/​actions/​mute

import com.telnyx.sdk.models.conferences.actions.ActionMuteParams;
import com.telnyx.sdk.models.conferences.actions.ActionMuteResponse;

ActionMuteResponse response = client.conferences().actions().mute("id");

Play audio to conference participants

Play audio to all or some participants on a conference call.

POST /​conferences/​{id}/​actions/​play

import com.telnyx.sdk.models.conferences.actions.ActionPlayParams;
import com.telnyx.sdk.models.conferences.actions.ActionPlayResponse;

ActionPlayResponse response = client.conferences().actions().play("id");

Conference recording pause

Pause conference recording.

POST /​conferences/​{id}/​actions/​record_pause

import com.telnyx.sdk.models.conferences.actions.ActionRecordPauseParams;
import com.telnyx.sdk.models.conferences.actions.ActionRecordPauseResponse;

ActionRecordPauseResponse response = client.conferences().actions().recordPause("id");

Conference recording resume

Resume conference recording.

POST /​conferences/​{id}/​actions/​record_resume

import com.telnyx.sdk.models.conferences.actions.ActionRecordResumeParams;
import com.telnyx.sdk.models.conferences.actions.ActionRecordResumeResponse;

ActionRecordResumeResponse response = client.conferences().actions().recordResume("id");

Conference recording start

Start recording the conference.

POST /​conferences/​{id}/​actions/​record_start — Required: format

import com.telnyx.sdk.models.conferences.actions.ActionRecordStartParams;
import com.telnyx.sdk.models.conferences.actions.ActionRecordStartResponse;

ActionRecordStartParams params = ActionRecordStartParams.builder()
    .id("id")
    .format(ActionRecordStartParams.Format.WAV)
    .build();
ActionRecordStartResponse response = client.conferences().actions().recordStart(params);

Conference recording stop

Stop recording the conference.

POST /​conferences/​{id}/​actions/​record_stop

import com.telnyx.sdk.models.conferences.actions.ActionRecordStopParams;
import com.telnyx.sdk.models.conferences.actions.ActionRecordStopResponse;

ActionRecordStopResponse response = client.conferences().actions().recordStop("id");

Speak text to conference participants

Convert text to speech and play it to all or some participants.

POST /​conferences/​{id}/​actions/​speak — Required: payload, voice

import com.telnyx.sdk.models.conferences.actions.ActionSpeakParams;
import com.telnyx.sdk.models.conferences.actions.ActionSpeakResponse;

ActionSpeakParams params = ActionSpeakParams.builder()
    .id("id")
    .payload("Say this to participants")
    .voice("female")
    .build();
ActionSpeakResponse response = client.conferences().actions().speak(params);

Stop audio being played on the conference

Stop audio being played to all or some participants on a conference call.

POST /​conferences/​{id}/​actions/​stop

import com.telnyx.sdk.models.conferences.actions.ActionStopParams;
import com.telnyx.sdk.models.conferences.actions.ActionStopResponse;

ActionStopResponse response = client.conferences().actions().stop("id");

Unhold conference participants

Unhold a list of participants in a conference call

POST /​conferences/​{id}/​actions/​unhold — Required: call_control_ids

import com.telnyx.sdk.models.conferences.actions.ActionUnholdParams;
import com.telnyx.sdk.models.conferences.actions.ActionUnholdResponse;

ActionUnholdParams params = ActionUnholdParams.builder()
    .id("id")
    .addCallControlId("v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg")
    .build();
ActionUnholdResponse response = client.conferences().actions().unhold(params);

Unmute conference participants

Unmute a list of participants in a conference call

POST /​conferences/​{id}/​actions/​unmute

import com.telnyx.sdk.models.conferences.actions.ActionUnmuteParams;
import com.telnyx.sdk.models.conferences.actions.ActionUnmuteResponse;

ActionUnmuteResponse response = client.conferences().actions().unmute("id");

Update conference participant

Update conference participant supervisor_role

POST /​conferences/​{id}/​actions/​update — Required: call_control_id, supervisor_role

import com.telnyx.sdk.models.conferences.actions.ActionUpdateParams;
import com.telnyx.sdk.models.conferences.actions.ActionUpdateResponse;
import com.telnyx.sdk.models.conferences.actions.UpdateConference;

ActionUpdateParams params = ActionUpdateParams.builder()
    .id("id")
    .updateConference(UpdateConference.builder()
        .callControlId("v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg")
        .supervisorRole(UpdateConference.SupervisorRole.WHISPER)
        .build())
    .build();
ActionUpdateResponse action = client.conferences().actions().update(params);

List conference participants

Lists conference participants

GET /​conferences/​{conference_id}/​participants

import com.telnyx.sdk.models.conferences.ConferenceListParticipantsPage;
import com.telnyx.sdk.models.conferences.ConferenceListParticipantsParams;

ConferenceListParticipantsPage page = client.conferences().listParticipants("conference_id");

Webhooks

The following webhook events are sent to your configured webhook URL. All webhooks include telnyx-timestamp and telnyx-signature-ed25519 headers for verification (Standard Webhooks compatible).

EventDescription
callEnqueuedCall Enqueued
callLeftQueueCall Left Queue
conferenceCreatedConference Created
conferenceEndedConference Ended
conferenceFloorChangedConference Floor Changed
conferenceParticipantJoinedConference Participant Joined
conferenceParticipantLeftConference Participant Left
conferenceParticipantPlaybackEndedConference Participant Playback Ended
conferenceParticipantPlaybackStartedConference Participant Playback Started
conferenceParticipantSpeakEndedConference Participant Speak Ended
conferenceParticipantSpeakStartedConference Participant Speak Started
conferencePlaybackEndedConference Playback Ended
conferencePlaybackStartedConference Playback Started
conferenceRecordingSavedConference Recording Saved
conferenceSpeakEndedConference Speak Ended
conferenceSpeakStartedConference Speak Started