How does it work?

A quick question;

How does FreePBX actually work?

For example, if I wanted to create my own little PHP script to create extentions (so family could sign up, etc) would it be difficult?

It is just parsing and rewriting the .conf files?

Also - How accurate is the call log?

Thanks for your help! Great product too! Thanks heaps