How do I get the time a call waited in MS Teams Call Queue before answered by an agent?
Any suggestions will help!
Thanks
Related
I have plans to implement re-delivery delay, re-delivery counts and dead letter queue using solace.
The idea is, if the message is not ack-ed 5 times, put it to the dead letter queue. However, I want to spread those 5 retries over a span of time.
I didn't see any documentation around re-delivery delay on the solace website.
Did I miss something? Is this feature not there? Or, is there some equivalent?
Messages will be redelivered only when the consumer unbinds from the queue, or if you using JMS, when session.recover() is called.
You could implement your own application logic to unbind the consumer after a delay and set the max-redelivery value on the queue to 5.
Is it possible to and how can we configure the wrap up time an agent sees after they end a call? At the moment, the agent has to manually "complete" a call. Is there any way we can time that out?
My agents asked me to disable wrap up phase of task. Try to use Event call back of taskrouter workspace, and send task update events to tilio function. Then update task to closed state. If you need to set timeout - keep in mind, that twilio function timeout is 10 seconds.
we have wrap up of 30s configured and sometimes our agent are getting stuck at wrap-up state. Not sure why they haven't given an option to set up wrap up state out of the box like most contact centers have. Some of the things in twilio flex doesn't make sense.
I followed the guide in Delphi Labs: Datasnap XE - Callbacks ,
Callbacks seems to work good. Yet, leaving the client sides idle for more than a hour -- seems to cause clients callbacks stop working. I changed the server DSTCPServerTransport.KeepAliveEnabled, .KeepAliveInterval, .KeepAliveTime -- but it didn't help in any way.
Does anyone know how can I keep the clients connected overtime?
1: https://edn.embarcadero.com/article/41374
I also use Datasnap callbacks in several applications. My solution was to setup a timer that measures how long it takes for a specific message (eg '*ping') that was sent using BroadCastToChannel to be received by a registered callback on the same channel in the same application. I allow for 5 seconds in a mobile application, and if the echo of my ping isn't received in that time, I assume my callback isn't working anymore. I do what I call "recycle the callback". That is, I de-register the previous callback (causes no errors if it fails) and register a new one (my callback id's are timestamp based so they are all unique). My "ping timer" runs on 1 minute intervals which is often-enough for my application(s). This solution would be a lot of code to present here, so I hope my description will help you find a solution that works for you. Ask questions if you're unsure.
I have an application that is not allowed to call people after 8 PM (TCPA). I push calls in batch. Twilio makes 1 call per second roughly. I want to prevent twilio from accidentally pushing calls after 8 PM local time to the area code called.
What is the approach to do this?
Twilio developer evangelist here.
I'm afraid Twilio doesn't have anything "out of the box" that can help you there. Twilio will continue to make all the calls that you have pushed to it.
You could keep a record of all the calls that you have pushed, you receive the call SID in the response to creating a call, and then as it comes close to your cutoff time for those calls, send requests to cancel them.
Alternatively, rather than sending the calls to Twilio in large batches, why not use smaller batches that you can more easily estimate the time they will take to be sent and then stop sending calls for those areas at the right time. For example, if you sent calls in batches of 60, you can be reasonably sure they will take 60 seconds for all of them to be made. You can then stop sending calls at 7:59pm.
I've looked at the BB API(5.0) and I can't find any way of serially executing a batch of threads. I know BB has a limit on the number of threads it will launch, so I don't want to launch 7 if the user clicks through things fast enough but I cannot find anything like a thread pool.
Is there an easy fix for this or do I have to create a data structure?
If you just want to execute a bunch of tasks on a single thread serially and order isn't important, you could create a Timer object (which has its own thread) then add each task to it as a TimerTask. If you schedule it with a delay of 0 or 1, it will essentially run that task as soon as possible. And since a Timer only has a single thread, if you schedule multiple tasks concurrently, it will ensure that only one will run at a time.
Incidentally, I was talking to a RIM engineer at the BlackBerry Developer Conference this year and he said that as of OS 5.0 there are no longer limits to the number of threads -- so this is becoming less and less of a concern.
I've tested Jeff Heaton's Thread Pool example on 4.5 and it works. (http://www.informit.com/articles/article.aspx?p=30483&seqNum=1).