What is Call Control Conferencing?
The Call Control framework is a set of REST APIs that allow you to control your call flows, from the moment a call comes in (or out), to the moment you terminate that call. In between, you’ll receive a number of webhooks for each step of the call, which you answer with a command. It's this communication back and forth that provides you with uniquely granular control over your calls. Using Conferencing, you can create and manage conferences and participants.
Conference Webhooks and Commands
Telnyx Conferencing works based on HTTP webhooks and REST commands. To build and manage a conference room and its participants, Telnyx gives a set of commands to carry out the following actions:
- create a new conference room with create conference
- list all conferences that exist on your running Call Control with list conferences
- put a user in a specific conference room with join conference
- mute and unmute specific users with mute participant
- hold and unhold specific users with hold participant
The commands above will trigger Telnyx to take action, and some will trigger the following webhooks:
Building Your Conference System Logic
When you create a conference room with Call Control you’ll still keep receiving regular Call Control Webhooks that are non-conference related. It’s by mixing regular Call Control webhooks and commands with Call Control Conference webhooks and commands that you create your application logic.
For the purpose of this guide, we’re using simple node.js with the Create Conference command defined as follows:
Key details explained:
is the API V2 token being used for authentication,
is the Call Control ID from the call leg I want to use to create the conference,
is simply the name I want to give to this particular conference room,
In the logic we're building for this guide, we're issuing the Conference Create command right after a call.answered webhook is received. If for some reason this fails, we'll issue a Call Control Hangup command, otherwise we'll just iterate a list of participants we maintain:
If this command succeeds, Telnyx will send a conference.participant.joined webhook and act accordingly. It's this sort of "pong" game that lets you to build the logic that you need for your app. We keep you up to date with everything that occurs on your call, with the most granular level detail we can provide.
Complete Your App
To help you understand the concepts we just walked you through in greater detail, we built two node.js applications in both Call Control V1 and V2 versions of the API. Take a look and start building your end-to-end conferencing experience today:
Questions on Call Control Conferencing? Get in touch with our team of experts.
Share on Social