public int ReportAverageWait() { var client = new TwilioRestClient(Queue_Demo.Settings.AccountSid, Queue_Demo.Settings.AuthToken); var queuesResult = client.ListQueues(); if (queuesResult.RestException==null && queuesResult.Queues != null) { var demoqueue = queuesResult.Queues.Where(q => q.FriendlyName == "Demo Queue").FirstOrDefault(); if (demoqueue != null) { var queueSid = demoqueue.Sid; var queue = client.GetQueue(queueSid); var waitTime = queue.AverageWaitTime; Debug.WriteLine(waitTime); return waitTime.Value; } } throw new Exception(); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string AuthToken = "your_auth_token"; var twilio = new TwilioRestClient(AccountSid, AuthToken); var queue = twilio.GetQueue("QU5ef8732a3c49700934481addd5ce1659"); Console.WriteLine(queue.AverageWaitTime); }
public ActionResult LeaveQueue(string QueueSid) { var client = new TwilioRestClient(Queue_Demo.Settings.AccountSid, Queue_Demo.Settings.AuthToken); var queue = client.GetQueue(QueueSid); if (queue.RestException == null) { var context = GlobalHost.ConnectionManager.GetHubContext<Hubs.QueueHub>(); context.Clients.All.reportQueueSize(queue.CurrentSize); } return new EmptyResult(); }
public Queue GetQueue(string id) { var settings = _accountSettings.GetVoiceSettings(); var twilioClient = new TwilioRestClient(settings.AccountSid, settings.AuthToken); var twilioQueue = twilioClient.GetQueue(id); return new Queue { Sid = twilioQueue.Sid, Name = twilioQueue.FriendlyName, Size = twilioQueue.CurrentSize, MaxSize = twilioQueue.MaxSize, AverageWaitTime = twilioQueue.AverageWaitTime }; }
public override void Run() { var client = new TwilioRestClient(Queue_Demo.Settings.accountSid, Queue_Demo.Settings.authToken); var queue = client.ListQueues().Queues.Where(q => q.FriendlyName == "Demo Queue").FirstOrDefault(); if (queue!=null) { var queueSid = queue.Sid; var conn = new HubConnection(Queue_Demo.Settings.hubUrl); var hub = conn.CreateProxy("Queue"); conn.Start(); while (true) { Thread.Sleep(10000); var waitTime = client.GetQueue(queueSid).AverageWaitTime; Debug.WriteLine(waitTime); hub.Invoke("ReportAverageWait", new object[] { waitTime }); } } }