public IncomingPhoneNumberResource Hop( string twilioAccountSid, string relaySid, ILogging logging) { var original = IncomingPhoneNumberResource.Fetch(relaySid); string relayPhoneNumber = original.PhoneNumber.ToString(); logging.Log($"Releasing phone number {relayPhoneNumber} {relaySid}"); IncomingPhoneNumberResource.Delete(relaySid); var localAvailableNumbers = LocalResource.Read("US"); var desiredNumber = localAvailableNumbers.First(); logging.Log($"Purchasing new phone number {desiredNumber.PhoneNumber}"); var newNumber = IncomingPhoneNumberResource.Create( twilioAccountSid, desiredNumber.PhoneNumber, smsMethod: original.SmsMethod, smsUrl: original.SmsUrl); logging.Log($"New phone number purchased {newNumber.PhoneNumber} {newNumber.Sid}"); return(newNumber); }
public static LocalResource GetTwilioNumber(int areaCode) { var accountSid = ConfigUtil.GetEnvironmentVariable("accountSid"); var authToken = ConfigUtil.GetEnvironmentVariable("authToken"); TwilioClient.Init(accountSid, authToken); var local = LocalResource.Read(areaCode: areaCode, pathCountryCode: "US", limit: 1, smsEnabled: true); return(local.FirstOrDefault()); }
private List <SelectListItem> TwilioPhoneList(int customerid, string phone, int miles) { Models.Customers customer = _context.Customers.FirstOrDefault(c => c.CustomerId == customerid); phone = (string.IsNullOrEmpty(phone) ? "+1" + customer.PrimaryPhone : "+1" + phone); TwilioClient.Init(customer.TwilioAccountSid, customer.TwilioAuthToken); ResourceSet <LocalResource> localAvailableNumbers = LocalResource.Read("US", nearNumber: phone, distance: miles); return((from c in localAvailableNumbers select new SelectListItem { Value = c.PhoneNumber.ToString().Substring(2), Text = c.FriendlyName.ToString() + " " + c.Locality }).ToList()); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var local = LocalResource.Read(); foreach (var record in local) { Console.WriteLine(record.Sid); } }
public void TestReadEmptyResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"end\": 0,\"first_page_uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json?PageSize=1&Page=0\",\"incoming_phone_numbers\": [],\"last_page_uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json?PageSize=1&Page=2\",\"next_page_uri\": null,\"num_pages\": 3,\"page\": 0,\"page_size\": 1,\"previous_page_uri\": null,\"start\": 0,\"total\": 3,\"uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json?PageSize=1\"}" )); var response = LocalResource.Read(client: twilioRestClient); Assert.NotNull(response); }
public IEnumerable <VoipPhone> GetAvailablePhoneNumbers(PhoneNumberType phoneNumberType, string isoCountryCode) { return(phoneNumberType switch { PhoneNumberType.Local => LocalResource.Read(isoCountryCode, voiceEnabled: true, client: client).Select(r => new TwilioPhone(client, AuthContext, TenantUtil, SecurityContext, BaseCommonLinkUtility) { Number = r.PhoneNumber.ToString() }), PhoneNumberType.TollFree => TollFreeResource.Read(isoCountryCode, voiceEnabled: true, client: client).Select(r => new TwilioPhone(client, AuthContext, TenantUtil, SecurityContext, BaseCommonLinkUtility) { Number = r.PhoneNumber.ToString() }), _ => new List <VoipPhone>(), });
public void TestReadFullResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"available_phone_numbers\": [{\"address_requirements\": \"none\",\"beta\": false,\"capabilities\": {\"mms\": true,\"sms\": false,\"voice\": true},\"friendly_name\": \"(808) 925-1571\",\"iso_country\": \"US\",\"lata\": \"834\",\"latitude\": \"19.720000\",\"longitude\": \"-155.090000\",\"phone_number\": \"+18089251571\",\"postal_code\": \"96720\",\"rate_center\": \"HILO\",\"region\": \"HI\"}],\"end\": 1,\"first_page_uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Local.json?PageSize=50&Page=0\",\"last_page_uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Local.json?PageSize=50&Page=0\",\"next_page_uri\": null,\"num_pages\": 1,\"page\": 0,\"page_size\": 50,\"previous_page_uri\": null,\"start\": 0,\"total\": 1,\"uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Local.json?PageSize=1\"}" )); var response = LocalResource.Read("US", client: twilioRestClient); Assert.NotNull(response); }
public void TestReadFullResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"end\": 0,\"first_page_uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json?PageSize=1&Page=0\",\"incoming_phone_numbers\": [{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"address_requirements\": \"none\",\"address_sid\": \"ADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"api_version\": \"2010-04-01\",\"beta\": null,\"capabilities\": {\"mms\": true,\"sms\": false,\"voice\": true},\"date_created\": \"Thu, 30 Jul 2015 23:19:04 +0000\",\"date_updated\": \"Thu, 30 Jul 2015 23:19:04 +0000\",\"friendly_name\": \"(808) 925-5327\",\"identity_sid\": \"RIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"phone_number\": \"+18089255327\",\"origin\": \"origin\",\"sid\": \"PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"sms_application_sid\": \"\",\"sms_fallback_method\": \"POST\",\"sms_fallback_url\": \"\",\"sms_method\": \"POST\",\"sms_url\": \"\",\"status_callback\": \"\",\"status_callback_method\": \"POST\",\"trunk_sid\": null,\"uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json\",\"voice_application_sid\": \"\",\"voice_caller_id_lookup\": false,\"voice_fallback_method\": \"POST\",\"voice_fallback_url\": null,\"voice_method\": \"POST\",\"voice_url\": null,\"emergency_status\": \"Active\",\"emergency_address_sid\": \"ADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"bundle_sid\": \"BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}],\"last_page_uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json?PageSize=1&Page=2\",\"next_page_uri\": null,\"num_pages\": 3,\"page\": 0,\"page_size\": 1,\"previous_page_uri\": null,\"start\": 0,\"total\": 3,\"uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json?PageSize=1\"}" )); var response = LocalResource.Read(client: twilioRestClient); Assert.NotNull(response); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var local = LocalResource.Read(limit: 20); foreach (var record in local) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var localAvailableNumbers = LocalResource.Read("US", inRegion: "AR"); // Purchase the first number on the list var firstNumber = localAvailableNumbers.First(); var incomingPhoneNumber = IncomingPhoneNumberResource.Create( phoneNumber: firstNumber.PhoneNumber); Console.WriteLine(incomingPhoneNumber.Sid); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"); const string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN"); TwilioClient.Init(accountSid, authToken); var localAvailableNumbers = LocalResource.Read("US", contains: "STORM"); // Purchase the first number on the list var firstNumber = localAvailableNumbers.First(); var incomingPhoneNumber = IncomingPhoneNumberResource.Create( phoneNumber: firstNumber.PhoneNumber); Console.WriteLine(incomingPhoneNumber.Sid); }
public IEnumerable <VoipPhone> GetAvailablePhoneNumbers(PhoneNumberType phoneNumberType, string isoCountryCode) { switch (phoneNumberType) { case PhoneNumberType.Local: return(LocalResource.Read(isoCountryCode, voiceEnabled: true, client: client).Select(r => new TwilioPhone(client) { Number = r.PhoneNumber.ToString() })); case PhoneNumberType.TollFree: return(TollFreeResource.Read(isoCountryCode, voiceEnabled: true, client: client).Select(r => new TwilioPhone(client) { Number = r.PhoneNumber.ToString() })); } return(new List <VoipPhone>()); }
public void TestReadRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Get, Twilio.Rest.Domain.Api, "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/Local.json", "" ); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { LocalResource.Read(client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); const string nearLatLong = "37.840699,-122.461853"; var localAvailableNumbers = LocalResource.Read("US", nearLatLong: nearLatLong, distance: 50, contains: "555", inRegion: "CA"); var firstNumber = localAvailableNumbers.First(); var incomingPhoneNumber = IncomingPhoneNumberResource.Create( phoneNumber: firstNumber.PhoneNumber); Console.WriteLine(incomingPhoneNumber.Sid); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"); const string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN"); TwilioClient.Init(accountSid, authToken); const string nearLatLong = "37.840699,-122.461853"; var localAvailableNumbers = LocalResource.Read("US", nearLatLong: nearLatLong, distance: 50, contains: "555", inRegion: "CA"); var firstNumber = localAvailableNumbers.First(); var incomingPhoneNumber = IncomingPhoneNumberResource.Create( phoneNumber: firstNumber.PhoneNumber); Console.WriteLine(incomingPhoneNumber.Sid); }
public List <string> GetAvailableNumbers(int areaCode) { return(LocalResource.Read("US", areaCode: areaCode, smsEnabled: true, limit: 5).Select(lr => lr.PhoneNumber.ToString()).ToList()); }
public IEnumerable <LocalResource> GetAvailableNumbers(string countryCode, int areaCode) { return(LocalResource.Read(countryCode, areaCode: areaCode, mmsEnabled: true)); }
public List <TextNumber> GetAvailableNumbers(string country, string areaCode) { var availableNumbers = new List <TextNumber>(); TwilioClient.Init(Config.NumberProviderConfig.TwilioAccountSid, Config.NumberProviderConfig.TwilioAuthToken); ResourceSet <LocalResource> numbers; if (country == "US" || country == "CA" || country == "GB") { if (!string.IsNullOrWhiteSpace(areaCode)) { numbers = LocalResource.Read(country, areaCode: int.Parse(areaCode), smsEnabled: true); } else { numbers = LocalResource.Read(country, smsEnabled: true); } if (numbers != null) { foreach (var number in numbers) { var textNumber = new TextNumber(); textNumber.msisdn = number.PhoneNumber.ToString(); textNumber.country = number.IsoCountry; textNumber.Number = number.FriendlyName.ToString(); availableNumbers.Add(textNumber); } } } else { ResourceSet <MobileResource> mobileNumbers; if (!string.IsNullOrWhiteSpace(areaCode)) { mobileNumbers = MobileResource.Read(country, areaCode: int.Parse(areaCode), smsEnabled: true); } else { mobileNumbers = MobileResource.Read(country, smsEnabled: true); } if (mobileNumbers != null) { foreach (var number in mobileNumbers) { var textNumber = new TextNumber(); textNumber.msisdn = number.PhoneNumber.ToString(); textNumber.country = number.IsoCountry; textNumber.Number = number.FriendlyName.ToString(); availableNumbers.Add(textNumber); } } } if (availableNumbers.Count > 10) { return(availableNumbers.Take(10).ToList()); } return(availableNumbers); }