This demo demonstrates audio call of the Voximplant Android SDK with/without ConnectionService integration. The application supports audio calls between the current Android app and other apps that use any Voximplant SDK. It uses two ways to control calls:
- Default (
AudioCallManagerDefault
) - Integration with self-managed ConnectionService (
AudioCallManagerTelecom
)
The choice of implementation depends on the device's Android version and the FEATURE_TELECOM
or FEATURE_CONNECTION_SERVICE
availability in the system.
ConnectionService
is an abstract service that could be implemented by any apps which either:
- Can make phone calls (VoIP or otherwise) and want those calls to be integrated into the built-in phone app. Referred to as a system managed
ConnectionService
. - Are a standalone calling app and don't want their calls to be integrated into the built-in phone app. Referred to as a self-managed
ConnectionService
.ConnectionService
requires Android API level 23 according to the official Android documentation, but this app usesConnection.PROPERTY_SELF_MANAGED
which requires API level 26.
The application is able to:
- log in to the Voximplant Cloud
- make an audio call
- receive an incoming call
- put a call on hold / take it off hold
- change an audio device (speaker, receiver, wired headset, bluetooth headset) during a call
- mute audio during a call
- receive push notifications (requires additional setup)
- proximity sensor usage
- Clone this repository
- Select AudioCall and build the project using Android Studio
Use the invite link to get access the latest builds and subscribe for the application updates.
To get started, you'll need to register a free Voximplant developer account.
You'll need the following:
- Voximplant application
- two Voximplant users
- VoxEngine scenario
- routing setup
We've implemented a special template to enable you to quickly use the demo – just install SDK tutorial from our marketplace:
You can set up it manually using our quickstart guide and tutorials
require(Modules.PushService);
VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => {
const newCall = VoxEngine.callUserDirect(
e.call,
e.destination,
e.callerid,
e.displayName,
null
);
VoxEngine.easyProcess(e.call, newCall, ()=>{}, true);
});
Log in using:
- Voximplant user name in the format
user@app.account
- password
Main | Ongoing call | Incoming call | Failed call |
Find more information about Voximplant Android SDK integration with the ConnectionService here.
- contact us via
support@voximplant.com
- create an issue
- join our developer community