This is part two of a two part blog post. In Part 1 we explored how you can interpret and use the analytics and telemetry from the LiveSwitch Cloud dashboard to drive business decisions. Be sure to check it out!
The LiveSwitch Cloud dashboard not only provides real-time analytics, it also allows developers to create, configure and manage their applications from an easy-to-use web application. In this blog, we will explore how LiveSwitch Cloud uses applications, channels and webhooks to provide you with the most flexible video conferencing product on the market today.
The application page in the console is LiveSwitch Cloud’s representation of your physical application. It contains the credentials and gateway details that you need to establish a call (or in more technical terms, for your application to handshake). The cloud dashboard allows you to create as few or as many applications as you need, build per-channel configurations of audio and video streams, and easily add webhooks into your external systems for integration and extension.
Your application page consists of the following:
Application Name - The name you choose internally for your application
Application ID - a unique ID that you use to connect clients using the configuration of your choice. This is part of the handshake.
Gateway URL - the URL of the gateway that controls all client connections to the media servers.
Shared Secret- a piece of data, known only to the parties involved, that is automatically generated and used to keep your communications secure.
Channels- textual identifiers that are used to configure each connection your client(s) make. Configuring channels is advanced functionality.
Webhooks - allow your application to communicate with and deliver real-time data to external applications upon pre-configured events.
Note: We’ve added a default application with a standard channel configuration and empty set of webhooks to get you started quickly. Your team can add as many or as few applications as you need to organize your development activities. For example, you could have a dev/test application, a staging application, and a production application - each for various stages of your team’s development process.
What is a Channel?
To create a video call between two or more peers, you must use a channel. A channel can be best compared to a phone number. In traditional telephony, one person must dial another person’s phone number (ex. 555-1234) and the conversation takes place over the connection that is established. In WebRTC-based video conferencing with LiveSwitch, the same general concept exists, except several parties can effectively connect within the same channel.
Channel patterns can be used to group types of calls together and limit or configure the allowable types of media that can pass through that channel. For example, will it be audio only? Is screen-sharing allowed? What audio and video codecs can be used?
Channel Pattern Configuration
LiveSwitch Cloud gives you the ultimate flexibility to configure each connection your client(s) makes. By default, each application has a default wildcard channel (*) Regex, which can be used to apply the configuration to all connections. For most users, the default channel pattern is all you need as it will match all channels that you may have.
However, for the situations where you need more control over your channel patterns you can add further Regex filtered configurations over and above the default. For example, you could assign a channel pattern screenshare_* for all your screensharing channels and conferenceCall_* for some of your other video channels. You can turn bandwidth adaptation on or off for some channels or control the audio and video codecs that you want to support in your devices. LiveSwitch Cloud gives you the power to choose.
When a client requests to join a channel the gateway will look at all of the channels available and pick the channel pattern that best matches the channel the client is joining. Matches are attempted in the order specified in your application's channel listing. Channel patterns can be re-prioritized simply by dragging and dropping channels around in the listing to get the order that works best.
Webhooks can be created on both the application and channel layer to trigger events in external systems.
Application Webhooks allow you to trigger external systems upon client registration, un registration and update. An example of this could be a presence indicator icon that appears when a client is connected to the system.
Channel level webhooks allow you to trigger webhooks when clients join or leave your channel, which lets you know when a call is happening. This enables your application to notify external systems when your clients trigger a wide variety of different types of events and integrate your workflows even more tightly.
The LiveSwitch Cloud dashboard makes creating and configuring your applications, channels and webhooks easy. You can easily configure the application in the way that best suits your business logic without sacrificing functionality or control.