public string GetQueue(string name) { var queues = twilio.ListQueues(); TwilioProvider.ThrowIfError(queues); return(queues.Queues.Find(r => r.FriendlyName == name).Sid); }
public Queue CreateQueue(string name, int size, string waitUrl, int waitTime) { var queue = twilio.CreateQueue(name); TwilioProvider.ThrowIfError(queue); return(new Queue(queue.Sid, name, size, waitUrl, waitTime)); }
public IEnumerable <string> QueueCalls(string id) { var calls = twilio.ListQueueMembers(id); TwilioProvider.ThrowIfError(calls); return(calls.QueueMembers.Select(r => r.CallSid)); }
public override VoipCall RedirectCall(string callId, string to) { var call = twilio.RedirectCall(callId, Settings.Redirect(to), "GET"); TwilioProvider.ThrowIfError(call); return(new VoipCall { Id = call.Sid, To = to }); }
public Queue CreateQueue(string name, int size, string waitUrl, int waitTime) { var queues = twilio.ListQueues(); var queue = queues.Queues.FirstOrDefault(r => r.FriendlyName == name); if (queue == null) { queue = twilio.CreateQueue(name); TwilioProvider.ThrowIfError(queue); } return(new Queue(queue.Sid, name, size, waitUrl, waitTime)); }
public override VoipCall Call(string to, string contactId = null) { var number = to.Split('#'); var call = twilio.InitiateOutboundCall(new CallOptions { SendDigits = number.Length > 1 ? number[1] + "#" : string.Empty, To = number[0], From = Number, Record = Settings.Caller.Record, Url = Settings.Connect(contactId: contactId) }); TwilioProvider.ThrowIfError(call); return(new VoipCall { Id = call.Sid, From = call.From, To = call.To }); }