Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement ringing in outgoing Android VOIP call

We are using agora.io for voice calling in our app(VOIP). The calls between two people are going seemless. But when I am dialing person B, I am not able to hear the dial tone while the call is being connected. I basically want to hear the ringing when the call is being connect. However, the person is getting the incoming caller tune while his phone is ringing.

Can you anyone help me how to do this?

We are building Android App, Java, Kotlin, and Agora.io SDK

like image 636
Prabhakar Undurthi Avatar asked Sep 01 '19 08:09

Prabhakar Undurthi


People also ask

How do I make calls with zoiper?

Making calls To be able to make an outgoing call, you will need to enter the number in the dialing field, and add all the needed prefixes such as coutry code, areacode, etc., or select a contact from your contact list. At the moment Zoiper for Android does not have a seprate contact list.


1 Answers

Currently Agora.io's Android SDK does not directly support playing audio on the caller side. This would need to be achieved using Android's Telcom package, more specifically implementing Connection, ConnectionService and ToneGenerator classes.

Whenever you start your call you may want to create a new tone, replacing <AUDIO STREAM> below with the stream that you want to play the tone within, and replacing <VOLUME LEVEL> with an integer (or enum) to set the volume level.

ToneGenerator dtmfGenerator = new ToneGenerator(<AUDIO STREAM>,<VOLUME LEVEL>);
dtmfGenerator.startTone(ToneGenerator.TONE_DTMF_0, 1000); 
dtmfGenerator.stopTone();

For example if you want to leverage the Call tone using the above example, you would use ToneGenerator.TONE_SUP_RINGTONE

ToneGenerator dtmfGenerator = new ToneGenerator(ToneGenerator.TONE_SUP_RINGTONE,ToneGenerator.MAX_VOLUME);
dtmfGenerator.startTone(ToneGenerator.TONE_DTMF_0, 1000); 
dtmfGenerator.stopTone();
like image 52
Hermes Avatar answered Oct 04 '22 20:10

Hermes