Nexmo 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
- Audio Stream Quality Statistics
Nexmo In-App Voice integrates with the Nexmo Voice API which amplifies the In-App Voice offering through extra functionality such as:
- Calls to phone devices(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
The suggested order for learning In-App Voice is as follows:
Then for Android:
- Set up push notifications.
- Add SDK to your App.
- Make and receive calls in Objective-C or Swift.
- Phone to App calls in Objective-C or Swift
Conversation API concepts:
- Application: A Nexmo Application provides a container for Users and Conversations.
- User: A User represents an entity such as a person that wishes to communicate.
- Conversation: A Conversation connects Users and allows them to communicate.
- Event: Conversations are event-driven. Event objects are generated when key activities occur.
- Media: Media refers to type of communication. It is currently one of text, voice, or video.
- Channel: A Channel refers to one of App, Phone, SIP or Websocket.
- Member: A Member is created when a User joins a Conversation.
- Leg: A Leg connects a User with a Conversation.
- Call: A Call consists of one or more Legs.
- Session: A Session is a live communication stream created with a Client SDK.
In-app Voice concepts:
- Enable Audio: This topic shows how to enable audio features in a Conversation.
- App to App Calls: This topic describes how to make a voice call between apps.
- Phone to App Calls: This topic shows you how to handle an inbound phone call in your app.
- App to Phone Calls: This topic shows you how to make an outbound voice call from your app.
- NCCO Guide for Calling: A guide on controlling voice calls using NCCOs.
Call Statuses: Information about call statuses such as
answeredand so on.
In-app Voice building blocks:
- Start a Call
- Start a server managed Call
- Register to receive incoming Call events
- Answer a Call
- Reject a Call
- Hangup Call
- Mute myself in a Call
- Earmuff myself in a Call
- Listen to Call status
Nexmo Client SDK tutorials:
- How to Add In-App Messaging to your iOS App
- How to Add the Nexmo Client SDK to your Android App
- How to Add the Nexmo Client SDK to your iOS App
- How to Receive Phone Calls with the Nexmo Client SDK on iOS using Swift
- How to Receive Phone Calls with the Nexmo Client SDK on iOS using Objective-C
- How to Set Up Nexmo Push Notifications on iOS
- How to Set Up Nexmo Push Notifications on Android
- How to Make and Receive Voice calls with the Nexmo Client SDK on Android
- How to Generate Test Credentials
- How to Make and Receive Voice Calls with the Nexmo Client SDK on iOS using Objective-C
- How to Make and Receive Voice calls with the Nexmo Client SDK on iOS using Swift