Introduction to RingCentral's Voice API

Last updated: 2019-07-26 Contributors Byrne Reese

Getting Started with the Voice API

The RingCentral Voice API is used by developers to place calls, and to manage calls that are in-progress on the network. Futhermore, the Voice API also gives developers access to the RingCentral Call Log - an authoritative source of an organization's call history, call recordings and more.

We invite all developers to try out our Call Management API by writing a simple app that will place a call using the RingOut API. Get started using a Quick Start in any of the following languages:

Javascript » PHP » Python » Ruby » Java » C# »

Overview

Before you dive into the Voice API, it can be helpful to understand how it fits into a larger picture of APIs. There are three RingCentral APIs that in some respects are all siblings on one another. They are:

  1. Provisioning API - Provisioning is the process by which a network is setup with all of the extensions and phones that comprise an organization's telephony network.

  2. Call Management API - Call Management refers to the process and ecosystem of rules that govern how incoming calls are routed through to the network so that can be connected with an individual/agents.

  3. Voice API - Finally, the Voice API is what is used to manage calls once the Call Management layer has successfully connected a caller and a recipient.

What can you do with the Voice API?

The RingCentral Voice API is the primary way developers interface with, manage, and manipulate active calls on the network. Below are the major functional areas of this API.

Place a Call

RingCentral's Call Management API provides a number of a facilities for controlling and routing incoming calls. The Voice API provides developers with some means for placing calls programmatically - mainly RingOut.

Alternatively, developers can help users place calls via WebRTC or our RingCentral Embeddable product.

Intercept Incoming Calls

Before a call is connected with a user/extension, and while it is ringing, the Voice API gives the developer one last chance to route the call in someway. These ways are:

  • Forward call to another extension
  • Forward call to voicemail
  • Reject the call

  • Learn more about intercepting incoming calls using the Call Control API

Manipulate Active Calls

Once a call has been connected to an extension or user, the Voice API allows a developer to manipulate that call while it is progress. The Voice API enables developers to do the following to active calls:

  • Stop/start call recording
  • Mute/unmute a participant
  • Hold/resume a call
  • Transfer a call
  • Park a call
  • Supervise or monitor a call
  • Flip the call to another number
  • Terminate or hang-up a call

  • Learn more about manipulating active calls using the Call Control API

What is the Call Log API?

The RingCentral Call Log is an authoritative record of all the calls that were conducted across the network. It is a useful tool in performing call analytics, and in accessing call histories for the purposes of reporting, compliance, or some other record-keeping use case. Call logs can make available to developers the following information about a call:

  • Participants
  • Start and end times
  • Result of the call (answered, rejected, voicemail, etc)
  • Call direction (inbound, outbound)
  • Duration

Downloading Call Recordings

In addition to providing metadata about a call that took place on the network, the Call Log API also makes available to developers a URL from which the audio of a recorded call can be downloaded.

How do I control my status and availability?

Finally, the Voice API gives developers access to the availability, or "presence" of a user within the network through the Presence API. The Presence API shows the following for each user one inquires about:

  • Is the user on a call?
  • Is the user in a meeting?
  • Has the user set their "Do Not Disturb" status?

Together one can assess whether a user is available to receive a call or not.