Thanks James,
Let me add some more details. As I have learned so far there are different components in FreePBX like Web interface, Asterisk(possibly AMI somewhere!), Database, some scripts running in background, etc…
I was interested in knowing how they communicate with one another and in which order.
Further, as tonyclewis mentioned here
FreePBX writes everything to database tables. Then when you run the Apply Config from the GUI it takes everything in the database, writes out .conf files and reloads asterisk.
Does FreePBX take all the configuration from the database and write to config files or just the part/s that has/ve been changed on GUI?
I had come across this wiki page, but it explains nothing about the components.
OT, I’m not a web developer and hence asking, is there any way to map FreePBX tables with GUI without going through PHP code?