mirror of https://github.com/asterisk/asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6 65c4cc65-6c06-0410-ace0-fbb531ad65f31.0
parent
cff798a152
commit
7a69ef3237
@ -0,0 +1,10 @@
|
||||
Asterisk applications register themselves with ast_application_register.
|
||||
They should have a short, unique name, and an exec function which takes
|
||||
as its arguments a channel and some data that might be useful for callback
|
||||
stuff. Remember to keep track of how many and which channels are using
|
||||
your application so that should the module need to be unloaded
|
||||
(particularly force unloaded), you will be able to ast_softhangup all the
|
||||
channels. An application should *never* call ast_hangup on the channel
|
||||
that it is running on (although it could conceivably hang up other
|
||||
channels that it allocates). See app_playback.c as an example of a simple
|
||||
application.
|
@ -0,0 +1,26 @@
|
||||
All modules must have at least the following functions:
|
||||
|
||||
int load_module():
|
||||
|
||||
Do what you need to do when you get started. This function
|
||||
returns 0 on sucess and non-zero on failure (it is not considered loaded
|
||||
if it failes.
|
||||
|
||||
int unload_module():
|
||||
|
||||
The module will soon be unloaded. If any channels are using your
|
||||
features, you should give them a softhangup in an effort to keep the
|
||||
program from crashing. Generally, unload_module is only called when the
|
||||
usecount is 0 or less, but the user can force unloading at their
|
||||
discression, and thus a module should do its best to comply (although in
|
||||
some cases there may be no way to avoid a crash). This function should
|
||||
return 0 on success and non-zero on failure (i.e. it cannot yet be
|
||||
unloaded).
|
||||
|
||||
char *description():
|
||||
|
||||
Return a description of the module's functionality.
|
||||
|
||||
int usecnt():
|
||||
|
||||
Return the number of channels, etc that are using you.
|
Loading…
Reference in new issue