You may want to look into using a library for this. For example, Google's libphonenumber library with a C# port being here. In particular, these two methods may be worth looking into (emphasis mine)
isNumberMatch - gets a confidence level on whether two numbers could be the same.
getExampleNumber/getExampleNumberByType - provides valid example numbers for all countries/regions, with the option of specifying which type of example phone number is needed.