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:
- Using VAPI using the Client SDK
callServer()
method. - Using peer-peer call functionality via the
inAppCall()
method.
The Client SDK application manages the Event flow of the conversation.
Setup
Tutorials
Concepts
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:
- Enable Audio: How to enable audio features in a Conversation.
- Send and Receive DTMF: How to send and receive DTMF in your app.
- Make a Call: How to make an in-app or server-managed call.
-
Call Statuses: Information about call statuses such as
ringing
,answered
and so on. - Receive a Call: How to receive a call.
- Mute a Call Member: How to mute and unmute a call member.
- Earmuff a Call Member: How to earmuff a call member.
- Push Notification Payload: This topic shows you an example of the push notification payload send to the Client SDK.