In-App Voice Overview

Client SDK allows you to add voice capabilities to your web (JavaScript), Android, or iOS application. You application would then be able to support a variety of use cases such as click to call a support agent, realtime messaging, and voice chat rooms.

Client SDK In-App Voice uses WebRTC and includes all the essentials you need to build a feature-rich voice experience.

  • 1:1 or Group Calls
  • Audio Controls – Mute, earmuff
  • DTMF Support

Client SDK In-App Voice integrates with the Vonage Voice API which amplifies the In-App Voice offering through extra functionality such as:

  • Calls to phones (PSTN)
  • Calls to SIP-enabled devices
  • Connection to other services over Websockets
  • Call management
  • Complex call flow configurations
  • Voice stream recording
  • Conference calling
  • Text-to-speech messages in 23 languages

The Android and iOS Client SDKs additionally offer:

  • Network Change Handling
  • Audio Routing Management
  • Push Notifications

Voice calls

There are two ways to make Voice calls:

  1. Using VAPI using the Client SDK callServer() method.
  2. Using peer-peer call functionality via the inAppCall() method.

The Client SDK application manages the Event flow of the conversation.




Conversation API concepts:

  • How to set up your application
  • Application: A Vonage Application provides a container for Users and Conversations.
  • How to authenticate users
  • User: A User represents an entity such as a person that wishes to communicate.
  • How to generate JWTs: This topic explains how to generate JWTs for use in your app. JSON Web Tokens (JWTs) and Access Control Lists (ACLs) are a key concept to understand in order to authenticate your apps and users.
  • Conversation: A Conversation connects Users and allows them to communicate.
  • Event flow: This topic provides an overview of a event dispatching flow through the system encompassing the Vonage Voice and Conversation services.
  • Member: A Member is created when a User joins a Conversation.
  • Call: A Call consists of one or more Legs.
  • Channel: A Channel refers to one of App, Phone, SIP or Websocket.
  • Leg: A Leg connects a User with a Conversation.
  • Media: Media refers to type of communication. It is currently one of text, voice, or video.
  • Event: Conversations are event-driven. Event objects are generated when key activities occur.
  • Session: A Session is a live communication stream created with a Client SDK.

In-app Voice concepts:

Use Cases