[OpenSER-Devel] Skeleton Module
Daniel-Constantin Mierla
daniel at voice-system.ro
Mon Dec 3 21:47:45 UTC 2007
Hello,
set debug=7, log_stderror=yes in config file and send the output here.
Shall give some hints about the problems.
Cheers,
Daniel
On 12/03/07 23:28, Daniel Corbe wrote:
> I'm having issues with a "skeletal" module, and the openser core
> refuses to start when I have it "load"ed in my config file. Not sure
> why, and I could use a bit of direction from the rest of the list.
>
> It compiles
>
> -Daniel
>
> -- Cut Here --
>
> #include "../../sr_module.h"
>
>
> static int mod_init(void);
>
> static void mod_destroy(void);
>
> static int child_init(int);
>
> static int pagemod_test(struct sip_msg *msg);
>
>
> /* SER exports */
>
> static cmd_export_t cmds[]=
>
> {
>
> {"test", pagemod_test, 0, 0, REQUEST_ROUTE | FAILURE_ROUTE |
> ONREPLY_ROUTE | BRANCH_ROUTE },
>
> {0, 0, 0, 0, 0}
>
> };
>
>
>
> /*
>
> * Script parameters
>
> */
>
> static param_export_t mod_params[]=
>
> {
>
> {0, 0, 0}
>
> };
>
>
>
> /*
>
> * Export the statistics we have
>
> */
>
> static stat_export_t mod_stats[] =
>
> {
>
> {0, 0, 0}
>
> };
>
>
> struct module_exports exports =
>
> {
>
> "page" , /* module's name */
>
> cmds,
> /* exported functions */
>
> mod_params,
> /* param exports */
>
> mod_stats,
> /* exported statistics */
>
> mod_init,
> /* module initialization function */
>
> 0 , /* reply processing function FIXME Not sure when this is used */
>
> mod_destroy,
> /* Destroy function */
>
> child_init
> /* per-child init function */
>
> };
>
>
> MODULE_VERSION
>
> /*
>
> * Script commands we export.
>
> */
>
>
>
>
>
> /**
>
> * @return 0 to continue to load the OpenSER, -1 to stop the loading
>
> * and abort OpenSER.
>
> */
>
> static int mod_init(void)
>
> {
>
> int result = 0;
>
>
> return(result);
>
> }
>
>
>
> /**
>
> * Called only once when OpenSER is shuting down to clean up module
>
> * resources.
>
> */
>
> static void mod_destroy()
>
> {
>
> LOG(L_NOTICE, "Starting Up\n");
>
> return;
>
> }
>
>
>
> /**
>
> * The rank will be o for the main process calling this function,
>
> * or 1 through n for each listener process. The rank can have a negative
>
> * value if it is a special process calling the child init function.
>
> * Other then the listeners, the rank will equal one of these values:
>
> * PROC_MAIN 0 Main ser process
>
> * PROC_TIMER -1 Timer attendant process
>
> * PROC_FIFO -2 FIFO attendant process
>
> * PROC_TCP_MAIN -4 TCP main process
>
> * PROC_UNIXSOCK -5 Unix domain socket server processes
>
> *
>
> * If this function returns a nonzero value the loading of OpenSER will
>
> * stop.
>
> */
>
> static int child_init(int rank)
>
> {
>
> int result = 0;
>
>
> LOG(L_NOTICE, "Starting Child\n" );
>
>
>
> return(result);
>
> }
>
>
> static int pagemod_test(struct sip_msg *msg)
>
> {
>
> LOG(L_NOTICE, "Testing 1 2 3\n");
>
> }
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Devel mailing list
> Devel at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/devel
>
More information about the Devel
mailing list