From 8118579c7e47c748dce727dba01ebd4ad212c59f Mon Sep 17 00:00:00 2001 From: Thomas Ries Date: Thu, 21 May 2009 12:55:04 +0000 Subject: [PATCH] - Updated the documentation (plugin related stuff) - fixed a DEBUG pattern in proxy.c --- ChangeLog | 1 + doc/siproxd.conf.example | 14 +++++++------- doc/siproxd_guide.sgml | 29 +++++++++++++++++++++++++++++ src/proxy.c | 5 +++-- 4 files changed, 40 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4385c41..c4c4de2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 0.7.2 ===== + 21-May-2009: - Updated the documentation (plugin related stuff) 24-Mar-2009: - allow the usage of @ in shortdial entries to call other users on other sip networks (patch by Andreas) - revised rpmbuild (SPEC file and some Makefiles) diff --git a/doc/siproxd.conf.example b/doc/siproxd.conf.example index c77008a..b3d7023 100644 --- a/doc/siproxd.conf.example +++ b/doc/siproxd.conf.example @@ -292,14 +292,14 @@ debug_port = 0 # the processing order is given by the load order. # # plugin_dir: MUST be terminated with '/' -plugindir=/home/hb9xar/src/siproxd/src/.libs/ +plugindir=/usr/lib/siproxd/ # -# List of plugins to load: -#load_plugin=plugin_demo.so -#load_plugin=plugin_shortdial.so -load_plugin=plugin_logcall.so -#load_plugin=plugin_defaulttarget.so -#load_plugin=plugin_fix_bogus_via.so +# List of plugins to load. MUST use the .la file extension! +#load_plugin=plugin_demo.la +#load_plugin=plugin_shortdial.la +load_plugin=plugin_logcall.la +#load_plugin=plugin_defaulttarget.la +#load_plugin=plugin_fix_bogus_via.la ###################################################################### diff --git a/doc/siproxd_guide.sgml b/doc/siproxd_guide.sgml index f1a14a8..eb831cb 100644 --- a/doc/siproxd_guide.sgml +++ b/doc/siproxd_guide.sgml @@ -463,6 +463,32 @@ debug_port = 0 #outbound_domain_name = freenet.de #outbound_domain_host = proxy.for.domain.freende.de #outbound_domain_port = 5060 + + + Siproxd supports dynamic loadable plug-ins. Such plug-ins + are loaded during runtime and do not require recompilation + of the executable. This allows the easy addition of specific + functionality to siproxd. Even 3rd party functional extensions + are possible without the requirement to patch and rebuild the + siproxd source code with each new release. + Note: Dynamic loading of shared libraries is not supported + on all platforms. If a platform does not support it, plug-ins + can still be used but they will be statically linked during + the build process of siproxd. The configuration ("loading" the + plugins) is identical. + For more information on this topic you may familiarize yourself + with libltdl. + + Note: As the plug-in mechanism uses LTDL, the plugins to load + MUST use a .la extension and not an .so extension! Trying to load an + plugin using xxx.so as it's name will fail. + +# plugin_dir: MUST be terminated with '/' +plugindir=/usr/lib/siproxd/ + +# List of plugins to load: +#load_plugin=plugin_demo.la +load_plugin=plugin_logcall.la @@ -621,6 +647,9 @@ int PLUGIN_END(plugin_def_t *plugin_def){ Incoming calls to a non-existing UA are redirected to a specific target (catch-all). + plugin_fix_bogus_via + Fixes broken VIA headers on incoming calls. + Some of the plug-ins are described in more detail in the following chapters. diff --git a/src/proxy.c b/src/proxy.c index eab1ba1..26d0b7d 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -800,8 +800,9 @@ int proxy_rewrite_invitation_body(sip_ticket_t *ticket, int direction){ return STS_FAILURE; } - DEBUGC(-1, "rewrite_invitation_body: payload %ld bytes", (long)buflen); - DUMP_BUFFER(-1, buff, buflen); + DEBUGC(DBCLASS_PROXY, "rewrite_invitation_body: payload %ld bytes", + (long)buflen); + DUMP_BUFFER(DBCLASS_PROXY, buff, buflen); sts = sdp_message_init(&sdp); sts = sdp_message_parse (sdp, buff);