How can I see if tel: is actually linked to a device that can make a call?
Asked Answered
S

1

9

I'm currently on a project that needs to detect whether or not a device can make a phone call. Depending on whether or not it can, I need to switch views and apply two different functions, one is a button to make a call to a particular number using tel: on html, the other is a button for you to enter your number and we'll call you using fonality.

Currently, I've managed to install such plugins/libraries such as wurfl or terawurfl, none which seems to have a 100% reliable way to detect whether the mobile phone or tablet/desktop can make a phone call.

Is there any server side or user side solution to this like a tag that I missed in wurfl/terawurfl or even a javascript ajax call that I could make to detect "yes tel: works" or something of that nature.

Scrubland answered 12/7, 2012 at 7:24 Comment(7)
might not answer your question, but please have a look at this trick: #837277Qoph
No; JavaScript's limited to the browser, it has no way of accessing the protocol or associated handlers. You'd have to offer the choice to your user ('If you have Skype, or this is a phone, and you'd like to place the call click the "call this number" link, otherwise click the "we\'' call you" button.').Supersonic
I really think you should rethink your approach. Even if a phone/tablet has a valid SIM and is on a network it may be barred from making phone calls by the operator or by the user (call barring/call restriction); or it may not be able to call your particular number (no service, or international call out restricted, etc.) there would be no way for you to know unless you attempt a call to the number that you are trying to reach.Thirtythree
Never tried it, but I read about handsetdetection.com recentlyMarius
I wouldn't worry about restrictions or barring because our target users are on personal devices, which would honestly be weird to restrict yourself.Scrubland
handsetdetection.com I've actually seen before, but it's a paid service which I would rather find a way to not have to pay.....I'm cheap, I rather edit all user agents on my database than use their service...Scrubland
As for having both, I thought of that, and we're trying to avoid having to do that.Scrubland
C
1

Here is a PHP class I use which detects mobile browsers that you can download fro free. http://code.google.com/p/php-mobile-detect/

Once the class in set up correctly you can use code like this:

if ($detect->isMobile()) {
    // any mobile platform
    // place telephone code here
}

or you can be more specific:

if($detect->isiOS()){
    // code to run for the Apple iOS platform.
}

This is generally used for creating mobile websites however it will fit your purpose :)

Cowl answered 12/7, 2012 at 17:7 Comment(2)
this solution actually does the trick by using the patterns in the useragent instead of having a database....plus you could change it and make a new category. Seems like a useful plugin, but makes me realize that many devices may have a phone number, but wasn't intended to make a phone call...Scrubland
Very true, mobile technology is brilliant and its only going to keep getting better. Im glad this worked for you, it saves a lot of time and work building it yourself! I use this for mobile optimized websitesCowl

© 2022 - 2024 — McMap. All rights reserved.