When there are a lot of Passthrus on your call app, there is a distinct possibility that your callers might have to wait more on call. 

The reason is that for each Passthru, Exotel will make an HTTP GET request to your server, and wait for a response from your end. In case your server does some processing like storing it in a database or calling some other services (like CRM services in turn), the response to Exotel will get delayed. 

However, if in case your call logic doesn't depend on the response from your CRM, you can select the "Make Passthru Async" option in the applet. Upon selecting this, our system will not wait for a response but will continue on the call logic, thus, there will be no delay on the calls.

How to find out?

Please log all HTTP requests coming from Exotel to your Passthru URL and keep logging how long they take. By periodically monitoring the average processing times at your end, you will be able to detect any increase in processing times. 

How to design your Passthru HTTP endpoint?
Ideally, make sure that any processing you do is asynchronous. For example - as soon as you get an HTTP GET request from Exotel, enqueue it to some queue and return an HTTP '200 OK' back to Exotel as soon as possible. In the background, dequeue the messages and do whatever you need to do - like updating your database, informing your CRM system, etc. This way, Exotel can get back to processing the next part of your app and your callers will not be waiting for long. 

Contact us: If you have any questions or concerns, please connect with us using the chat widget on your Exotel Dashboard or Whatsapp us at 08088919888.