[SR-Users] Reg. shared library linking during compiling time
Daniel-Constantin Mierla
miconda at gmail.com
Fri Feb 8 09:36:01 CET 2013
Hello,
some guidelines to write a new module are available at:
- http://www.asipto.com/pub/kamailio-devel-guide/#c16_devel_new_module
Cheers,
Daniel
On 2/8/13 8:06 AM, kiran bhosale wrote:
> madhumanjusha at integramicro.com wrote:
>> Hello All,
>> Please find below steps...and kindly let me know the error solution.
>>
>> STEP 1::
>> Under modules I created a directory name b2bentities
>> /root/kamailio-3.3.2/modules/b2bentities
>> $ls
>> b2bentities.so b2b_server.c b2b_server.d b2b_server.h b2b_server.o
>> dialog.h librpath.lst makecfg.lst Makefile
>>
>> In b2b_server.h
>> #ifndef SERVER_H
>> #define SERVER_H
>> #endif
>>
>> int b2b_dlg_reply();
>>
>>
>>
>> In b2b_server.c I wrote following code ::
>>
>> int b2b_dlg_reply()
>> {
>> LOG(L_INFO,"Hello am in b2bua module\n");
>> return 0;
>> }
>>
>> Also,I added below code to the same file as per steps given in kamailio
>> server's developer's guide.
>> In developer's guide,they told to initialize parameters as per module's
>> requirement but i made them all empty and null...
>> for example
>> static int mod_init(void)
>> {
>> LOG(L_INFO,"IN mod_init\n");
>> return 0;
>> }
>>
>> static cmd_export_t commands[] = {
>> };
>>
>>
>> static param_export_t params[]={
>> };
>>
>> struct module_exports exports = {
>> "b2bentities", // module name
>> NULL, // dlopen flags
>> commands, // exported functions
>> params, // exported parameters
>> NULL, // exported statistics
>> NULL, // exported MI functions
>> NULL, // exported pseudo-variables
>> NULL, // extra processes
>> mod_init, // module init function (before fork. kids will
>> inherit)
>> NULL, // reply processing function
>> NULL, // destroy function
>> child_init // child init function
>> };
>>
>>
>> STEP 2::
>> In kamailio core
>> file : In receive.c
>> Method Name : In receive_msg
>>
>> i did this way...
>>
>> In receive.c add follow piece of code::
>>
>> #include "modules/b2bentities/b2b_server.h"
>>
>> int receive_msg(....)
>> {
>> /*my code*/
>> int b2b_ret;
>> int (*ptr)();
>> ptr= b2b_dlg_reply;
>> if(msg->REQ_METHOD!=METHOD_REGISTER)
>> {
>>
>> b2b_ret=(*ptr)();
>> if(b2b_ret!=0)
>> {
>> LOG(L_INFO,"B2B Dialogue reply function
>> failed\n");
>> exit(1);
>> }
>> else
>> {
>> LOG(L_INFO,"B2B Dialogue reply function
>> success\n");
>> exit(1);
>> }
>>
>> }
>>
>>
>> }
>>
>> STEP 3::
>> I even added kamailio.cfg load module "b2bentities.so"
>>
>>
>>
>> STEP 4::
>> Final step,when I do make all.....
>> its giving me the following error ::
>> [root at kamserver kamailio-3.3.2]# make all
>> CC (gcc) [kamailio] receive.o
>> LD (gcc) [kamailio] kamailio
>> receive.o: In function `receive_msg':
>> /root/kamailio-3.3.2/receive.c:163: undefined reference to
>> `b2b_dlg_reply'
>> collect2: ld returned 1 exit status
>> make: *** [kamailio] Error 1
>>
>>
>>
>> My doubt:
>> Where should my b2bentities.so should be linked during compiling time?
>> Please tell me the steps for it.
>>
>> Thanks & Regards,
>> Manjusha A.
>> Integra Micro Software Services (P) Ltd.
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
> seems that you want to create your custom module. have you checked the
> makefile of your module. in order to develop the custom module just
> copy the existing module and make relevant changes there. this is
> genuine way . for this u need to include makefile.lst ,Makefile in
> your module. so best way is to copy the smallest module (e.g.) pdb
> module and make changes.
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
- http://conference.kamailio.com -
More information about the sr-users
mailing list