public async Task <Call> CreateIncomingCall(string from, string to, string url, string method) { var call = new Call() { AccountSid = AccountRepository.GetAccountSid(), DateCreated = DateTime.UtcNow, DateUpdated = DateTime.UtcNow, Direction = "inbound", From = from, PhoneNumberSid = await AccountRepository.GetPhoneNumberSid(to), Sid = TwilioUtils.CreateSid("CA"), Status = "ringing", To = to }; await CallRepository.CreateCall(call); CallCudOperation?.Invoke(this, new ResourceCudOperationEventArgs <Call>(call, ResourceCudOperation.Create)); CallHandler(url, method, call.Sid); return(call); }
public async Task <Call> CreateCall(string accountSid, string apiVersion, string from, string method, string to, string url) { var call = new Call() { AccountSid = accountSid, ApiVersion = apiVersion, DateCreated = DateTime.UtcNow, DateUpdated = DateTime.UtcNow, Direction = "outbound-api", From = from, PhoneNumberSid = await AccountRepository.GetPhoneNumberSid(from), Sid = TwilioUtils.CreateSid("CA"), Status = "queued", To = to }; await CallRepository.CreateCall(call); CallCudOperation?.Invoke(this, new ResourceCudOperationEventArgs <Call>(call, ResourceCudOperation.Create)); CallHandler(url, method, call.Sid); return(call); }
public Task <string> GetPhoneNumberSid(string phoneNumber) => Task.FromResult(PhoneNumberSids.GetOrAdd(phoneNumber, (_) => TwilioUtils.CreateSid("PN")));
public AccountRepository(string accountSid = null) { AccountSid = accountSid ?? TwilioUtils.CreateSid("AC"); }