When there are a lot of Passthrus in your call app, there is a distinct possibility that your callers will have to wait more on call.
The reason is - 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, calling some other services (like CRM services in turn), the response to Exotel will get delayed.
However, in case your call logic does not 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, not delaying 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.
Support contact details: