برای رفع خطای SSL TLS یک تغییر مختصر در کد GetPage دادم :

using System.Security.Cryptography.X509Certificates;
.
.
.
private byte[] GetPage(string phoneNumber, string url, DateTime startDate, DateTime endDate, int page)
{
if (url.StartsWith("local://", StringComparison.Ordinal))
{
return Encoding.UTF8.GetBytes (File.ReadAllText(url.Substring(8)));
}
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072 | (SecurityProtocolType)768 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;
ServicePointManager.Expect100Continue = true;
ServicePointManager. ServerCertificateValidationCallback = ServerCertificateValidation;
using (var client = new WebClient())
{
client.Headers [HttpRequestHeader.Authorization] = _authHeader;
client.Credentials = CredentialCache.DefaultCredentials;
var values = new NameValueCollection
{
["PhoneNumber"] = phoneNumber,
["StartDate"] = GetUnixTimestamp(startDate).ToString(),
["EndDate"] = GetUnixTimestamp(endDate).ToString(),
["Page"] = page.ToString()
};
return client.UploadValues(url, values);
}
}

private bool ServerCertificateValidation(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}