Special links: phone calls, sms, e-mails, iPhone and Android apps, …
Everyone knows to include a link into a page, but what I want to discuss today is how you can include some special links.
Phone calls
This is something cool and with the explosion of smart phones with which you can easily browse this is definitely to consider having on the mobile version of your website. Such a link will initiate a call on your mobile to a specified number. But here the things are a little bit more complicated, requiring different links for different phones. You can easily find how to create such a link consulting the WURFL database and looking at the wml_make_phone_call_string
property in the wml_ui
category.
Basically this is done as follows:
- callto:[phone_number]
- mainly appropriate for iPhone and Nokia phones
- wtai://wp/mc;[phone_number]
- mainly appropriate for Android phones
- tel:[phone_number]
- reported to work on most of the newest devices. If you want to have only one type of URI, use this one.
In the phone number you can use +(plus) sign for international numbers. What’s also interesting to know is that this can even work on a desktop if you have an application like Skype installed. So maybe it’s a good idea to have this on the classic/desktop website too.
Later update from comments. Another interesting phone link will be how to call a teleconferencing phone number. There you call a phone number and then you enter your conference code, usually followed by hash(#)
. To do this from a link you will need a pause after the phone number and this is done with ,
(comma), usually entered by a long press on star(*)
. I tested this on Android and iOS and it works fine, but you usually need two pauses (,) between the phone number and conference code. Same way you can dial an extension line.
Examples
- callto:12345678
- call 12345678 on iPhone and Nokia
- wtai://wp/mc;12345678
- call 12345678 on Android
- wtai://wp/mc;+123456789
- call an international number on Android
- tel:12345678
- call 12345678 on most of the newer devices
- tel:12345678,,100200#
- join 100200 conference code on the conference line 12345678 on most of the newer devices
- tel:+12345678,,100200#
- join 100200 conference code on the international conference line +12345678 on most of the newer devices
SMS
From a web page you can open the SMS sending application on the user phone with a link like below:
sms:<phone_number>[,<phone_number>]*[?body=<message_body>]
The link contains a comma separated list of phone numbers and an optional message body. The phone numbers are specified as in the call links. Detailed information you can find in the URI Scheme for GSM Short Message Service (draft)
Examples
- sms:12345678
- SMS to 12345678
- sms:12345678?body=Hello my friend
- SMS “Hello my friend” to 12345678
- sms:123456789,+123456789?body=Hello
- SMS to multiple phone numbers, including an international one
There is also an URI version for MMS starting with mms:
. On some (mobile) browsers (devices) it is also reported to work smsto:
and mmsto:
, although I would recommend the first version.
iPhone/iPod/iTunes
When developing a website iPhone is definitely to be considered. You can include links to items in the iTunes store, such as movies, music or application. Apple provided for your convenience a web interface to create such links: ITMS Link Maker. Just specify the country, the search keyowrds and what type of iTunes items. You will get a list of items and when you click one you will get the link. You can even get the link for an author. These links will both work on the desktop and iPhone.
Example: Fluid application (free)
Android market
Android is gaining market share as we speak. Nexus One was just released and in my opinion will beat iPhone. As you include links to iTunes, you can include links to applications in Android Market.
market://search?q=<query>
or
market://details?id=<your.package.name>
The query
can include keywords or can identify a specific application using q=pname:your.package.name
and then the link will be market://search?q=pname:<your.package.name>
.
Ovi Store
Nokia created a new fresh application repository for their latest phone – Ovi Store. If you want to include a link to an application, search for it and then copy the link that it will look like http://store.ovi.com/content/XXXXX?clickSource=publisher+channel
. Just remove the last part and include http://store.ovi.com/content/21309
into your page, where XXXXX is the application Id. You can also include a link to a publisher’s page containing a summary of their application. The link is found on any of the publisher’s application (see by Publisher Name) and it will look like http://store.ovi.com/publisher/Publisher+Name
Windows Marketplace
We cannot exclude Microsoft from the list with their Windows Phone Marketplace. Same steps to find out the application link: search it, copy the link location and strip the last part. The link will look like http://marketplace.windowsphone.com/details.aspx?appId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
, where xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
is the application ID, clearly resembling a GUID. Here publishers don’t have a personal page.
BlackBerry App World
For all those BlackBerry fans, there is BlackBerry App World. Again same process: search for the application and copy the link location of the application icon. The format is http://appworld.blackberry.com/webstore/content/XXXXX
, where XXXXX is the application ID. The app authors have a page here with a summary of their apps. See the by Author link under each application. The link will be like http://appworld.blackberry.com/webstore/vendor/XXXX
, where XXXX is the author ID.
Geolocation
Nowadays you cannot even imagine a world without maps and GPS. More and more contact pages include a map too. Nowadays smart phones usually include a map application and opening a map with your location in it would be quite nice for the user
geopoint:latitude,longitude
As simple as this and you know where to go.
Messengers
From a web site you can also interact with the messenger applications installed on your machine.
Yahoo Messenger
ymsgr:ACTION?USERNAME&m=YOUR+MESSAGE
The possible actions are addfriend
, sendIM
and call
. The message can, of course, be specified only for sendIM
action. The USERNAME should be your.account@yahoo.com
or your.account@hotmail.com
.
Example: ymsgr:sendIM?beradrian&m=Hello – Say Hello in Yahoo Messenger.
Windows Messenger
msnim:ACTION?contact=USERNAME
The possible actions are chat
, add
(to add a contact), voice
(for voice call) and video
(for video call). The USERNAME should be your.account@yahoo.com
or your.account@hotmail.com
.
Example: msnim:chat?contact=beradrian@yahoo.com – Chat with me in Windows Messenger.
Google Talk
gtalk:ACTION?jid=USERNAME&from_jid=YOURNAME
The possible actions are chat
and call
(for voice call). The USERNAME and YOURNAME should be your.account@gmail.com
. The parameter from_jid
is optional and it should be specified only if you use multiple accounts.
Example: gtalk:chat?jid=beradrian@yahoo.com – Chat with me in Google Talk.
Skype
skype:USERNAME?ACTION
The possible actions are chat
, add
(to add a contact), userinfo
(to view a profile) and voicemail
(to leave a voicemail). The USERNAME is your Skype ID.
Example: skype:chat?jid=beradrian – Chat with me in Skype.
Lync
Updated on 03/15/2015
sip:USERNAME@DOMAIN
The main thing here is the sip
protocol. It is possible that this protocol can be used by other applications too, not being something specific to Lync.
Example: Call John.
Updated on 06/09/2016
whatsapp://send[/<phone_number>]?text=<message>
Example: Say ‘Hi John’ to number 0123456789 or pick a contact and Say ‘Hello World!’.
There are also other messengers but these are the most widely used. If you need another one, just post a comment.
It’s pretty easy to include a link for sending an email into your webpage. Basically it’s replacing the http
scheme with mailto
. So the link will look something like:
mailto:<email>[,<email>]*[?<arguments>]
Such a link will practically open the system application for sending emails (like Outlook or Thunderbird) and the message will be prepopulated with some values. As you can notice you can use multiple email addresses (To) separated by comma.
The possible arguments to be included are:
- subject
- the message Subject field
- cc
- the message CC field as a comma separated list of addresses
- bcc
- the message BCC field as a comma separated list of addresses
- body
- the message body. If you include a new line in your message you should include
%0A
.
Examples
- mailto:nobody@wordpress.com
- the simplest mailto link
- mailto:nobody@wordpress.com,no.one@wordpress.com
- multiple email addresses
- “mailto:nobody@wordpress.com?subject=Testing mailto
- specify a subject
- “mailto:nobody@wordpress.com?subject=Testing mailto&cc=no.one@wrodpress.com
- specify a subject and CC
Just as a side note in the end, it’s better not to rely on this kind of mechanism for handling email on your website. A contact form that sends an email could be a better idea.
Most of these URIs work not only on browsers, but on QR codes readers as well.
Happy linking!!!
Last update: June 9th, 2016.
Nice inspiring blog, dude. I enjoy your posting. I am about to create blog about mobile phones, too.
Thanks!
I’ve been using tel:+16663339XXX for phone calls. It seems to work on both Android and iPhone. Is there a reason why I should not use this?
Actually there is no reason for not using this. But are you sure that this works on all the phones? If yes, then this is actually good. Otherwise you will support only a set of devices.
Hi,
Intriguing post.
Where would i submit the code
wtai://wp/mc;917xxxxxxx
and have it be able to execute (i.e. call the phone number).
I was trying to have a calendared alert cause a phone call (rather than an email or sms)
Thanks,
Charlie
All these must be put in the href attribute of an A tag.
SMS command i think is not supported by all of the browser right?
Indeed, it is not supported by all mobile phones. If you’re using WURFL, you can check what is supported: http://wurfl.sourceforge.net/help_doc.php#sms.
Interesting post. It took me hours to get my head around WURFL, this post has helped me a lot.
Thanks for the info Adrian!
Hi. i have a question in regards to the sms code for blackberries. any blackberry browser before Blackberry Browser 6 does not recognize the sms protocol. Anyone have any insight into what can work for the blackberry browsers before version 6? Thank you.
I’ve got an Android v2.2.3 phone and the sms URI parser has a major bug related to both HTML URIs and NFC URI parsing. I still can’t believe Google hasn’t fixed the dang thing. Basically, if I include message content by suffixing ?body=blah to the URI, my phone puts the entire URI into the recipient section (i.e. sms:+123456?body=hi will result in a recipient list populated with 123456?body=hi and an error will occur). So frustrating to know Google has known about this bug for YEARS (not months, years) and it is still not fixed.
w.t.f. google… w.t.f.
still not fixed, i guess..
Really nice Article…..
Good one….
Helpful Thanks.
The list of Hyperlink types you’ve mentioned are ideal for use with QR codes. I tested some of them already and the results are very satisfactory.
Now I can post direct “call for action” in print ads like “Check in with Foursquare”, “subscribe now via SMS”, “Download now” …etc.
Nice work, thanks
You can check out my other post about QR codes: https://beradrian.wordpress.com/2009/08/20/browsing-with-qr-codes/
Here is even an additional set of hyperlink types http://wiki.akosma.com/IPhone_URL_Schemes
and a link to my post on QR code uses
http://office-gears.com/?p=226
Helped me a lot… Thanks Guys..
do any one have idea to how to fire an calender event by passing the parameters to link an and it should open is respective calender for mobile.
If any one could reply, it would be always appreciated…
Thanks in advance.
Sending SMS to multiple recipients is not working in iPhone. Is there any other separator which can be used in place of comma.
Have you tried with semicolon(;) or pipe(|)?
You have made some decent points there. I looked on the internet for additional information about the
issue and found most people will go along with your views on this site.
hello
what if i wanted to make it SMS and send directly ?
what is the code for that ?
i mean example
sms:123456789,+123456789?body=Hello
and then send directly
thank you
I doubt that you can send directly a SMS. The link is invoking the native app for this.
Thanks for the post!
In html email, adding a teleconference passcode works as follows for both iPhone and Android:
tel:8887776666,,012345678#
This also works in an iPhone calendar event. Unfortunately, the Android calendar viewer doesn’t recognize the tel: keyword in the body of the event and only “linkifies” the numbers separately. Anyone have a tip on how to make this work?
Is it possible to combine a sms and an email in one command together?
Because when I use the mailto:….. in an Android system, the user gets the possibillity to send an email, but also to send an sms. But I don’t know how to add also the sms-phonenumber into the same mailto:.. command.
this is a little late but have you tried to use the phone email address? sometimes it is something like 1234567890@mail.att.net or something like that.
Thank You!!!
Hope it works, haven’t tried it out, but just what I was looking for! 🙂
Thank you
i got an error when i click on sms i got an error like unsafe:sms:12344
For these reasons, it would appear that the i – Phone takes the lead when it
comes to apps. The UI experience on the Z2 with its Xperia
UI is extremely smooth and quick, just like M8’s Sense UI,
which is not what we can say about the S5.
The screen is coated with Gorilla glass screen with Touch – Wiz User Interface 4.
I cant make the tel: URI pause and dial an extension via click to save my life. Our Galaxy S4 and S5 dont interpret the , as a pause the same way as on the dial screen. “tel:111-555-1212,,1000#” doesnt work, nor does any of 30 other variations we’ve tried. Has anyone out there been able to successfully do this on Android? Just need to click the link, it dials the main number, waits 4 seconds, dials the extension.
This is super helpful but I’m looking to add a shortcut for Lync Messenger – my office recently switched over to this from Skype. Thank you!
Try this – sip:your.friend@your.work.com. The sip protocol is the key. I also updated the article to reflect this.
Great post! When a user clicks the tel: link on a desktop that doesn’t have Skype etc, they get an error page. I had to remove the link. How can I fix this? Thanks
Not sure. You can try to do first a call through Ajax and in case of error to remove all these links. Please let me know the outcome.
Hi. Perfect, but geopoint: not working.
Awesome blog. You can also send SMS online using a service like http://www.smsit.com.au
hi, great post. How about Whatsapp? can share to make it “click to send whatsapp particular message” ?
I updated my post with whatsapp link.
I would do click to sms with Nokia. But my nokia asks me to download a new application to send SMS. there is no way to pass by the default application?
What model of Nokia?
Unfortunately, WhatsApp send with a phone number actually doesn’t work, not to me, at least. Is there another way?
same to, I want full link to open from button on my webpage to whatsapp number
WhatsApp itself have already answered that’s not possible yet.
As I’ve contacted WhatsApp, sending a message to a specific phone number is not possible yet, besides someone actually did that for Android, here (http://stackoverflow.com/questions/29218378/mobile-website-whatsapp-button-to-send-message-to-a-specific-number). Please update that part of the article that says that it is possible.
Another important note, is that in Android devices “tel:” opens the dialing but does not dial right away, it waits the user interaction and suggest contact addition, but iPhone actually seems to suggest right away dialing or just cancel, which sucks… =/
I’ve made a mini-project for a feature suggestion to WhatsApp here: http://giovannipds.github.io/whatsbar – the project is available at GitHub, if someone’s got interested: http://giovannipds.github.io/whatsbar.
Thanks again for the posting.
whatsapp send text to a number does not work, it shows up contact to select rather than sending to number entered. rest work ok
How to integrate WhatsApp call through my app just like tel: ?
Regards
Hi,
I need to make the following clickable in an SMS on android:
*101*61518781668609#
For iPhone, this will work: tel:*101*61518781668609#
But on Android, it doesn’t work, any ideas? Or is it impossible?
Any ideas, please?
did you get a response? i need to do the same thing
Can I add a new contact to the device with a special link?
Very useful information. I like it.
Thank’s!!!
Good tip! However, I like the aspect of an “instant call back” instead of a “clickable phone number” better. I have found Callback Tracker’s WordPress plugin and installed it on my site, I notice a lot more results with the ability to call my website visitors, instead of having them call me. I suppose it is necessary on most sites. Here is the link to the plugin https://callbacktracker.com/plugins/wordpress-click-to-call-plugin-install-tutorial/
I think the geopoint: info is incorrect or out of date. I found that “geo:” works on Android and “maps://q=” works on iOS. I really appreciate the info that was in this post and it saved me a ton of research time and energy. Thanks.