You can write a custom protocol handler for this type of thing, but the handler obviously needs to be installed on the machine using it.
Check this stackoverflow thread for custom protocol handling in ios and android.
Custom protocol handling windows
Using C#, register registry keys:
RegistryKey Key = Registry.ClassesRoot.CreateSubKey("test");
Key.CreateSubKey("DefaultIcon").SetValue("", "caller.exe,1");
Key.SetValue("", "call:Protocol");
Key.SetValue("URL Protocol", "");
Key.CreateSubKey(@"shell\open\command").SetValue("", "caller.exe %1");
Caller.exe being your handler:
using System;
using System.Collections.Generic;
using System.Text;
class Program
{
static void Main(string[] args)
{
// args[0] contains the phone number
}
}
Finally:
<a href="call:2000000200200">Call Number</a>