Database driven dial plans

Hi, I am in the process on getting up to scratch with asterisk. Never touched telephony before. I have a question which I am hoping has a relatively simple answer. Is it possible to have an entirely database driven(dynamic realtime) dialplan? I need to provide users the ability to dynamically change things (within reason of course) from a web app. I have used the AMI (asterisk-java api) to update to the config files as a POC but I would expect that to have dynamic data like a dial plan managed in a DB would be a better option if its possible.
I have read “Asterisk, the Definitive Guide” from cover to cover (a few times now). As enlightning as it it, the one thing that’s not clear to me is whether is possible or even recommended to configure the channel and dialplan data purely in a DB.

I would appreciate any advice people can offer.


You could use a cron job to execute a perl script which reads dial plan details from a database, prints them to extensions.conf and then reloads the dial plan.

You could also do it in a way that it only reloads the dial plan when an actual change has been made.

What are building?