Calls

With Calls API, you can use our granular APIs to create any inbound or outbound voice and video scenario you require.

Every inbound connection to, or outbound connection from the Infobip platform is designated as a call leg, or simply put, a call. All API methods under the Call Legs section allow your application to create, answer and perform actions on individual calls.

Applications can connect multiple calls together, no matter if these calls are inbound or outbound, and no matter the type of the endpoint for each of these calls. When your application needs to connect only two calls together, it is not necessary to explicitly manage conference objects and use conferencing APIs – the connect API method on calls will manage these conferencing objects on your behalf. When your application needs to put together 3 or more calls together, you need to use the conference methods and their related actions under the Conference Calls section.

A Calls Configuration is a logical entity that represents a voice or video application you are implementing and hosting in your own environment, whether on premise or at your cloud hosting services. This logical entity includes only ID and Name, and is a placeholder for linking other configurations with your application.

One mandatory link to set up is linking you Calls Configuration with Subscriptions. Calls API is event-driven platform, and you need to define webhook to receive those events, as a pre-requisite for executing your business logic. Event subscriptions are defined on Subscriptions API. One of available parameters, when defining subscription criteria, is callsConfigurationId, which allows you to define webhooks for Calls Configurations you create.

Another mandatory link to Calls Configurations is actual traffic. The reference of the Calls Configuration (callsConfigurationId) must be specified in API calls your application will make towards Infobip to create or manipulate calls, conferences and dialogs, ensuring that corresponding events are routed to the right webhooks. All methods to create and manage Calls Configurations are under the Configurations section.

Configurations

Creating Calls Configuration is precondition for using Calls API. You will find APIs for managing your configurations in this section.

Call Legs

Every inbound connection to, or outbound connection from the Infobip platform is designated as a call leg, or simply put, a call. All API methods in this section allow your application to create, answer and perform actions on individual calls.

Conference Calls

Applications can connect multiple calls together, no matter if these calls are inbound or outbound, and no matter the type of the endpoint for each of these calls.

When your application needs to connect only two calls together, it is not necessary to explicitly manage conference objects and use conferencing APIs – the connect API method on calls will manage these conferencing objects on your behalf.

When your application needs to put together 3 or more calls together, you need to use the conference methods and their related actions.

Dialog Calls

A Dialog offers another way to connect two calls together without relying on the implicit or explicit creation of a conference.

Two calls connected over a Dialog cannot be joined by additional participants and the overall connection flow will result in less events than when using other methods, such as conference or connect.

Another difference between Dialog and Connect/Conference APIs is that, unlike the latter, Dialog allows for early media propagation & media bypass.

When creating a Dialog on an unanswered inbound call, the inbound call will be automatically answered once the destination party answers the call.

SIP Trunks

Calls API allows your application to handle both inbound and outbound SIP calls.

Before your application can process an inbound SIP call or create an outbound one, you need to create at least one new SIP trunk with methods listed below.

Files And Recordings

Files operations allow the upload, list and delete audio files. These audio files can be played back in calls and conferences.

Recordings methods allow to list, retrieve and delete audio and video recordings performed on calls and conferences.

Media streaming

Calls API allows your application to stream outbound call media to an arbitrary host. Before initiating the stream, you will need to create at least one new media-stream configuration. After creating the configuration, use the configuration ID within a call to start/stop streaming media. Media is streamed as a series of raw bytes. Currently only audio is supported.

Calls Events

Most actions performed on calls, conferences and dialogs using the Calls API will trigger one or several events to confirm the completion of the action’s execution, to update on call status or to raise an error. Events are sent to your exposed application webhooks using Subscriptions.

For more information about Calls application and subscriptions, read the following documentation. Subscriptions can be managed via API or on the Portal. The objective of this documentation is to list and document the content of all possible Calls API events you can configure via subscriptions.

Bulks

The bulks API methods allow you to create multiple calls with a single request and managed the scheduled bulks. Calls that will be generated with the bulk methods support the same options as when creating singular calls, such as automated machine detection, recording and support of multiple endpoint types (phone, webRTC, SIP or Viber). Bulk calls do support additional parameters such as:

  • scheduling: when to start the call generation, and which are calling time windows for these calls to be generated
  • validity period: how long should Infobip try to generate these calls. This is a particularly interesting parameter to consider when defining calling time windows
  • call rate: the number of calls you should start during the specified time unit (such as 15 calls per minute or 60 calls per hour)

Multiple bulks, each targeting multiple destinations with their own schedule and validity, can be bundled in a single request.

Bulks can be paused, resumed, canceled or rescheduled. Each new call within a bulk will result in the same stream of event status update as individually created calls (call_started, call_pre_established, call_ringing,…), giving your application full visibility and control about how each individual call needs to be handled.

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Learn more
Service status

Copyright @ 2006-2025 Infobip ltd.