How can I call a phone number using the Sip capabilities? - android

All examples I've seen require a SipProfile of the person I'm calling. In this case I'm not making a voip-to-voip call, but rather a voip-to-landline call.
Basically I want to mimic what the default Caller application does, you set up a Sip account and just call the person to his/her phone number.
Thanks in advance.

I managed to get it working by forming the address like this: xxxxxx#server.com where xxxxxx is the phone number to call. I don't know if it is the standard way, but it worked with my current VoIP provider (Plivo) since it creates endpoints dynamically.

Related

How to check VoLTE enabled programmatically [duplicate]

I have a very minimal knowledge about VoLTE service in android which is provided by the LTE operator.
Is there any API's are available to detect VoLTE call in android?
The API's such as
Call Connected
Call Disconnected
Latency
Call Status
Any link/API reference is much appreciated.
TelephonyManager.java have a function to check isVolteAvailable(). You can call that function to know the status of voLTE.
You can check the source here.. https://github.com/android/platform_frameworks_base/blob/master/telephony/java/android/telephony/TelephonyManager.java
If you can connect to at port then by using standard at commands, this can be verified.
at+cops? => this will give information about the current latched cell. check if the mobile is currently on LTE(7) cell.
make volte call and shoot the at+cops? again. If the call is connected and mobile is still in LTE(7) cell, then its for sure VoLTE call.

Masking call while making from inapp

Can anyone tell me on how to overwrite my apps name when a call is made from my app just how ola app does masking their name wherein the auto driver or the taxi driver to whom we have called doesn't know our name r when they call it comes under the name of ola not their name i.e the auto drivers name r taxi driver's name is it possible to implement such a feature in other apps also programatically if so can anyone tell me how to implement I search for masking of numbers and many others but unable to find .
Sadly to say, this just isn't entirely* possible. Here are some links detailing why:
Incoming Calls
Note: It is possible to display a custom GUI during an incoming call, but it is not always guaranteed that this custom GUI will be displayed first.
Pop up window over Android native incoming call screen like true caller Android app
Outgoing Calls
Note: it is possible to override the outgoing number called, but not to mask it
http://androidlabs.org/short-experiments/broadcast-receivers/process-outgoing-calls/
Ola App uses a backend telephony system, where taxi cab requests are sent to a phone center(owned by Ola).
Taxi cab drivers register and install a client app that automatically handles calls(and numbers).
This way the identity of the taxi cab driver and the rider can be masked.
When a taxi driver needs to call a rider, that call is passed through Ola's telephony system as well. This is why the phone number displayed on the rider's phone is different from the driver's real number.
Hope that helps...

What info can I get during a phone call using the Android API?

Could I get MCC & MNC of the other party, either on an incoming or an outgoing call?
I am aware that you can get your own information from the SIM card but I am interested for the information of my contacts.
I guess I must be able to retrieve such information during a phone call.
So two main questions:
Is it allowed from the protocol?
Are there any classes inside Android API that provide such information? (looked up inside TelephonyManager but did not find any)
Like payeli has answered: No, you cannot.
Firstly, because there is no API for accessing the other party's cellular information. Secondly, because Android doesn't actually know. You can delve into the source code of the TelephonyManager, and you'll see that it only contains information about the local telephony provider.
Furthermore, the internal Android class Connection also shows no hint of any such information. (Regardless of the information it contains, it isn't accessible from the API, not even via reflection.)
That being said, there are currently services that provide some insight into phone numbers. Here in the Netherlands, KPN provides an API for looking up caller information, including the current coverage state of the phone, whether it's roaming or not, and other details. I'm not sure if the API is public yet or not, but perhaps there's a similar service available in your region.
No, you can only retrieve the MCC and MNC of your phone, not for third party numbers to which you make or recieve calls.
Reason: Calls target a phone number, not the MCC/MNC of the sending/receiving devices. The MCC / MNC tuple is used to uniquely identify a mobile phone operator/carrier, so if user is using carrierX at present, he will have one value of MCC/MNC, and if user changes mobile carrier/operator but retains same phone number, the the value of MCC/MNC will change but phone-number will still be constant.
So the mapping between phone number of a contact and MCC/MNC of their carrier are not fixed. So:
Could I get MCC & MNC of the other party, either on an incoming or an outgoing call? NO

How to forward calls to specified phone numbers based on the incoming extension number with android?

This question sounds a bit odd, and it is maybe impossible, but I really need to do something like this, and I need a cheap solution.
What I would like to do is to use and Android phone to forward incoming calls to specified numbers based on the extension number. Is it possible virtually? I do not have real extensions, just one Android device with only one phone number, so that is why I am thinking about extension numbers, I think this is the only way to identify the target number with a cellphone.
Sample:
My number: 00491234567
When user calls 00491234567-01 it will ring at 00490987654
When user calls 00491234567-02 it will ring at 00490456789
What you are asking for needs to be provided by the telephone switching network, not the phone itself.
When someone dials 00491234567-01 on their phone, the number will either be rejected as being malformed, or the -01 addition will be ignored and not send via the call control protocols.

Listening for a particular keyword from a particular number in Android

I need to know of some way to make my application listen to a particular keyword (an ip address) from a particular number.
I found this great IP matching regex
ValidIpAddressRegex = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
[Edit] Here is a good link on how to work with incoming SMSs.
[Edit] And another one.

Categories

Resources