Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • R REVECallSDKSample
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • sdk
  • REVECallSDKSample
  • Wiki
  • Home

Last edited by Sourav Das Feb 16, 2022
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Home

Reve Systems Android Voice Call SDK: Configuration and Usage

Reve Voice SDK for Android provides you with the Opportunity to make VOIP (Voice over Internet Protocol) Calls and Peer to Peer calls.
Follow the steps below to integrate Reve Voice SDK with your native android app.

Step 1. Installation: In the build.gradle in your project file, make sure you have the following items

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

You will need both mavencentral() and google() repositories for this project. Also use classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31" if you intend to use Kotlin in your project.
Now in your settings.gradle file you need to add the following maven repository

repositories {
        google()
        mavenCentral()
        jcenter()


        maven {
            url "http://maven.iptelephony.revesoft.com:8081/artifactory/libs-release-local"
            allowInsecureProtocol(true)
        }
        maven { url 'https://jitpack.io' }
    }

Finally add the following line in your app/build.gradle file's dependencies tab

dependencies {   
   ...
   implementation 'reve-voice-sdk:1.0.0'
   ...
}

Step 2. Configuration: In this step you need to configure the AppConfig according to the Configuration provided to you by Reve Systems. Your app has to be configured exactly as the credentials and attributes provided, otherwise you will not be able to connect to the server properly. You have to build an instance of the class AppConfig and pass it to the SIPWrapper.startSIP(context: Context, appConfig:AppConfig) method. You have to build an instance the following way.

In kotlin

var myConfigBuilder = AppConfig.newBuilder()
   .withDialerName("SDK_DIALER")
   .withDialerType(DialerType.EXPRESS_PLATINUM)
   .withAPIKey("1234")
   .withDialerVersion("1.0.0")
   .withDefaultCountry("bd")
   .withVersionCode(1)
   .withSDKClientCredentials("operator1", "1234")
var appConfig = AppConfig(myConfigBuilder)

In Java

MyConfigBuilder myConfigBuilder = AppConfig.newBuilder()
   .withDialerName("SDK_DIALER")
   .withDialerType(DialerType.EXPRESS_PLATINUM)
   .withAPIKey("1234")
   .withDialerVersion("1.0.0")
   .withDefaultCountry("bd")
   .withVersionCode(1)
   .withSDKClientCredentials("operator1", "1234");
AppConfig appConfig = new AppConfig(myConfigBuilder);

Step 3. Setting User Credentials: Set the username and Password of the end user in UserInfo class. Taking these two pieces of information from the UI is recommended.

UserInfo.setUsername(AppUI.getusername())
UserInfo.setPassword(AppUI.getSipPassword())	

Step 4. Starting the Call Functionalities At this stage The configuration of the App is complete. Now you can start to activate the functionalities of this sdk. You have to call the function SIPWrapper.startSIP(context: Context, appConfig:AppConfig). This method starts the components that lets you start/receive and end calls. Here context should be the default applicationContext and the appConfig is what you created in Step 2. If all the configuration is ok, this function will start the core components of this sdk. You have to make sure that you are using the exact configuration provided by Reve Systems. You can call this method inside an activity or a service.

Step 5. Permission: Make sure your app has permission to record Audio. Otherwise no audio data will be sent via this app.
Add the following line in your Manifest file

<uses-permission android:name="android.permission.RECORD_AUDIO"/>

You can use the following code snippet to check for permission and ask for permission if it is not already greanted.

private fun checkAndRequestPermissions() {
            if (ContextCompat.checkSelfPermission(applicationContext,
                    android.Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED
            ) {
                ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.RECORD_AUDIO), 101)
            }
        }
    }

Step 6. Call Handling: The aforementioned SIPWrapper.startSIP(Context,AppConfig) function will initialize CallHandler, a class for all types of call related activites. You can now make a call by simply calling CallHandler.makeCall(number:String) function and end call by calling CallHandler.endCall() function. You can receive Peer to Peer calls by using CallHandler.acceptCall(callid:String).

Check out the Call Handling guide for details on Handling of calls using this SDK and UI integration with Native App.

Check out the Demo App for using this SDK

Clone repository
  • Call Handling
  • Configuring Listeners
  • Demo App Details
  • Get Api Key
  • Other Important Topics
  • Home