Caller enters zip code data to be routed, possible?

we would like to use FreePBX Hosting, and we need to allow our inbound callers to key in zip code values to be routed to the correct extension

is this possible?

we don’t need any kind of google map type of feature

rather, we would just fill in zip code values for an extension and then when the inbound caller keys in their zip, then the system would do a lookup and then route to the extension that contains that zip code value

and if no zip value is found, caller is routed to a default extension

we want to offer a national tollfree number but offer services in quite a few zip codes, hence the need to allow callers to enter zip code data


Sure, it’s possible. You’ll have to figure out the zip code to geography relationship, but other than that, it would seem pretty straightforward.

Start with the “Weather by zipcode” app on the server for an example of how you might want to try.


could it be somewhat simpler where we could just enter a set of zip code values for a specific extension? in other words, the system wouldn’t need to understand geography per se, rather a specific extension would have, say, a data field in the db (i guess) for zip values that are for that extension so that extension 123 is responsible for territories defined by zip (sorry if i’m complicating this)

thus, for extension 123, in the zip_code field there could be values like 12345, 12346, 12347, and then if the caller enters 12347, then the caller is routed to extension 123

am i way off thinking this way? (newbie to pbx/freepbx)


ZIP Codes are geographic already, so sending a call to “the first three digits” could only go wrong if you didn’t have 1000 extensions or if you wanted to do regional metro areas. For example, 681 and 680 are both the greater Omaha area, but so is 515 (Council Bluffs, Iowa). So, to handle the “Omaha Call Center”, you’d need three extensions. The ZIP Codes for Long Island, or Los Angeles, or Dallas/Arlington/Fort Worth would be the same. ZIP codes start with “000NN” (up in Maine somewhere), so you’d have to take that into account as well.

You’re not way off in your thinking as far as the PBX goes, but there are so many one-off cases with ZIP codes that doing it that way would end up being a huge PITA.

If you are serious about doing something like this - the first step is to pull the database of all ZIP codes and their “lat/lon center”. Pick a distance from the center of the ZIP and see if you can get the list down to a manageable number of extensions. Like I said eartlier, the Weather by ZIP Code application from PBX In A Flash (and I think we have it in FreePBX as well) would certainly be a good place to start.

If it helps, there are databases available for the latitude/longitude of the center of gravity of each zip-code in the US, (mostly by subscription).

The way that the Bellcore companies compute distance between “wire-centers” is by using a mathematical “least-squares” computation between each and every one.

You can populate your own database to provide the shortest distance between each zip-code/wire-center and the location of your agents and then use perhaps Superfecta to so route calls by your chosen extension derived Zip-code so processed.

That is pretty well the methodology that the big call-centers use.