Audio conferencing in the cloud

Audio conferencing is an important business tool, there is number of ready-to-use services and platforms on the market. Today I would like to review how developers can implement audio conferencing services using voximplant and how it’s different from the other platforms on the market.

Architecture

Voximplant audio conference is created on the one of voximplant’s media servers when developer uses createConference function in his VoxEngine scenario. This conference will be created on the same server where scenario is running, and which server to choose for the scenario processing is decided on the load balancer’s side while call arrives to the platform for the processing (except cases when HTTP API is used to start the scenario execution, if this case reference_ip parameter is used). Each conference has its name , which should be unique to let you connect other inbound calls to the conference later using callConference method and on the VoxEngine scenario level it’s also possible to make outbound calls that can be connected to the conference.

Voximplant entities for conference processing

Audio routing

Voximplant offers sendMediaTo , sendMediaBetween, stopMediaTo and stopMediaBetween methods that enable independent audio control for each media unit (call or conference object). Developers can implement any required audio routing and this routing can be changed in real-time. Other CPaaS players don’t offer this level of flexibility - most of them offer some number of built-in functions, while in case of voximplant it’s possible to implement any required functionality on VoxEngine scenario level.

Global conferencing

Imagine the situation when you have half of your conference participants in EU and half in US, it’s clear that it’s not the best option to route their traffic to the same point since most likely their local connectivity is better. For this situation you can easily create 2 different local audio conferences — one in US and the second one in EU, then connect them together by making a call from one of the conferences to another. It can be done by using callConference method from one of the conference sessions, then audio mix from one conference should be sent to another and vice versa.

Global conferencing example — join local conferences together

Voximplant currently has infrastructure in United States, Europe and Asia. It will be expanded to LATAM and Australia soon.

Remote control

When conference is up and running it’s possible to communicate with it using HTTP(S) by calling media_session_access_url which exists for every VoxEngine session that is processing calls and conferences.

Authorization & other custom logic

Many conferencing platforms offer authorization using PIN/CallerID or conference control as features. In case of voximplant all this functionality can be implemented by developer in minutes by writing a few lines of JavaScript code in VoxEngine scenario. Audio recording, speech recognition and other popular features, like VAD (voice activity detection) are also available.

Client apps

Voximplant supports different types of endpoints that can be connected to the conference including Web and Mobile SDKs that can be embedded into custom apps and SIP hard/softphones. PSTN connectivity comes out-of-the-box, but developers can always connect their own SIP trunks to the platform.

Tutorial

You can learn more about voximplant audio conferencing capabilities from this tutorial.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.