diff --git a/libs/libblade/libblade.sln b/libs/libblade/libblade.sln
index 9237f02166..6734649a7e 100644
--- a/libs/libblade/libblade.sln
+++ b/libs/libblade/libblade.sln
@@ -31,6 +31,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openssl", "..\win32\openssl
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "civetweb", "..\win32\civetweb\civetweb.2015.vcxproj", "{1FAAE8B0-C134-436D-9B13-74C16517FC03}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download libconfig", "..\win32\Download libconfig.2015.vcxproj", "{4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download libsodium", "..\win32\Download libsodium.2015.vcxproj", "{96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download civetweb", "..\win32\Download civetweb.2015.vcxproj", "{B9B7455D-F109-42BD-AD0A-98489B53FCF3}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -267,6 +273,54 @@ Global
{1FAAE8B0-C134-436D-9B13-74C16517FC03}.ReleaseDLL|x64.Build.0 = Release|x64
{1FAAE8B0-C134-436D-9B13-74C16517FC03}.ReleaseDLL|x86.ActiveCfg = Release|Win32
{1FAAE8B0-C134-436D-9B13-74C16517FC03}.ReleaseDLL|x86.Build.0 = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Debug|x64.ActiveCfg = Debug|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Debug|x64.Build.0 = Debug|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Debug|x86.ActiveCfg = Debug|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Debug|x86.Build.0 = Debug|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.DebugDLL|x64.ActiveCfg = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.DebugDLL|x64.Build.0 = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.DebugDLL|x86.ActiveCfg = Debug|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.DebugDLL|x86.Build.0 = Debug|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Release|x64.ActiveCfg = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Release|x64.Build.0 = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Release|x86.ActiveCfg = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.Release|x86.Build.0 = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.ReleaseDLL|x64.ActiveCfg = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.ReleaseDLL|x64.Build.0 = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}.ReleaseDLL|x86.Build.0 = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Debug|x64.ActiveCfg = Debug|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Debug|x64.Build.0 = Debug|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Debug|x86.ActiveCfg = Debug|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Debug|x86.Build.0 = Debug|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.DebugDLL|x64.ActiveCfg = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.DebugDLL|x64.Build.0 = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.DebugDLL|x86.ActiveCfg = Debug|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.DebugDLL|x86.Build.0 = Debug|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Release|x64.ActiveCfg = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Release|x64.Build.0 = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Release|x86.ActiveCfg = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.Release|x86.Build.0 = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.ReleaseDLL|x64.ActiveCfg = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.ReleaseDLL|x64.Build.0 = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}.ReleaseDLL|x86.Build.0 = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Debug|x64.ActiveCfg = Debug|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Debug|x64.Build.0 = Debug|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Debug|x86.ActiveCfg = Debug|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Debug|x86.Build.0 = Debug|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.DebugDLL|x64.ActiveCfg = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.DebugDLL|x64.Build.0 = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.DebugDLL|x86.ActiveCfg = Debug|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.DebugDLL|x86.Build.0 = Debug|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Release|x64.ActiveCfg = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Release|x64.Build.0 = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Release|x86.ActiveCfg = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.Release|x86.Build.0 = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.ReleaseDLL|x64.ActiveCfg = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.ReleaseDLL|x64.Build.0 = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.ReleaseDLL|x86.ActiveCfg = Release|Win32
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}.ReleaseDLL|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/libs/win32/Download civetweb.2015.vcxproj b/libs/win32/Download civetweb.2015.vcxproj
new file mode 100644
index 0000000000..74e7a85688
--- /dev/null
+++ b/libs/win32/Download civetweb.2015.vcxproj
@@ -0,0 +1,85 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ Download civetweb
+ Download civetweb
+ Win32Proj
+ {B9B7455D-F109-42BD-AD0A-98489B53FCF3}
+
+
+
+ Utility
+ MultiByte
+ v140
+
+
+ Utility
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(PlatformName)\libconfig\$(Configuration)\
+ $(PlatformName)\libconfig\$(Configuration)\
+
+
+
+ $(IntDir)BuildLog $(ProjectName).htm
+
+
+
+
+
+
+
+
+ $(IntDir)BuildLog $(ProjectName).htm
+
+
+
+
+
+
+
+
+
+
+
+
+ Document
+ Downloading civetweb.
+ if not exist "$(ProjectDir)..\civetweb-$(civetweb_Version)" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/civetweb-$(civetweb_Version).tar.gz "$(ProjectDir).."
+
+ $(ProjectDir)..\civetweb-$(civetweb_Version);%(Outputs)
+ Downloading civetweb.
+ if not exist "$(ProjectDir)..\civetweb-$(civetweb_Version)" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/civetweb-$(civetweb_Version).tar.gz "$(ProjectDir).."
+
+ $(ProjectDir)..\civetweb-$(civetweb_Version);%(Outputs)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/win32/Download libconfig.2015.vcxproj b/libs/win32/Download libconfig.2015.vcxproj
new file mode 100644
index 0000000000..78ae395d30
--- /dev/null
+++ b/libs/win32/Download libconfig.2015.vcxproj
@@ -0,0 +1,85 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ Download libconfig
+ Download libconfig
+ Win32Proj
+ {4AB0A14F-F65F-4C18-AAEC-AC76E2BE07DA}
+
+
+
+ Utility
+ MultiByte
+ v140
+
+
+ Utility
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(PlatformName)\libconfig\$(Configuration)\
+ $(PlatformName)\libconfig\$(Configuration)\
+
+
+
+ $(IntDir)BuildLog $(ProjectName).htm
+
+
+
+
+
+
+
+
+ $(IntDir)BuildLog $(ProjectName).htm
+
+
+
+
+
+
+
+
+
+
+
+
+ Document
+ Downloading libconfig.
+ if not exist "$(ProjectDir)..\libconfig-$(ConfigVersion)" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/libconfig-$(ConfigVersion).7z "$(ProjectDir).."
+
+ $(ProjectDir)..\libconfig-$(ConfigVersion);%(Outputs)
+ Downloading libconfig.
+ if not exist "$(ProjectDir)..\libconfig-$(ConfigVersion)" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/libconfig-$(ConfigVersion).7z "$(ProjectDir).."
+
+ $(ProjectDir)..\libconfig-$(ConfigVersion);%(Outputs)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/win32/Download libsodium.2015.vcxproj b/libs/win32/Download libsodium.2015.vcxproj
new file mode 100644
index 0000000000..dd2cf6265e
--- /dev/null
+++ b/libs/win32/Download libsodium.2015.vcxproj
@@ -0,0 +1,85 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ Download libsodium
+ Download libsodium
+ Win32Proj
+ {96848DD5-1451-4A88-87FA-FC6B7C7D1E1D}
+
+
+
+ Utility
+ MultiByte
+ v140
+
+
+ Utility
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(PlatformName)\libconfig\$(Configuration)\
+ $(PlatformName)\libconfig\$(Configuration)\
+
+
+
+ $(IntDir)BuildLog $(ProjectName).htm
+
+
+
+
+
+
+
+
+ $(IntDir)BuildLog $(ProjectName).htm
+
+
+
+
+
+
+
+
+
+
+
+
+ Document
+ Downloading libsodium.
+ if not exist "$(ProjectDir)..\libsodium-$(sodiumVersion)" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/libsodium-$(sodiumVersion).7z "$(ProjectDir).."
+
+ $(ProjectDir)..\libsodium-$(sodiumVersion);%(Outputs)
+ Downloading libsodium.
+ if not exist "$(ProjectDir)..\libsodium-$(sodiumVersion)" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/libsodium-$(sodiumVersion).7z "$(ProjectDir).."
+
+ $(ProjectDir)..\libsodium-$(sodiumVersion);%(Outputs)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/win32/civetweb/civetweb.2015.vcxproj b/libs/win32/civetweb/civetweb.2015.vcxproj
index a0bc1f4c11..465059aa67 100644
--- a/libs/win32/civetweb/civetweb.2015.vcxproj
+++ b/libs/win32/civetweb/civetweb.2015.vcxproj
@@ -139,6 +139,11 @@
+
+
+ {b9b7455d-f109-42bd-ad0a-98489b53fcf3}
+
+
diff --git a/libs/win32/libconfig/libconfig.2015.vcxproj b/libs/win32/libconfig/libconfig.2015.vcxproj
index e5ae0f3c89..65a89160b8 100644
--- a/libs/win32/libconfig/libconfig.2015.vcxproj
+++ b/libs/win32/libconfig/libconfig.2015.vcxproj
@@ -339,6 +339,11 @@
+
+
+ {4ab0a14f-f65f-4c18-aaec-ac76e2be07da}
+
+
diff --git a/libs/win32/libsodium/libsodium.2015.vcxproj b/libs/win32/libsodium/libsodium.2015.vcxproj
index a576b007b7..657ef56d32 100644
--- a/libs/win32/libsodium/libsodium.2015.vcxproj
+++ b/libs/win32/libsodium/libsodium.2015.vcxproj
@@ -553,6 +553,11 @@
+
+
+ {96848dd5-1451-4a88-87fa-fc6b7c7d1e1d}
+
+