I’m using Twilio Android API to perform a VoIP call between two Android clients. Is it possible to track the current volume of the call?
The need for such possibility comes from the following use case: I want to request audio focus only when another party is talking and abandon it as soon as the silence is detected on the line.
Twilio developer evangelist here.
As far as I can see in the Android Programmable Voice documentation, there is no access to the audio stream in order to track the volume of the call.
This is likely something you could achieve if you were making audio calls between apps using the Twilio Video SDK for Android. (And if you are only making app to app calls, then sound quality will be better too as it's not downsampled for the phone network.)
Related
Is there any way to build our own Call screening application(Incoming call answer bot) to transfer the specific audio recording to an incoming call? To do that
The application should answer the call. (There is an official API to answer the phone call in recent versions of Android)
The application should be able to receive the voice.
The application should be able to transmit the recording as an outgoing voice.
Is it possible to do 2,3?
In short - I'd be very surprised if 2 and 3 are possible because of legal issues - it is not legal to record conversations in the US (and other parts of the world, probably) and Google, like Apple, do not allow it. This is the main reason call recording has always been clunky on Android (e.g. forcing the user to use the speaker).
If applications have access to voice calls, there will not be a problem recording them
It gets worse on Android 9 onwards...
I am developing an Android application for video calling using RTSP/TRMP and LibStreaming. When i initiate a call from my app, i cant able to understand thether the other end is ringing / attend my call.
I would like to know how to set a ringback tone for an outgoing call. I need to play it till the other user attend the call or reject the call
For video calling, you can use WebRTC. its good library
you can check demo
Using RTSP, it will difficulty for you. if you want one way live steaming then RTSP is fine
I wish to make automated calls to a list of numbers to then play a recorded audio message to them. The ones that don't pick up get a call back later.
What's the cheapest and easiest way to develop this using some pre-existing tools? Any directions welcome.
Note: You can play back the audio data only to the standard output
device. Currently, that is the mobile device speaker or a Bluetooth
headset. You cannot play sound files in the conversation audio during
a call.
from the official docs
I ended up using automated flow apps (Automate [link below] is one such app that I used. Disclaimer: I've no affiliation with app) to trigger automated calls. The flow was initiate on a GCM notification to the phone, which provided the number for call. With all permissions granted and conditions fulfilling (network, sim, call credits, etc.), app should be able to make call to the number.
Now, I'm trying to figure out how to play an audio message for the receiver.
So, if you were looking for 'how' part, here's the how part. If you know the next steps, enlighten me!
https://play.google.com/store/apps/details?id=com.llamalab.automate&hl=en&gl=US
I want to do following in android.
Is it possible ?
1) call +xx xxxxxxx
2) wait to the first tone to end
3) insert pass: xxxx
4) wait for the short high tone to end
5) press 1 till you hear specific sound.
Here tones are DTMF tones and I tried to do it with call intent but how can i enter pass in ongoing call using code?
Can anybody guide me ?
Thanks in advance !
You may not be able to do it directly from an Android device but you could use a programmable service that uses Call Control XML (CCXML) to accomplish this. You would call the CCXML application which would in turn dial the phone number of the system you want to interact with. The CCXML application would then take over the automated process you describe. Listening for the tones, as described in your process, is often referred to as Call Progress Analysis. A platform that has a great CCXML and Call Progress Analysis is Voxeo's Prophecy. You can try it out for free. Since you are listening for DTMF tones you may want to use a combination of CCXML and VoiceXML. Prophecy supports both. VoiceXML can detect specific DTMF tones. There is no method for telling VoiceXML or CCXML to send DTMF. The way this is handles is playing audio recordings of DTMF. You can get audio recordings of DTMF tones that work on Prophecy here.
Writing to phone call stream is not possible, sorry.
It is possible to programmatically interact with a phone call? Can you, for example, play audio to a caller from a program?
Google has not exposed any API which allows us to feed data to a particular ongoing call. You can however have control over a call. Check this article : here