1 Asterisk applications register themselves with ast_application_register.
2 They should have a short, unique name, and an exec function which takes
3 as its arguments a channel and some data that might be useful for callback
4 stuff. Remember to keep track of how many and which channels are using
5 your application so that should the module need to be unloaded
6 (particularly force unloaded), you will be able to ast_softhangup all the
7 channels. An application should *never* call ast_hangup on the channel
8 that it is running on (although it could conceivably hang up other
9 channels that it allocates). See app_playback.c as an example of a simple