Overall Picture and how to write your own module

Hello All,

I was looking for some documentation on how to develop for Asterisk. Looking at the doxygen information only gets you so far. I wanted an example on writing your own module. If I wanted to write my own channel that parsed some new protocol, how would I go about doing this. Is there any documentation like this?

Thank you.