What is the best way to implicitly extract someone's location from a text message sent from his/her phone to an app? - geolocation

I am working on an app that needs to figure out someone's location in order to say buy a coffee from the Starbucks closest to them.
The app currently uses the Twilio API to receive a text from someone's phone and act on it. The app can get the number and possibly the zip code if available from the text message; however, is there a more reliable way to get someone's location to accurately determine the closest Starbucks to them?

No, and the zip code is not reliable. It is an approximation based on area code.
Possible look at WhatsApp but not heavily used in some countries.
Can I share my location or receive location information on WhatsApp?

Related

Retrieving phone geolocation when user tap NFC chip?

I am developing a software to remotely manage NFC tags - change their actions and track campaign performance such as:
No. of taps on individual NFC chips
date and time of taps on individual NFC chips
location of NFC chips when tapped
When the user tap the NFC, they are directed to our server which then redirect the phone's browser to the designated destination set in the campaign.
I have completed all of the above except for the location one as it gives me the inaccurate location.
At the moment, I'm using the site http://ipinfodb.com + their API to get the phone ip address and supposedly location, but it's innacurate.
Another, more accurate approach would be to "get" the phone's location via the GPS but not sure how to approach this.
Any suggestions would be much appreciated.
Probably an easier solution would be to get the data out of an analytics backend such as Google Analytics (relying on their accuracy ...)
Otherwise you need to ask the user's permission - but that needs to be done on the web site acting as the redirection target, as otherwise you would break the flow.

How do you retrieve a caller ID from from a digital line or a VOIP phone?

On my work place, we have some (PBX)Business Communications Manager 450 Telephone System and some (PBX)BCM50 also. The BCM450 is hybrid, which mean it can use digital lines and at the same time VOIP phones.
Right now, for example a user can have a Nortel Avaya 1120E or a Nortel T7316 Norstar in their desk.
I would like to know if there is a way in which way I can get the phone number of the caller, so I can use that number on a custom software for the company. In other words I want the phone number of the person calling me (maybe the extension if that is the case).
What I'm looking for, is that when a customer calls, the information associated with the telephone number can be seen on the screen programmatically (without input from system operator).
I can see there is someone talking about TAPI API, but i believe this is only for analog lines? Maybe somebody can put me on the right path or maybe somebody can provide an example of how it is done using any programming language.
If the VOIP phones are SIP based then you'd sniff eth. ports of the phones. SIP messages contains caller Id and called Id.
You can google like "SIP sniffer" for source code example...

How to extract the user cell information from received message?

i am about to develop a location based service for simple mobile (a mobile have no GPS,or wifi) through sms. so to know the location of my user i want to know with which cell Id are they communicating. Therefore how can i extract their cell information from the message i received from them?
The SMS message does no contain any infomration of the sender's location, thus there is no ways you could extract that information from the received SMS message.
Anyway's there are Cellbased positioning APIs available on a device, so check the platform you are developing for, and see what APIs there are offered.
And then of course you can have the location sent over SMS to receiving end, but indeed it would mean that you have your application running in both ends.
In general Phone operators can offer location based services, in which they could locate devices which are using their network, but in general they usually don't let normal developer to access that kind of infomration.

Is it possible to redirect a call?

My client is providing an international / long distance call service at cheap price to people if they make such calls via his company (Yes. It's like an international phone card)
The following is what my client wants to make.
Let's assume I have bunch of international / long distance / local phone numbers to call stored on my iPhone. If I tap one of the local phone numbers, iOS just lets me directly call the number. Not a problem. However, if it's an international or long distance number, iOS makes a call to the company instead so that the user can use the service at cheaper price.
Of course, this should happen only in the application. I'm not trying to tweak how iOS works by default.
I wonder if it's technically possible on iOS.
Update
I just came up with an idea that popping up a msg box if the tapped number is an international / long distance number before the following msg box by iPhone pops up.
Yup. before this one.
Can I show my custom msg box before the deafult one?
It sounds technically possible. The user can grant access to the contacts to the app which would allow the app to read names and phone numbers. The app could analyze the numbers and determine which ones are international and dial a LD service instead.
I would think that as long as the app is being completely clear to the user which service is being called and charges that may be incurred, I would think Apple would be okay with that.
The only other rule might be if the app looks too much like the built-in phone app or if it is determined the the functionality is redundant to the phone app. Good luck, Apple policy is sometimes a bit mysterious.
As for the alert, you can show any message, or even none at all.

Twilio Voice: Tracking a user from website to twilio phone call?

I'm trying to see if this is even possible in twilio. I'm hoping maybe someone's had a similar challenge and came up with a creative solution...
Our company has a unique phone number that's only displayed on our website. I've been asked if it's possible to find out not only how many calls we're getting (which is simple enough to track in twilio), but also who's calling. Basically, they want to follow the details of a users activity. From website to phone call.
Theoretically, they'd like something like this:
A user, lets call him John, comes to the website & is assigned a unique id of "12345". The id is stored in a cookie for returning users (this I can already handle).
If John calls the phone number displayed on the website, we...somehow through the use of twilio...know it's user #12345.
We can then create monthly reports stating user #12345 called the phone number 7 times this month for a total of 18 minutes.
There's so many "what if's" that go into this, that I'm just not sure it's even possible, but perhaps someone knows of a creative way this can work? A few things I've considered, but none of them are foolproof:
Tracking a combination of John's geographical location while browsing the website and the time of web browsing, then using twilio voice to track the geographical location & time of the phone call, to make a best guess. The problem is it sounds like twilio voice isn't always great at providing geo location.
Tracking mobile click to calls on the website, then matching the time of the click to the time of the phone call. Several problems with this, including multiple users calling at the same time, and we'd only be tracking those who browsed the website via mobile, then clicked to call.
For mobile click to call, passing the user's id via a phone extension, which twilio then reads (not sure if this is even possible in twilio). But again, this would be limited to mobile users.
So, I'm just not sure if this is even possible. Any idea's on how this could be implemented?
Thanks so much for any help.
Twilio developer evangelist here.
Have you considered making it possible to make the calls through the website itself? If you implemented Twilio Client you would be able to directly track users who called from the website and they'd be able to do so without picking up the phone too. That direct connection would allow you to make the calls more personal too, as you'd know exactly which user was calling.
Check out the tutorial on implementing browser calls in Twilio and let me know what you think.
I can't think of any straightforward ways to connect a user's browsing session to a phone call made with a different device though. You could ask the user to input their ID in order to start the call, using <Gather> to receive the input and tie that call to the user and whether they currently have a live session on the site. That might be an unnecessary barrier to people calling though, so you'd have to weigh up that option.

Resources