Beispiel #1
0
        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);
        }
Beispiel #2
0
    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);

        IncomingPhoneNumberResource.Delete(pathSid: "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
    }
Beispiel #3
0
        public static void DeleteNumber(string phoneSID)
        {
            var accountSid = ConfigUtil.GetEnvironmentVariable("accountSid");
            var authToken  = ConfigUtil.GetEnvironmentVariable("authToken");

            TwilioClient.Init(accountSid, authToken);

            IncomingPhoneNumberResource.Delete(
                pathSid: phoneSID
                );
        }
        public void TestDeleteResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.NoContent,
                         "null"
                         ));

            var response = IncomingPhoneNumberResource.Delete("PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestDeleteRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Delete,
                Twilio.Rest.Domain.Api,
                "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json",
                ""
                );

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content"));

            try
            {
                IncomingPhoneNumberResource.Delete("PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);
                Assert.Fail("Expected TwilioException to be thrown for 500");
            }
            catch (ApiException) {}
            twilioRestClient.Received().Request(request);
        }
        public async Task <ActionResult <PhoneDetail> > ReleaseNumber(PhoneDetail phone)
        {
            TwilioClient.Init("28361e6c-85b8-40f5-bde1-bfc8cf68a96c", "PT65bfa7479efd98c38f525e7c352277e70aff63ef22f4e8be", new Dictionary <string, object> {
                ["signalwireSpaceUrl"] = "manish.signalwire.com"
            });
            try
            {
                IncomingPhoneNumberResource.Delete(pathSid: phone.PhoneSid);
            }
            catch (Exception err)
            {
                Console.WriteLine(err);
            }

            //Remove from context
            var newResult = await _context.PhoneDetails.Where(a => (a.PhoneSid == phone.PhoneSid)).FirstAsync();

            _context.PhoneDetails.Remove(newResult);
            await _context.SaveChangesAsync();

            return(Ok());
        }
Beispiel #7
0
 public VoipPhone DeleteNumber(VoipPhone phone)
 {
     IncomingPhoneNumberResource.Delete(phone.Id, client: client);
     return(phone);
 }
Beispiel #8
0
        private static void IncomingPhoneNumberResourceInfo()
        {
            TwilioClient.Init(Properties.Settings.Default.TwilioAccountSid, Properties.Settings.Default.TwilioAuthToken);
            var type = new List <string> {
                "carrier"
            };

            var incomingPhoneNumbers = IncomingPhoneNumberResource.Read(limit: 300).ToList();
            var TwilioNumber         = new List <TwilioNumbersTable>();

            TwilioNumber = _DBb.TwilioNumbersTable.ToList();

            //match twilio table number with api number not to delete tham
            int inde = 1;

            Console.WriteLine("===============Matched Number with API number with Our Account===============");
            TwilioNumber.ForEach(x =>
            {
                var number = incomingPhoneNumbers.Where(n => n.PhoneNumber.ToString() == x.MobilePhoneNumber).FirstOrDefault();
                Console.WriteLine(inde + ": API Number Count=" + incomingPhoneNumbers.Count());
                if (number != null)
                {
                    Console.WriteLine("API-Number= " + number.PhoneNumber.ToString() + " vs " + "Local table Number= " + x.MobilePhoneNumber);
                    incomingPhoneNumbers.Remove(number);
                }
                else
                {
                    Console.WriteLine(x.MobilePhoneNumber + " Does not Exit");
                    try
                    {
                        var liasion = _DBb.Liaisons.Where(l => l.TwilioNumbersTableId == x.Id).FirstOrDefault();
                        if (liasion != null)
                        {
                            Console.WriteLine("Liasion ID= " + liasion.Id + "  Name= " + liasion.LastName + liasion.FirstName + "IsTranslator=" + liasion.IsTranslator);
                            liasion.TwilioNumbersTableId = null;
                            _DBb.SaveChanges();
                        }
                        else
                        {
                            Console.WriteLine("No Liasion Found");
                        }
                        _DBb.TwilioNumbersTable.Remove(x);
                        _DBb.SaveChanges();
                        Console.WriteLine(x.MobilePhoneNumber + "=> Number Deleted Successfully from Local Table");
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }

                Console.WriteLine("==============================");
                inde++;
            });

            //delete unmatch number from twilio account
            Console.WriteLine("===============Un Matched Number only available on API with Our Account===============");
            Console.WriteLine(incomingPhoneNumbers.Count().ToString());
            incomingPhoneNumbers.ForEach(x =>
            {
                Console.WriteLine(x.FriendlyName);
                Console.WriteLine(x.PhoneNumber);
                Console.WriteLine(x.Sid);
                Console.WriteLine(x.DateCreated);
                Console.WriteLine(x.DateUpdated);
                Console.WriteLine(x.Uri);
                try
                {
                    IncomingPhoneNumberResource.Delete(pathSid: x.Sid);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });
        }