Exemple #1
0
        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
            };
        }
Exemple #5
-1
        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 });
                }
            }
        }