Thanks Daniel for quick response.
Could you please be more specific on how to extend "sdpops_api_t" structure?
I've never done it so little help will be appreciated.
On Fri, May 8, 2015 at 4:42 PM, Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
On a quick look, sdpops already exposes a function
via api -- see
modules/sdpops/api.h. So most of the needed things are there, you just need
to extend the sdpops_api_t structure and bind_sdpops(...) function to set
the new field to the function pointer.
Cheers,
Daniel
On 08/05/15 16:37, Daniel-Constantin Mierla wrote:
Hello,
practically you want to call a function from another compiled object (like
from a library). The way to do it is to expose the function you want via an
API structure and then bind to this module from your module. This is quite
common practice in kamailio -- for example, a lot of modules connect to tm
module to use its functions.
You can look at sl module how it exports some of its functions (the
structure sl_api_t and the function sl_load_api) and then at registrar
module to see how it bind and uses the api from sl module.
Cheers,
Daniel
On 08/05/15 16:07, Cockhootec Yahrabee wrote:
Hi guys,
I found this very useful function in `sdpops` module which I want to use
within my own module but I cannot find out how to forward its declaration
correctly so I can use it in my module.
Since `sdpops` has not defined it's functions within .h file I am just
simply forward declaring function I want to use in my .h file like this:
int sdp_remove_codecs_by_name(sip_msg_t* msg, str* codecs);
And then I just calling it within my function. I can compile it and linker
won't give me any errors but when I am running Kamailio it says that I have
error in config file which is obviously not true because if I comment code
which uses forward declared function kamailio runs without errors.
Kamailio log (when using forwarded declaration of sdpops function):
0(23096) DEBUG: <core> [route_struct.c:129]: mk_action(): ACTION_#2
#0/2: 3(3)/ 0x1
0(23096) DEBUG: <core> [route_struct.c:129]: mk_action(): ACTION_#2 #1/2:
3(3)/ 0x1
0(23096) DEBUG: <core> [route_struct.c:129]: mk_action(): ACTION_#16
#0/3: 22(16)/ 0x7f115fcfa898
0(23096) DEBUG: <core> [route_struct.c:129]: mk_action(): ACTION_#16
#1/3: 8(8)/ 0x7f115fcfaf98
0(23096) DEBUG: <core> [route_struct.c:129]: mk_action(): ACTION_#16
#2/3: 0(0)/ 0x7f1100000000
0(23096) DEBUG: <core> [route.c:129]: route_add(): mapping routing block
(0xa84a40)[MANAGE_FAILURE] to 1
ERROR: bad config file (1 errors)
0(23096) DEBUG: <core> [ppcfg.c:224]: pp_ifdef_level_check(): same number
of pairing preprocessor directives #!IF[N]DEF - #!ENDIF
0(23096) DEBUG: tm [t_funcs.c:85]: tm_shutdown(): DEBUG: tm_shutdown :
start
0(23096) DEBUG: tm [t_funcs.c:88]: tm_shutdown(): DEBUG: tm_shutdown :
emptying hash table
0(23096) DEBUG: tm [t_funcs.c:90]: tm_shutdown(): DEBUG: tm_shutdown :
removing semaphores
0(23096) DEBUG: tm [t_funcs.c:92]: tm_shutdown(): DEBUG: tm_shutdown :
destroying tmcb lists
0(23096) DEBUG: tm [t_funcs.c:95]: tm_shutdown(): DEBUG: tm_shutdown :
done
0(23096) DEBUG: <core> [mem/shm_mem.c:242]: shm_mem_destroy():
shm_mem_destroy
0(23096) DEBUG: <core> [mem/shm_mem.c:245]: shm_mem_destroy(): destroying
the shared memory lock
Did anybody resolved this issue? All help is appreciated.
_______________________________________________
sr-dev mailing
listsr-dev@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
Daniel-Constantin
Mierlahttp://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany -
http://www.kamailioworld.com
--
Daniel-Constantin
Mierlahttp://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany -
http://www.kamailioworld.com
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev