Skip to content

Cloud Voice

Cloud Voice is an API first telephony service used to manage phone calls.

You can use Cloud Voice to control and monitor incoming and outgoing phone calls in real-time over SIP and PSTN (Public Switch Telephone Network).

To get started right away, try the Getting Started with .NET guide to create an outgoing call using the Cloud Voice API.

Core concepts

  • Call: An incoming call or an outgoing call. A call is always one-legged, and is the resource that is billed.
  • Bridged Call: A call that has been connected with another call, so that the parties at either end can hear each other.
  • VoiceML: An XML-based syntax for controlling calls. Read more about VoiceML.

Relationship between calls

The Enfonica concept of a call is a one-legged call: either an incoming or an outgoing call. To have two parties connected with each other, you must bridge two calls together.

The diagram below shows how an incoming call can be bridged to an outgoing call, so that two people are connected with each other.

Call bridge between incoming and outgoing calls

Enfonica bills per call. In the example above, the incoming call and the outgoing call are charged separately.

Enfonica 1300 and 1800 call billing vs legacy phone companies

Legacy phone companies often bill two-legged calls, where you might pay a rate called "1300 Mobile to Fixed". Enfonica bills one-legged calls, and for the same example, would bill two calls: "1300 Call from Mobile" for the incoming call and "Call to Australian Landline" for the outgoing call. This billing style reduces the number of rates you have, costs you less in some call scenarios, and makes it easier identify costs savings by using SIP for more calls.

Controlling calls

With Cloud Voice, phone calls are controlled by a web server. The following diagram shows an example dialog between Cloud Voice and an application for an incoming call.

Incoming call flow sequence diagram

  1. The caller calls an Enfonica phone number.
  2. Cloud Voice makes a request to the URI configured against the phone number. It performs a HTTP POST with a CallRequest payload, which includes details about the call.
  3. The customer application replies with a VoiceML response.
  4. Cloud Voice executes the instructions, and performs another request for instructions once complete. This time, the CallRequest includes additional information pertaining to the last executed instruction.
  5. The customer application replies with additional VoiceML instructions.
  6. The process of request/response continues until either the caller hangs up or there are no more instructions to execute.

The process for controlling an outgoing call is similar, except instead of the caller calling a phone number, the Enfonica API is used to trigger a phone call.

Common use cases

  • Toll-free and virtual numbers. For example, forwarding the 1800 number of a national brand to a regional call center.
  • Hosted IVRs. For example, a phone menu that you can navigate using the key presses on your phone.
  • Postcode prompting. For example, allowing callers to connect to their closest retail location by entering their 4 digit postcode.
  • Call recording. For example, recording calls for quality and compliance purposes.
  • Call tracking. For example, assigning different phone numbers to different traditional media campaigns to measure conversions across campaigns.
  • Disaster recovery. For example, collect customer information and schedule call backs when your call center is offline or agents are unavailable.
  • Phone payments. For example, offer an option to allow customers to pay by credit card over the phone.
  • Phone surveys. For example, automate outbound phone calls to perform polling and surveys.

Cloud Voice integrations

The following diagram shows how Cloud Voice can integrate with other products by Enfonica.

Cloud Voice integrations with Enfonica