Question: Does Exotel have "origin based routing" feature to route call according to origination point? 

Yes, and the Origin based routing works like this:

If a person calls from Tamil Nadu, send the call to my agents in Chennai (or a group) who can speak Tamil. If it is from Maharashtra, send it to Mumbai (or people who can speak Marathi). 

Point to note:

At this point, it is not possible to identify an origin area that is smaller than a telecom circle. For Example, by using our APIs, it's not possible to identify if the caller is from Pune or Nagpur. All we know is both of them are from Maharasthra. 

Origin-based routing is not available off-the-shelf, but it is possible to create this routing policy by using our APIs. You will also need "App builder" for this solution.

  • Add the names & numbers of people as users in your Exotel account.
  • Introduce a Connect applet in your call flow app, and point it to a URL on your server like this. Read Passthru applet specs to understand what information gets passed on to your server and how.

  • Once the call arrives on your server, Use the Phone number metadata API to identify the circle information. 
  • Based on the circle, return back a comma-separated list of numbers to dial. To achieve this, You will have to maintain a list of numbers, and the circle group they belong to in a database on your side.
  • Exotel does not maintain the state of these numbers, i.e. if another call comes and if your script decides to send the call to the same set of numbers, Exotel will dial them, and if the destination party has call waiting enabled, the caller will hear "The person you are trying to reach is on another call" etc., So user & user's state management is left to you to handle.
  • If you do not have people to write this code, Consider Phone a friend

This completes the Geo-based routing or Origin-based routing with Exotel!

Please feel free to write to or dial 08088-919-888 for any support, We're happy to help!