I want to fake an incoming call on my own (physical!!! -> not the emulator) android device. I know there are lots of apps that actually can do that, which means it cant be that hard - I just need a hint. Searching the net only brings up apps which do the job.
Related
I want to have one stationary device like an android phone that can use a standard local SIM card and forward all calls to a second device over some kind of VoIP protocol. When someone calls the phone number of the stationary device, I want my second device to ring and handle the call through something like linphone, element, or whatever. Ideally, it should be possible from the second device to initiate a call from the stationary device's phone number as well. Bridging SMS too would be nice, but I already have a solution for this on android.
There are many use cases like
when traveling abroad, being able to bring the latter device and receive/make calls via the stationary device at home
forwarding multiple phone numbers to a single device and e.g. switching off the work number when away from work
having privacy when the location of SIM cards is logged, by making calls over wifi from somewhere else than the stationary device
when traveling somewhere with bad mobile coverage but available wifi, without having to think about how the second device handles it
Are there any existing projects for doing this?
If not, then what would be necessary to make something myself? Is the best solution something like connected an android device by bluetooth to something running asterisk like was discussed here? Or has something changed in the past 11 years, maybe the existence of some working linux phones makes this possible on a dedicated purism or pinephone device?
I think you can achieve this with Brekeke SIP Server. I am using their solution to achieve something similar to what you want to do.
there are multiple ways to achieve it technically, but the most practical solution to your use case will be to use a VOIP Gateway device.
Actually we can not use a mobile phone as gateway between SIM and VOIP calls.
so you can buy a voip gateway example GOIP (single SIM) and put your sim, connect to your home internet and configure. your phones softphone (eg linphone) will be able to directly register on it and you will be able to make/receive calls and sms.
there will be a new problem as mobile OS platforms are more and more restrictive about power, your sip client will not be able to receive calls while in background for that you will need push, so you can use twillio's mobile sdk to make a client that works fine then forward your calls to twillio from gateway. since there is no number or telecom services involved, cost on twillio should be minimal.
A more common way to do this is with an operator service, rather than implementing it yourself.
The operator is able to see the routing to your number and simultaneously call multiple numbers you have set up. Different operators will have different names and details so you would need to speak to your local operator.
For example BT in the UK (who I have no affiliation to - just an example) provide a service called 'Follow ME': https://support.ringcentral.co.uk/s/article/9010?language=en_GB
If you do want to do it yourself than an open source PBC like Asterisk is indeed a good starting point.
As far as I know, wear smartwatches are designed to be companion devices that stay connected to your smartphone. Without a phone around, though, they aren't entirely useless.They'll still function as watches, for one, giving you the time and the date.
But I am not sure if there are any changes to this in any of the latest updates. So I want to know if it is possible to pair two smart watches and send messages using messageapi without the help of a smartphone.Just curious to know ?
Ideally, I want two watches to interact using messageapi to send messages. Is it possible to do without a smartphone?
Well, if talking about pairing two watches with each other, you definitely CAN NOT do this.
But, if you want to extend the abilities of an android smartwatch, you may add some features based on WiFi connection. Since a watch can be connected to a WiFi network, you're able to send messages and do some other stuff with it.
Also you should check up the Together feature, but as I may say, it's built on the interaction of two handhelds, but not wearables.
Following this article i discovered a comment stating that
Advertising with an AppIdentifer lets other devices on the network discover this application and prompt the user to install the application.
How does the second user interact with this solution? Is there any kind of UI, like a notification? Has anybody tried this yet? Is this available only for a specific use case like Android TV devices?
Nearby Connections leaves it to you, the developer, to create UX that makes sense for your use-case. There are two sides to the API. The advertising side and the discovering side. Nothing happens when you advertise unless another device calls the discovery API and even then, it's up to your app whether or not to display anything.
When a second device invokes startDiscovery it will get an onEndpointFound callback. That's an opportunity to display UX or call sendConnectionRequest (to establish the connection)
Ok, I watched the Google I/O from 2011 presentation on NFC on peer to peer.
The demo was done on Gingerbread and using the application Sticky Notes found
Now in this demo, both device the onNewIntent() was called at the same time so both devices are trying to share information to one another.
On ICS and above, you have Android Beam..
With Android Beam, you have to touch to trigger the onNewIntent() event that will send the NDef message across.
Now the problem with this is that now to trigger the onNewIntent() on both devices, both user on each device has to "Touch To Beam" at the same time.
Is there a way that when you Touch To Beam on one device, both can have the onNewIntent() to be called?
I am trying to develop an app that will exchange data to each other but for it to work in a nice friendly fashion I need the devices to share the data at the same time once the Touch To Beam has been initiated on one device. I do hope this is possible.
Edit: It looks like this might not be possible to do :(
As far as I can tell, the feature you want is not available over NFC itself. The touch-to-beam/SNEP/NPP transfer is one direction only on Android. The user that clicks his screen will push an NDEF message to the other phone.
What I believe they've done in the video is set up a bluetooth connection with the NDEF message to make the transfer (as you saw in the stickynotes demo). Unfortunately there is no nice API for this.
However, the EasyNFC project promises to be able to allow you to create a bluetooth connection and socket between two phones/applications. Check it out here
I had a try and didn't really like the Touch-to-Beam UI that was still required in the set up of the bluetooth connection. It also didnt really suit my needs, as I wanted to transfer phone to computer and didn't really want to implement NFC P2P and a bluetooth connection.
Did you try this:
Use the Touch to Beam on phone-1 to "PUSH" the data, while on the other (phone-2), use the NDEF_DISCOVERED/TECH_DISCOVERED intent to trigger/start the data capture/reception. I vaguely remember one of the above intents were triggered when a PUSH is done. Although, every transmission requires a "Touch" to start the beaming.
When you think in general, Android should not allow the NFC data transfer in both direction at the same time. Lets think of a scenario where I want to send a thing to my friend with NFC. What is actively open on my friend's phone is not important. I should send this thing even the same app is not open on the receiver side. There may be another app in my friends phone that tries to send another thing to me. When we touch our phones, Android Beam (TM) appears and he data is sent from the phone that is touched.
In you case I think you should disable Android Beam (TM) by setting setNdefPushMessage(null) and do sending both ways using the old way.
https://developer.android.com/preview/api-overview.html
I think it will be available in L!!!
NFC enhancements
Your app can invoke the Android Beam on the user’s device to share data by calling android.nfc.NfcAdapter.invokeBeam(). This avoids the need for the user to manually tap the device against another NFC-capable device to complete the data transfer.
I am working on an android project, and I want to be able to test my app on a physical device. The only way I can test my app is to receive incoming text messages and calls. I know I can simulate texts and calls on the emulator either via telnet or via DDMS in Eclipse.
Is this possible to do the same thing without having to keep texting myself or calling myself from another device as its going to cost. I'd much prefer to do it on a device as it is much quicker than on the emulator.
You can use applications from google play like this one
https://play.google.com/store/apps/details?id=com.popularapp.fakecall&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5wb3B1bGFyYXBwLmZha2VjYWxsIl0.
For text Message, there are number of online sites where you can send Free SMS(TextMessage) to your mobile. I tested in India and US and it worked. Per day, you can send around 100 SMS(TextMessage)... I tested my application through that..
Regarding the Incoming call, if you are in US, probably you can use google talk to dial your number that is free.
Hope this helps!
thanks,
Ramesh S