]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
git-svn-id: http://svn.freeswitch.org/svn/local/src/freeswitch@33 d0543943-73ff-0310...
authorAnthony Minessale <anthony.minessale@gmail.com>
Fri, 18 Nov 2005 19:51:25 +0000 (19:51 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Fri, 18 Nov 2005 19:51:25 +0000 (19:51 +0000)
platform/vsnet/Freeswitch.sln
platform/vsnet/mod_exosip.vcproj
src/include/switch_types.h
src/switch_channel.c
src/switch_loadable_module.c

index 1915492312798ba3d2ea0a7828d1caa39d897b27..1ed99e318557ff1ceacd1efabfd5db821bcdce8e 100644 (file)
@@ -1,3 +1,4 @@
+\r
 Microsoft Visual Studio Solution File, Format Version 9.00\r
 # Visual Studio 2005\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchCoreLib", "FreeSwitchCore.vcproj", "{202D7A4E-760D-4D0E-AFA1-D7459CED30FF}"\r
@@ -12,53 +13,54 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchConsole", "FreeSw
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_bridgecall", "mod_bridgecall.vcproj", "{E1794405-29D4-466D-9BE3-DD2344C2A663}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_softtimer", "mod_softtimer.vcproj", "{DCC13474-28DF-47CA-A8EB-72F8CE9A78C5}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dialplan_demo", "mod_dialplan_demo.vcproj", "{2988EB83-785F-45D4-8731-8E1E4345177E}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_exosip", "mod_exosip.vcproj", "{45DF84ED-D24A-4FF6-B5B0-0A9A5FDB9552}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {85255507-5D16-4218-85E2-F683BB2F04DA} = {85255507-5D16-4218-85E2-F683BB2F04DA}\r
-               {4EA67539-9EE9-4065-BD39-87E517FD8262} = {4EA67539-9EE9-4065-BD39-87E517FD8262}\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
-               {44F46B7E-0E51-4304-9735-330DFBAB41E5} = {44F46B7E-0E51-4304-9735-330DFBAB41E5}\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783} = {E85B3E1F-B671-4E84-9F09-90F61A27D783}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {44F46B7E-0E51-4304-9735-330DFBAB41E5} = {44F46B7E-0E51-4304-9735-330DFBAB41E5}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
+               {4EA67539-9EE9-4065-BD39-87E517FD8262} = {4EA67539-9EE9-4065-BD39-87E517FD8262}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_g711codec", "mod_g711codec.vcproj", "{B1FE4613-3F4B-4DAF-9714-2472BF8F56AE}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_playback", "mod_playback.vcproj", "{78100236-7CEA-4948-96CC-E8ED3160329C}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_rawaudio", "mod_rawaudio.vcproj", "{5844AFE1-AA3E-4BDB-A9EF-119AEF19DF88}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_woomerachan", "mod_woomerachan.vcproj", "{FE3540C5-3303-46E0-A69E-D92F775687F1}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
                {13860EB7-038A-438F-898F-1032E42A5574} = {13860EB7-038A-438F-898F-1032E42A5574}\r
+               {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libapr", "..\..\..\apr\libapr.vcproj", "{13860EB7-038A-438F-898F-1032E42A5574}"\r
@@ -72,7 +74,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "osipparser2", "..\..\..\osi
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "eXosip", "..\..\..\eXosip\platform\vsnet\eXosip.vcproj", "{4EA67539-9EE9-4065-BD39-87E517FD8262}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ccrtp4c", "..\..\..\ccrtp4c\w32\msvc\ccrtp4c.vcproj", "{9ACCBFFD-390A-42F9-BD50-FF84A17A093A}"\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jrtp4c", "..\..\..\jrtp4c\w32\jrtp4c\jrtp4c.vcproj", "{E85B3E1F-B671-4E84-9F09-90F61A27D783}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {4009F58A-E333-424B-A868-7E82804DD055} = {4009F58A-E333-424B-A868-7E82804DD055}\r
+       EndProjectSection\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jthread", "..\..\..\jthread\jthread.vcproj", "{96A714AE-BE53-4EFF-8569-C3809AD4F3B6}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jrtplib", "..\..\..\jrtplib\jrtplib.vcproj", "{4009F58A-E333-424B-A868-7E82804DD055}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6} = {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}\r
+       EndProjectSection\r
 EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
@@ -281,20 +293,48 @@ Global
                {4EA67539-9EE9-4065-BD39-87E517FD8262}.Release IPv6 XP|Win32.Build.0 = Release|Win32\r
                {4EA67539-9EE9-4065-BD39-87E517FD8262}.Release|Win32.ActiveCfg = Release|Win32\r
                {4EA67539-9EE9-4065-BD39-87E517FD8262}.Release|Win32.Build.0 = Release|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug IPv6 MSR|Win32.ActiveCfg = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug IPv6 MSR|Win32.Build.0 = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug IPv6 Musica|Win32.ActiveCfg = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug IPv6 Musica|Win32.Build.0 = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug IPv6 Win2000|Win32.ActiveCfg = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug IPv6 Win2000|Win32.Build.0 = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Release IPv6 Win2000|Win32.ActiveCfg = Release|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Release IPv6 Win2000|Win32.Build.0 = Release|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Release IPv6 XP|Win32.ActiveCfg = Release|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Release IPv6 XP|Win32.Build.0 = Release|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {9ACCBFFD-390A-42F9-BD50-FF84A17A093A}.Release|Win32.Build.0 = Release|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug IPv6 MSR|Win32.ActiveCfg = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug IPv6 MSR|Win32.Build.0 = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug IPv6 Musica|Win32.ActiveCfg = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug IPv6 Musica|Win32.Build.0 = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug IPv6 Win2000|Win32.ActiveCfg = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug IPv6 Win2000|Win32.Build.0 = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Debug|Win32.Build.0 = Debug|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Release IPv6 Win2000|Win32.ActiveCfg = Release|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Release IPv6 Win2000|Win32.Build.0 = Release|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Release IPv6 XP|Win32.ActiveCfg = Release|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Release IPv6 XP|Win32.Build.0 = Release|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Release|Win32.ActiveCfg = Release|Win32\r
+               {E85B3E1F-B671-4E84-9F09-90F61A27D783}.Release|Win32.Build.0 = Release|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug IPv6 MSR|Win32.ActiveCfg = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug IPv6 MSR|Win32.Build.0 = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug IPv6 Musica|Win32.ActiveCfg = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug IPv6 Musica|Win32.Build.0 = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug IPv6 Win2000|Win32.ActiveCfg = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug IPv6 Win2000|Win32.Build.0 = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Debug|Win32.Build.0 = Debug|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Release IPv6 Win2000|Win32.ActiveCfg = Release|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Release IPv6 Win2000|Win32.Build.0 = Release|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Release IPv6 XP|Win32.ActiveCfg = Release|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Release IPv6 XP|Win32.Build.0 = Release|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Release|Win32.ActiveCfg = Release|Win32\r
+               {96A714AE-BE53-4EFF-8569-C3809AD4F3B6}.Release|Win32.Build.0 = Release|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug IPv6 MSR|Win32.ActiveCfg = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug IPv6 MSR|Win32.Build.0 = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug IPv6 Musica|Win32.ActiveCfg = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug IPv6 Musica|Win32.Build.0 = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug IPv6 Win2000|Win32.ActiveCfg = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug IPv6 Win2000|Win32.Build.0 = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Debug|Win32.Build.0 = Debug|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Release IPv6 Win2000|Win32.ActiveCfg = Release|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Release IPv6 Win2000|Win32.Build.0 = Release|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Release IPv6 XP|Win32.ActiveCfg = Release|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Release IPv6 XP|Win32.Build.0 = Release|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Release|Win32.ActiveCfg = Release|Win32\r
+               {4009F58A-E333-424B-A868-7E82804DD055}.Release|Win32.Build.0 = Release|Win32\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 9c7fc0fb81a7c80a2bb9383e6e5d6bb294b47b3b..55fdcdd926a8581538c1943dceea808047cd7bf1 100644 (file)
@@ -42,7 +42,7 @@
                                Name="VCCLCompilerTool"\r
                                AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\..\src\include;&quot;$(InputDir)..\..\..\libs\apr-1.2.2\include&quot;;..\..\..\eXosip\include;..\..\..\osip\include"\r
+                               AdditionalIncludeDirectories="..\..\src\include;&quot;$(InputDir)..\..\..\libs\apr-1.2.2\include&quot;;..\..\..\eXosip\include;..\..\..\osip\include;..\..\..\jrtp4c\src"\r
                                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"\r
                                GeneratePreprocessedFile="0"\r
                                MinimalRebuild="true"\r
@@ -64,7 +64,8 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="Ws2_32.lib Iphlpapi.lib ccrtp4c.lib"\r
+                               AdditionalOptions="/NODEFAULTLIB:LIBCMT"\r
+                               AdditionalDependencies="Ws2_32.lib  Iphlpapi.lib libcpmt.lib"\r
                                ShowProgress="0"\r
                                OutputFile="$(OutDir)/mod/mod_exosip.dll"\r
                                LinkIncremental="2"\r
index fa4d355b99b0057d58f7b0bedf355b9e3992d696..ff0895b7e6e6b9593b4d1cf06f010147183b44bf 100644 (file)
@@ -44,7 +44,7 @@ extern "C" {
 //#include <apr_poll.h>
 //#include <sys/types.h>
 
-#define SWITCH_GLOBAL_VERSION "001"
+#define SWITCH_GLOBAL_VERSION "1.5"
 
 typedef enum {
        SWITCH_STATUS_SUCCESS,
@@ -190,13 +190,13 @@ typedef apr_thread_cond_t switch_thread_cond_t;
 #define SWITCH_READ APR_READ 
 #define SWITCH_FPROT_UREAD APR_FPROT_UREAD
 #define SWITCH_FPROT_GREAD APR_FPROT_GREAD
-\r
-#define switch_thread_cond_create apr_thread_cond_create\r
-#define switch_thread_cond_wait apr_thread_cond_wait\r
-#define switch_thread_cond_timedwait apr_thread_cond_timedwait\r
-#define switch_thread_cond_signal apr_thread_cond_signal\r
-#define switch_thread_cond_broadcast apr_thread_cond_broadcast\r
-#define switch_thread_cond_destroy apr_thread_cond_destroy\r
+
+#define switch_thread_cond_create apr_thread_cond_create
+#define switch_thread_cond_wait apr_thread_cond_wait
+#define switch_thread_cond_timedwait apr_thread_cond_timedwait
+#define switch_thread_cond_signal apr_thread_cond_signal
+#define switch_thread_cond_broadcast apr_thread_cond_broadcast
+#define switch_thread_cond_destroy apr_thread_cond_destroy
 
 #define switch_poll_setup apr_poll_setup
 #define switch_pollset_create apr_pollset_create
index f7028c0cc491140cc99d8d4c7c2fe8a3a0da7432..a53afb4036ff1495b2eecfdbb60710add7854750 100644 (file)
@@ -344,14 +344,19 @@ SWITCH_DECLARE(switch_channel_state) switch_channel_set_state(switch_channel *ch
 
        }
 
+
        if (ok) {
                switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s State Change %s -> %s\n", channel->name, state_names[last_state], state_names[state]);
                channel->state = state;
                pbx_core_session_signal_state_change(channel->session);
        } else {
                switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s Invalid State Change %s -> %s\n", channel->name, state_names[last_state], state_names[state]);
+
                //we won't tolerate an invalid state change so we can make sure we are as robust as a nice cup of dark coffee!
-               assert(0);
+               if (channel->state < CS_HANGUP) {
+                       // not cool lets crash this bad boy and figure out wtf is going on
+                       assert(0);
+               }
        }
        return channel->state;
 }
index ec208d65d0f37c2e165052d7a93d637b9ec88005..c7b603f6271c4a1dc77827532a5c212445396420 100644 (file)
@@ -96,7 +96,6 @@ static switch_status switch_loadable_module_load_file(char *filename, switch_mem
        assert(filename != NULL);
 
        *new_module = NULL;
-
        status = apr_dso_load(&dso, filename, pool);
 
        while (loading) {
@@ -185,6 +184,13 @@ SWITCH_DECLARE(switch_status) switch_loadable_module_init()
        apr_dir_t *module_dir_handle;
        apr_int32_t finfo_flags = APR_FINFO_DIRENT|APR_FINFO_TYPE|APR_FINFO_NAME;
        switch_loadable_module *new_module;
+#ifdef WIN32
+       const char *ext = ".dll";
+       const char *EXT = ".DLL";
+#else
+       const char *ext = ".so";
+       const char *EXT = ".SO";
+#endif
 
        memset(&loadable_modules, 0, sizeof(loadable_modules));
        switch_core_new_memory_pool(&loadable_modules.pool);
@@ -215,6 +221,11 @@ SWITCH_DECLARE(switch_status) switch_loadable_module_init()
                if (!(ptr = (char *) fname)) {
                        continue;
                }
+       
+               if (!strstr(fname, ext) && !strstr(fname, EXT)) {
+                       continue;
+               }
+
 
                len = strlen(SWITCH_MOD_DIR) + strlen(fname) + 3;
                file = (char *) switch_core_alloc(loadable_modules.pool, len);