Vonage Client SDK allows you to build Programmable Conversation applications.

Using the Conversation API and the Client SDK you can build complete applications that feature two-way voice and messaging communications. Whereas the Conversation API can be used directly to build out the backend of your Programmable Conversation application, the Client SDK enables you to quickly build the client-side application. The backend usually deals with tasks such as managing users in a database, the generation of tokens for those users, and the creation of the Conversations. The client-side provides methods to log users into Vonage, and handle the various Events that are generated as communication takes place. Other client-side functions include generating member invites if required, displaying typing indicators, and handling voice call operations such as inbound call, making a call, a user hanging up, and so on.

Client SDK enables communications across multiple Channels including:

  • Voice
  • SIP
  • Websockets
  • App

The following media types are supported:

  • Messaging
  • Voice

The Client SDK supports the following platforms and languages:

Platform Language
Web JavaScript
iOS (10.2 and above) Objective-C, Swift
Android (6.0 and above - API level 23 and above) Java, Kotlin

In-App Messaging

The Client SDK enables you to build a feature-rich chat experience that includes typing indicators and sent, delivered and read receipts.

Some features include:

  • Offline Sync – With built-in caching, messages are saved and sent or received once their device is back online.
  • Push Notifications – Keep users aware of important alerts by sending notifications to their device.
  • Text and Image Support – Users can quickly send and receive texts and images from your application.

Read more about:

In-App Voice

The Client SDK enables you to build in-app voice features into your application. Vonage In-App Voice uses WebRTC and includes all the essentials you need to build a feature-rich voice experience.

Some features include:

  • User Control – Users can control whether their audio stream is muted or unmuted.
  • Notifications – Users can be notified when they receive a call or when participants are muted.
  • Group Calls – Configure call settings so users can start a group call by adding participants in real time.

Read more about:


Many of the concepts used in the Client SDK are a result of the design of the Conversation API, which is the underlying technology. The following Concepts will help you use the Client SDK:

  • 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.

SDK Documentation (generated from source code)