diff --git a/pjmedia/build/pjmedia_audio_tool.dsp b/pjmedia/build/pjaut.dsp
similarity index 76%
rename from pjmedia/build/pjmedia_audio_tool.dsp
rename to pjmedia/build/pjaut.dsp
index dfc909f..cab9db9 100644
--- a/pjmedia/build/pjmedia_audio_tool.dsp
+++ b/pjmedia/build/pjaut.dsp
@@ -1,24 +1,24 @@
-# Microsoft Developer Studio Project File - Name="pjmedia_audio_tool" - Package Owner=<4>
+# Microsoft Developer Studio Project File - Name="pjaut" - Package Owner=<4>
 # Microsoft Developer Studio Generated Build File, Format Version 6.00
 # ** DO NOT EDIT **
 
 # TARGTYPE "Win32 (x86) Console Application" 0x0103
 
-CFG=pjmedia_audio_tool - Win32 Debug
+CFG=pjaut - Win32 Debug
 !MESSAGE This is not a valid makefile. To build this project using NMAKE,
 !MESSAGE use the Export Makefile command and run
 !MESSAGE 
-!MESSAGE NMAKE /f "pjmedia_audio_tool.mak".
+!MESSAGE NMAKE /f "pjaut.mak".
 !MESSAGE 
 !MESSAGE You can specify a configuration when running NMAKE
 !MESSAGE by defining the macro CFG on the command line. For example:
 !MESSAGE 
-!MESSAGE NMAKE /f "pjmedia_audio_tool.mak" CFG="pjmedia_audio_tool - Win32 Debug"
+!MESSAGE NMAKE /f "pjaut.mak" CFG="pjaut - Win32 Debug"
 !MESSAGE 
 !MESSAGE Possible choices for configuration are:
 !MESSAGE 
-!MESSAGE "pjmedia_audio_tool - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "pjmedia_audio_tool - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "pjaut - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "pjaut - Win32 Debug" (based on "Win32 (x86) Console Application")
 !MESSAGE 
 
 # Begin Project
@@ -28,17 +28,17 @@
 CPP=cl.exe
 RSC=rc.exe
 
-!IF  "$(CFG)" == "pjmedia_audio_tool - Win32 Release"
+!IF  "$(CFG)" == "pjaut - Win32 Release"
 
 # PROP BASE Use_MFC 0
 # PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\output\pjmedia_audio_tool_vc6_Release"
-# PROP BASE Intermediate_Dir ".\output\pjmedia_audio_tool_vc6_Release"
+# PROP BASE Output_Dir ".\output\pjaut_i386_win32_vc6_release"
+# PROP BASE Intermediate_Dir ".\output\pjaut_i386_win32_vc6_release"
 # PROP BASE Target_Dir ""
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\output\pjmedia_audio_tool_vc6_Release"
-# PROP Intermediate_Dir ".\output\pjmedia_audio_tool_vc6_Release"
+# PROP Output_Dir ".\output\pjaut_i386_win32_vc6_release"
+# PROP Intermediate_Dir ".\output\pjaut_i386_win32_vc6_release"
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
@@ -52,17 +52,17 @@
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
 # ADD LINK32 dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../bin/pjaut_vc6.exe"
 
-!ELSEIF  "$(CFG)" == "pjmedia_audio_tool - Win32 Debug"
+!ELSEIF  "$(CFG)" == "pjaut - Win32 Debug"
 
 # PROP BASE Use_MFC 0
 # PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\output\pjmedia_audio_tool_vc6_Debug"
-# PROP BASE Intermediate_Dir ".\output\pjmedia_audio_tool_vc6_Debug"
+# PROP BASE Output_Dir ".\output\pjaut_i386_win32_vc6_debug"
+# PROP BASE Intermediate_Dir ".\output\pjaut_i386_win32_vc6_debug"
 # PROP BASE Target_Dir ""
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\output\pjmedia_audio_tool_vc6_Debug"
-# PROP Intermediate_Dir ".\output\pjmedia_audio_tool_vc6_Debug"
+# PROP Output_Dir ".\output\pjaut_i386_win32_vc6_debug"
+# PROP Intermediate_Dir ".\output\pjaut_i386_win32_vc6_debug"
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
@@ -80,8 +80,8 @@
 
 # Begin Target
 
-# Name "pjmedia_audio_tool - Win32 Release"
-# Name "pjmedia_audio_tool - Win32 Debug"
+# Name "pjaut - Win32 Release"
+# Name "pjaut - Win32 Debug"
 # Begin Group "Source Files"
 
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
diff --git a/pjmedia/build/pjmedia.dsp b/pjmedia/build/pjmedia.dsp
index 8f79ab3..c8f464b 100644
--- a/pjmedia/build/pjmedia.dsp
+++ b/pjmedia/build/pjmedia.dsp
@@ -32,16 +32,16 @@
 
 # PROP BASE Use_MFC 0
 # PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\output\pjmedia_vc6_Release"
-# PROP BASE Intermediate_Dir ".\output\pjmedia_vc6_Release"
+# PROP BASE Output_Dir ".\output\pjmedia_i386_win32_vc6_release"
+# PROP BASE Intermediate_Dir ".\output\pjmedia_i386_win32_vc6_release"
 # PROP BASE Target_Dir ""
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\output\pjmedia_vc6_Release"
-# PROP Intermediate_Dir ".\output\pjmedia_vc6_Release"
+# PROP Output_Dir ".\output\pjmedia_i386_win32_vc6_release"
+# PROP Intermediate_Dir ".\output\pjmedia_i386_win32_vc6_release"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W4 /GX /O2 /I "../../pjlib/src" /I "../src" /I "../../pjsdp/src" /I "../src/pjmedia/portaudio" /D "NDEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
+# ADD CPP /nologo /MD /W4 /GX /O2 /I "../include" /I "../../pjlib/include" /I "../../pjlib-util/include" /I "../src/pjmedia/portaudio" /D "NDEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -56,16 +56,16 @@
 
 # PROP BASE Use_MFC 0
 # PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\output\pjmedia_vc6_Debug"
-# PROP BASE Intermediate_Dir ".\output\pjmedia_vc6_Debug"
+# PROP BASE Output_Dir ".\output\pjmedia_i386_win32_vc6_debug"
+# PROP BASE Intermediate_Dir ".\output\pjmedia_i386_win32_vc6_debug"
 # PROP BASE Target_Dir ""
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\output\pjmedia_vc6_Debug"
-# PROP Intermediate_Dir ".\output\pjmedia_vc6_Debug"
+# PROP Output_Dir ".\output\pjmedia_i386_win32_vc6_debug"
+# PROP Intermediate_Dir ".\output\pjmedia_i386_win32_vc6_debug"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../../pjlib/src" /I "../src" /I "../../pjsdp/src" /I "../src/pjmedia/portaudio" /D "_DEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /FR /FD /GZ /c
+# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../include" /I "../../pjlib/include" /I "../../pjlib-util/include" /I "../src/pjmedia/portaudio" /D "_DEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /FD /GZ /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
@@ -141,47 +141,47 @@
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
-SOURCE=..\src\pjmedia\codec.h
+SOURCE=..\include\pjmedia\codec.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\config.h
+SOURCE=..\include\pjmedia\config.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\jbuf.h
+SOURCE=..\include\pjmedia\jbuf.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\mediamgr.h
+SOURCE=..\include\pjmedia\mediamgr.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia.h
+SOURCE=..\include\pjmedia.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\rtcp.h
+SOURCE=..\include\pjmedia\rtcp.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\rtp.h
+SOURCE=..\include\pjmedia\rtp.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\sdp.h
+SOURCE=..\include\pjmedia\sdp.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\session.h
+SOURCE=..\include\pjmedia\session.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\sound.h
+SOURCE=..\include\pjmedia\sound.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\pjmedia\stream.h
+SOURCE=..\include\pjmedia\stream.h
 # End Source File
 # End Group
 # Begin Group "PortAudio"
diff --git a/pjmedia/build/pjmedia.dsw b/pjmedia/build/pjmedia.dsw
index ccfcac4..9b01973 100644
--- a/pjmedia/build/pjmedia.dsw
+++ b/pjmedia/build/pjmedia.dsw
@@ -3,14 +3,10 @@
 
 ###############################################################################
 
-Project: "pjaudio_tool"=.\pjaudio_tool.dsp - Package Owner=<4>
+Project: "pjaut"=.\pjaut.dsp - Package Owner=<4>
 
 Package=<5>
 {{{
-    begin source code control
-    "$/pjproject/pjmedia/build", TKAAAAAA
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -29,10 +25,18 @@
 
 Package=<5>
 {{{
-    begin source code control
-    "$/pjproject/pjmedia/build", TKAAAAAA
-    .
-    end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pjlib_util"="..\..\pjlib-util\build\pjlib_util.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
 }}}
 
 Package=<4>
@@ -45,10 +49,6 @@
 
 Package=<5>
 {{{
-    begin source code control
-    "$/pjproject/pjmedia/build", TKAAAAAA
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -64,10 +64,6 @@
 
 Package=<5>
 {{{
-    begin source code control
-    "$/pjproject/pjmedia/build", TKAAAAAA
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -89,10 +85,6 @@
 
 Package=<5>
 {{{
-    begin source code control
-    "$/pjproject/pjmedia/build", TKAAAAAA
-    .
-    end source code control
 }}}
 
 Package=<3>
diff --git a/pjmedia/build/pjmedia.sln b/pjmedia/build/pjmedia.sln
deleted file mode 100644
index 105d070..0000000
--- a/pjmedia/build/pjmedia.sln
+++ /dev/null
@@ -1,90 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsdp", "..\..\pjsdp\build\pjsdp.vcproj", "{CC953678-66FC-4C91-9DC7-2783B7427B19}"
-	ProjectSection(ProjectDependencies) = postProject
-		{72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjaudio_tool", "pjaudio_tool.vcproj", "{B5DAC8A2-E01F-41B8-8FFE-7CD396C183DD}"
-	ProjectSection(ProjectDependencies) = postProject
-		{E6181719-4557-4EB5-8DBA-1E21C5183670} = {E6181719-4557-4EB5-8DBA-1E21C5183670}
-		{CC953678-66FC-4C91-9DC7-2783B7427B19} = {CC953678-66FC-4C91-9DC7-2783B7427B19}
-		{72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjmedia", "pjmedia.vcproj", "{E6181719-4557-4EB5-8DBA-1E21C5183670}"
-	ProjectSection(ProjectDependencies) = postProject
-		{72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjmedia_test", "pjmedia_test.vcproj", "{13EF030B-5BB9-48AC-8EAA-723B6BD1DD7D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{E6181719-4557-4EB5-8DBA-1E21C5183670} = {E6181719-4557-4EB5-8DBA-1E21C5183670}
-		{CC953678-66FC-4C91-9DC7-2783B7427B19} = {CC953678-66FC-4C91-9DC7-2783B7427B19}
-		{72790D99-35BB-45AC-9A23-3BB60C901E63} = {72790D99-35BB-45AC-9A23-3BB60C901E63}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjlib", "..\..\pjlib\build\pjlib.vcproj", "{72790D99-35BB-45AC-9A23-3BB60C901E63}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SourceCodeControl) = preSolution
-		SccNumberOfProjects = 6
-		SccProjectUniqueName0 = ..\\..\\pjsdp\\build\\pjsdp.vcproj
-		SccLocalPath0 = ..\\..
-		CanCheckoutShared = false
-		SccProjectFilePathRelativizedFromConnection0 = pjsdp\\build\\
-		SccProjectUniqueName1 = pjmedia.vcproj
-		SccLocalPath1 = ..\\..
-		CanCheckoutShared = false
-		SccProjectFilePathRelativizedFromConnection1 = pjmedia\\build\\
-		SccProjectUniqueName2 = ..\\..\\pjlib\\build\\pjlib.vcproj
-		SccLocalPath2 = ..\\..
-		CanCheckoutShared = false
-		SccProjectFilePathRelativizedFromConnection2 = pjlib\\build\\
-		SccProjectName3 = \u0022$/pjproject\u0022,\u0020PIAAAAAA
-		SccLocalPath3 = ..\\..
-		SccProvider3 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
-		CanCheckoutShared = false
-		SccProjectFilePathRelativizedFromConnection3 = pjmedia\\build\\
-		SolutionUniqueID = {ADA38C1E-12DE-4E20-AC46-530CA681F3E8}
-		SccProjectUniqueName4 = pjaudio_tool.vcproj
-		SccLocalPath4 = ..\\..
-		CanCheckoutShared = false
-		SccProjectFilePathRelativizedFromConnection4 = pjmedia\\build\\
-		SccProjectUniqueName5 = pjmedia_test.vcproj
-		SccLocalPath5 = ..\\..
-		CanCheckoutShared = false
-		SccProjectFilePathRelativizedFromConnection5 = pjmedia\\build\\
-	EndGlobalSection
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{CC953678-66FC-4C91-9DC7-2783B7427B19}.Debug.ActiveCfg = Debug|Win32
-		{CC953678-66FC-4C91-9DC7-2783B7427B19}.Debug.Build.0 = Debug|Win32
-		{CC953678-66FC-4C91-9DC7-2783B7427B19}.Release.ActiveCfg = Release|Win32
-		{CC953678-66FC-4C91-9DC7-2783B7427B19}.Release.Build.0 = Release|Win32
-		{B5DAC8A2-E01F-41B8-8FFE-7CD396C183DD}.Debug.ActiveCfg = Debug|Win32
-		{B5DAC8A2-E01F-41B8-8FFE-7CD396C183DD}.Debug.Build.0 = Debug|Win32
-		{B5DAC8A2-E01F-41B8-8FFE-7CD396C183DD}.Release.ActiveCfg = Release|Win32
-		{B5DAC8A2-E01F-41B8-8FFE-7CD396C183DD}.Release.Build.0 = Release|Win32
-		{E6181719-4557-4EB5-8DBA-1E21C5183670}.Debug.ActiveCfg = Debug|Win32
-		{E6181719-4557-4EB5-8DBA-1E21C5183670}.Debug.Build.0 = Debug|Win32
-		{E6181719-4557-4EB5-8DBA-1E21C5183670}.Release.ActiveCfg = Release|Win32
-		{E6181719-4557-4EB5-8DBA-1E21C5183670}.Release.Build.0 = Release|Win32
-		{13EF030B-5BB9-48AC-8EAA-723B6BD1DD7D}.Debug.ActiveCfg = Debug|Win32
-		{13EF030B-5BB9-48AC-8EAA-723B6BD1DD7D}.Debug.Build.0 = Debug|Win32
-		{13EF030B-5BB9-48AC-8EAA-723B6BD1DD7D}.Release.ActiveCfg = Release|Win32
-		{13EF030B-5BB9-48AC-8EAA-723B6BD1DD7D}.Release.Build.0 = Release|Win32
-		{72790D99-35BB-45AC-9A23-3BB60C901E63}.Debug.ActiveCfg = Debug|Win32
-		{72790D99-35BB-45AC-9A23-3BB60C901E63}.Debug.Build.0 = Debug|Win32
-		{72790D99-35BB-45AC-9A23-3BB60C901E63}.Release.ActiveCfg = Release|Win32
-		{72790D99-35BB-45AC-9A23-3BB60C901E63}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
diff --git a/pjmedia/build/pjmedia.vcproj b/pjmedia/build/pjmedia.vcproj
deleted file mode 100644
index e038178..0000000
--- a/pjmedia/build/pjmedia.vcproj
+++ /dev/null
@@ -1,629 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="pjmedia_lib"
-	ProjectGUID="{EB8559B2-D738-4987-8591-4D217F8B0099}"
-	SccProjectName="&quot;$/pjproject&quot;, PIAAAAAA"
-	SccAuxPath=""
-	SccLocalPath="..\.."
-	SccProvider="MSSCCI:Microsoft Visual SourceSafe">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\output\pjmedia_vc7_Release"
-			IntermediateDirectory=".\output\pjmedia_vc7_Release"
-			ConfigurationType="4"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="../../pjlib/src,../src,../../pjsdp/src,../src/pjmedia/portaudio"
-				PreprocessorDefinitions="PA_NO_ASIO;PA_NO_WMME;WIN32;NDEBUG;_LIB"
-				StringPooling="TRUE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="TRUE"
-				PrecompiledHeaderFile=".\output\pjmedia_vc7_Release/pjmedia.pch"
-				AssemblerListingLocation=".\output\pjmedia_vc7_Release/"
-				ObjectFile=".\output\pjmedia_vc7_Release/"
-				ProgramDataBaseFileName=".\output\pjmedia_vc7_Release/"
-				WarningLevel="4"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\lib\pjmedia_vc7s.lib"
-				SuppressStartupBanner="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\output\pjmedia_vc7_Debug"
-			IntermediateDirectory=".\output\pjmedia_vc7_Debug"
-			ConfigurationType="4"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="../../pjlib/src,../src,../../pjsdp/src,../src/pjmedia/portaudio"
-				PreprocessorDefinitions="PA_NO_ASIO;PA_NO_WMME;WIN32;_DEBUG;_LIB"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\output\pjmedia_vc7_Debug/pjmedia.pch"
-				AssemblerListingLocation=".\output\pjmedia_vc7_Debug/"
-				ObjectFile=".\output\pjmedia_vc7_Debug/"
-				ProgramDataBaseFileName=".\output\pjmedia_vc7_Debug/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\lib\pjmedia_vc7sd.lib"
-				SuppressStartupBanner="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-			<File
-				RelativePath="..\src\pjmedia\codec.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\g711.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\jbuf.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\mediamgr.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\nullsound.c">
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="TRUE">
-					<Tool
-						Name="VCCLCompilerTool"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="TRUE">
-					<Tool
-						Name="VCCLCompilerTool"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\pasound.c">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\rtcp.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\rtp.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\sdp.c">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\session.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\stream.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl">
-			<File
-				RelativePath="..\src\pjmedia\codec.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\config.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\jbuf.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\mediamgr.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\rtcp.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\rtp.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\sdp.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\session.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\sound.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\stream.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="PortAudio Files"
-			Filter="">
-			<File
-				RelativePath="..\src\pjmedia\portaudio\dsound_wrapper.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\dsound_wrapper.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_allocation.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_allocation.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_converters.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_converters.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_cpuload.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_cpuload.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_dither.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_dither.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_endianness.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_front.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_hostapi.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_process.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_process.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_skeleton.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_stream.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_stream.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_trace.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_trace.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_types.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_util.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_win_ds.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_win_hostapis.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_win_util.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_win_wmme.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_win_wmme.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_x86_plain_converters.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="3"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\pa_x86_plain_converters.h">
-			</File>
-			<File
-				RelativePath="..\src\pjmedia\portaudio\portaudio.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/pjmedia/build/pjmedia_audio_tool.vcproj b/pjmedia/build/pjmedia_audio_tool.vcproj
deleted file mode 100644
index 3212cd8..0000000
--- a/pjmedia/build/pjmedia_audio_tool.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="pjmedia_audio_tool"
-	ProjectGUID="{5FD061CF-A0E8-43DF-990C-B046AA1BF5EE}"
-	SccProjectName="&quot;$/pjproject&quot;, PIAAAAAA"
-	SccAuxPath=""
-	SccLocalPath="..\.."
-	SccProvider="MSSCCI:Microsoft Visual SourceSafe">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\output\pjmedia_audio_tool_vc7_Release"
-			IntermediateDirectory=".\output\pjmedia_audio_tool_vc7_Release"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="../../pjlib/src,../src,../../pjsdp/src"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				StringPooling="TRUE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\output\pjmedia_audio_tool_vc7_Release/pjmedia_audio_tool.pch"
-				AssemblerListingLocation=".\output\pjmedia_audio_tool_vc7_Release/"
-				ObjectFile=".\output\pjmedia_audio_tool_vc7_Release/"
-				ProgramDataBaseFileName=".\output\pjmedia_audio_tool_vc7_Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile="../bin/pjaut_vc7.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				ProgramDatabaseFile=".\output\pjmedia_audio_tool_vc7_Release/pjaut.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\output\pjmedia_audio_tool_vc7_Release/pjmedia_audio_tool.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\output\pjmedia_audio_tool_vc7_Debug"
-			IntermediateDirectory=".\output\pjmedia_audio_tool_vc7_Debug"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="../../pjlib/src,../src,../../pjsdp/src"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\output\pjmedia_audio_tool_vc7_Debug/pjmedia_audio_tool.pch"
-				AssemblerListingLocation=".\output\pjmedia_audio_tool_vc7_Debug/"
-				ObjectFile=".\output\pjmedia_audio_tool_vc7_Debug/"
-				ProgramDataBaseFileName=".\output\pjmedia_audio_tool_vc7_Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile="../bin/pjaut_vc7d.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\output\pjmedia_audio_tool_vc7_Debug/pjaut.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\output\pjmedia_audio_tool_vc7_Debug/pjmedia_audio_tool.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-			<File
-				RelativePath="..\src\test\audio_tool.c">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/pjmedia/build/pjmedia_test.vcproj b/pjmedia/build/pjmedia_test.vcproj
deleted file mode 100644
index 6b4e653..0000000
--- a/pjmedia/build/pjmedia_test.vcproj
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="pjmedia_test"
-	ProjectGUID="{692B42C4-6888-4BF8-9613-E48A2F138005}"
-	SccProjectName="&quot;$/pjproject&quot;, PIAAAAAA"
-	SccAuxPath=""
-	SccLocalPath="..\.."
-	SccProvider="MSSCCI:Microsoft Visual SourceSafe">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\output\pjmedia_test_vc7_Debug"
-			IntermediateDirectory=".\output\pjmedia_test_vc7_Debug"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="../../pjlib/src,../src,../../pjsdp/src"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\output\pjmedia_test_vc7_Debug/pjmedia_test.pch"
-				AssemblerListingLocation=".\output\pjmedia_test_vc7_Debug/"
-				ObjectFile=".\output\pjmedia_test_vc7_Debug/"
-				ProgramDataBaseFileName=".\output\pjmedia_test_vc7_Debug/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile="../bin/pjmedia_test_vc7d.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\output\pjmedia_test_vc7_Debug/pjmedia_test.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\output\pjmedia_test_vc7_Debug/pjmedia_test.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\output\pjmedia_test_vc7_Release"
-			IntermediateDirectory=".\output\pjmedia_test_vc7_Release"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="../../pjlib/src,../src,../../pjsdp/src"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				StringPooling="TRUE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\output\pjmedia_test_vc7_Release/pjmedia_test.pch"
-				AssemblerListingLocation=".\output\pjmedia_test_vc7_Release/"
-				ObjectFile=".\output\pjmedia_test_vc7_Release/"
-				ProgramDataBaseFileName=".\output\pjmedia_test_vc7_Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile="..\bin\pjmedia_test_vc7.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				ProgramDatabaseFile=".\output\pjmedia_test_vc7_Release/pjmedia_test.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\output\pjmedia_test_vc7_Release/pjmedia_test.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-			<File
-				RelativePath="..\src\test\jbuf_test.c">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\test\main.c">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\test\rtp_test.c">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\test\sdptest.c">
-			</File>
-			<File
-				RelativePath="..\src\test\session_test.c">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-						BrowseInformation="1"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-		</Filter>
-		<File
-			RelativePath="JBTEST.DAT">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/pjmedia/include/pjmedia.h b/pjmedia/include/pjmedia.h
new file mode 100644
index 0000000..b0310f2
--- /dev/null
+++ b/pjmedia/include/pjmedia.h
@@ -0,0 +1,32 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2003-2006 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#ifndef __PJMEDIA_H__
+#define __PJMEDIA_H__
+
+#include <pjmedia/codec.h>
+#include <pjmedia/jbuf.h>
+#include <pjmedia/mediamgr.h>
+#include <pjmedia/rtcp.h>
+#include <pjmedia/rtp.h>
+#include <pjmedia/session.h>
+#include <pjmedia/sound.h>
+#include <pjmedia/sdp.h>
+
+#endif	/* __PJMEDIA_H__ */
+
diff --git a/pjmedia/src/pjmedia/codec.h b/pjmedia/include/pjmedia/codec.h
similarity index 98%
rename from pjmedia/src/pjmedia/codec.h
rename to pjmedia/include/pjmedia/codec.h
index 50a2513..3069f31 100644
--- a/pjmedia/src/pjmedia/codec.h
+++ b/pjmedia/include/pjmedia/codec.h
@@ -214,7 +214,7 @@
 struct pj_codec
 {
     /** Entries to put this codec instance in codec factory's list. */
-    PJ_DECL_LIST_MEMBER(struct pj_codec)
+    PJ_DECL_LIST_MEMBER(struct pj_codec);
 
     /** Codec's private data. */
     void	*codec_data;
@@ -282,7 +282,7 @@
 struct pj_codec_factory
 {
     /** Entries to put this structure in the codec manager list. */
-    PJ_DECL_LIST_MEMBER(struct pj_codec_factory)
+    PJ_DECL_LIST_MEMBER(struct pj_codec_factory);
 
     /** The factory's private data. */
     void		*factory_data;
diff --git a/pjmedia/src/pjmedia/config.h b/pjmedia/include/pjmedia/config.h
similarity index 100%
rename from pjmedia/src/pjmedia/config.h
rename to pjmedia/include/pjmedia/config.h
diff --git a/pjmedia/src/pjmedia/jbuf.h b/pjmedia/include/pjmedia/jbuf.h
similarity index 100%
rename from pjmedia/src/pjmedia/jbuf.h
rename to pjmedia/include/pjmedia/jbuf.h
diff --git a/pjmedia/src/pjmedia/mediamgr.h b/pjmedia/include/pjmedia/mediamgr.h
similarity index 100%
rename from pjmedia/src/pjmedia/mediamgr.h
rename to pjmedia/include/pjmedia/mediamgr.h
diff --git a/pjmedia/src/pjmedia/rtcp.h b/pjmedia/include/pjmedia/rtcp.h
similarity index 100%
rename from pjmedia/src/pjmedia/rtcp.h
rename to pjmedia/include/pjmedia/rtcp.h
diff --git a/pjmedia/src/pjmedia/rtp.h b/pjmedia/include/pjmedia/rtp.h
similarity index 100%
rename from pjmedia/src/pjmedia/rtp.h
rename to pjmedia/include/pjmedia/rtp.h
diff --git a/pjmedia/src/pjmedia/sdp.h b/pjmedia/include/pjmedia/sdp.h
similarity index 100%
rename from pjmedia/src/pjmedia/sdp.h
rename to pjmedia/include/pjmedia/sdp.h
diff --git a/pjmedia/src/pjmedia/session.h b/pjmedia/include/pjmedia/session.h
similarity index 100%
rename from pjmedia/src/pjmedia/session.h
rename to pjmedia/include/pjmedia/session.h
diff --git a/pjmedia/src/pjmedia/sound.h b/pjmedia/include/pjmedia/sound.h
similarity index 100%
rename from pjmedia/src/pjmedia/sound.h
rename to pjmedia/include/pjmedia/sound.h
diff --git a/pjmedia/src/pjmedia/stream.h b/pjmedia/include/pjmedia/stream.h
similarity index 100%
rename from pjmedia/src/pjmedia/stream.h
rename to pjmedia/include/pjmedia/stream.h
diff --git a/pjmedia/src/pjmedia.h b/pjmedia/src/pjmedia.h
deleted file mode 100644
index c4f2ab6..0000000
--- a/pjmedia/src/pjmedia.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$
- *
- */
-/* 
- * PJMEDIA - Multimedia over IP Stack 
- * (C)2003-2005 Benny Prijono <bennylp@bulukucing.org>
- *
- * Author:
- *  Benny Prijono <bennylp@bulukucing.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#ifndef __PJMEDIA_H__
-#define __PJMEDIA_H__
-
-#include <pjmedia/codec.h>
-#include <pjmedia/jbuf.h>
-#include <pjmedia/mediamgr.h>
-#include <pjmedia/rtcp.h>
-#include <pjmedia/rtp.h>
-#include <pjmedia/session.h>
-#include <pjmedia/sound.h>
-#include <pjmedia/sdp.h>
-
-#endif	/* __PJMEDIA_H__ */
-
diff --git a/pjmedia/src/pjmedia/codec.c b/pjmedia/src/pjmedia/codec.c
index b4b64d5..a87c301 100644
--- a/pjmedia/src/pjmedia/codec.c
+++ b/pjmedia/src/pjmedia/codec.c
@@ -19,6 +19,7 @@
 #include <pjmedia/codec.h>
 #include <pj/pool.h>
 #include <pj/string.h>
+#include <pj/assert.h>
 #include <pj/log.h>
 
 #define THIS_FILE   "codec.c"
@@ -65,7 +66,7 @@
 
 PJ_DEF(void) pj_codec_mgr_unregister_factory (pj_codec_mgr *mgr, pj_codec_factory *factory)
 {
-    PJ_UNUSED_ARG(mgr)
+    PJ_UNUSED_ARG(mgr);
     pj_list_erase(factory);
     enum_all_codecs (mgr);
 }
@@ -100,7 +101,7 @@
 
 PJ_DEF(void) pj_codec_mgr_dealloc_codec (pj_codec_mgr *mgr, pj_codec *codec)
 {
-    PJ_UNUSED_ARG(mgr)
+    PJ_UNUSED_ARG(mgr);
     (*codec->factory->op->dealloc_codec)(codec->factory, codec);
 }
 
diff --git a/pjmedia/src/pjmedia/g711.c b/pjmedia/src/pjmedia/g711.c
index 4275943..9d79bcc 100644
--- a/pjmedia/src/pjmedia/g711.c
+++ b/pjmedia/src/pjmedia/g711.c
@@ -22,7 +22,8 @@
 #include <pjmedia/codec.h>
 #include <pj/pool.h>
 #include <pj/string.h>
-#include <string.h>	/* memset */
+#include <pj/assert.h>
+
 
 #define G711_BPS	64000
 #define G711_CODEC_CNT	0	/* number of codec to preallocate in memory */
@@ -128,7 +129,7 @@
 
 static pj_status_t g711_match_id( pj_codec_factory *factory, const pj_codec_id *id )
 {
-    PJ_UNUSED_ARG(factory)
+    PJ_UNUSED_ARG(factory);
 
     /* It's sufficient to check payload type only. */
     return (id->pt==PJ_RTP_PT_PCMU || id->pt==PJ_RTP_PT_PCMA) ? 0 : -1;
@@ -138,7 +139,7 @@
 				      const pj_codec_id *id, 
 				      pj_codec_attr *attr )
 {
-    PJ_UNUSED_ARG(factory)
+    PJ_UNUSED_ARG(factory);
 
     memset(attr, 0, sizeof(pj_codec_attr));
     attr->sample_rate = 8000;
@@ -155,7 +156,7 @@
 static unsigned	g711_enum_codecs (pj_codec_factory *factory, 
 				  unsigned count, pj_codec_id codecs[])
 {
-    PJ_UNUSED_ARG(factory)
+    PJ_UNUSED_ARG(factory);
 
     if (count > 0) {
 	codecs[0].type = PJ_MEDIA_TYPE_AUDIO;
@@ -229,8 +230,8 @@
 static pj_status_t g711_init( pj_codec *codec, pj_pool_t *pool )
 {
     /* There's nothing to do here really */
-    PJ_UNUSED_ARG(codec)
-    PJ_UNUSED_ARG(pool)
+    PJ_UNUSED_ARG(codec);
+    PJ_UNUSED_ARG(pool);
 
     return PJ_SUCCESS;
 }
diff --git a/pjmedia/src/pjmedia/jbuf.c b/pjmedia/src/pjmedia/jbuf.c
index b2e1b4d..ce00d97 100644
--- a/pjmedia/src/pjmedia/jbuf.c
+++ b/pjmedia/src/pjmedia/jbuf.c
@@ -19,7 +19,9 @@
 #include <pjmedia/jbuf.h>
 #include <pj/log.h>
 #include <pj/pool.h>
-#include <string.h>	/* memset() */
+#include <pj/assert.h>
+#include <pj/string.h>
+
 
 /*
  * At the current state, this is basicly an ugly jitter buffer.
@@ -67,7 +69,7 @@
 {
     PJ_LOG(5, (THIS_FILE, "..pj_frame_list_init [lst=%p], maxcount=%d", lst, maxcount));
 
-    memset(lst, 0, sizeof(*lst));
+    pj_memset(lst, 0, sizeof(*lst));
     lst->maxcount = maxcount;
     lst->frames = pj_pool_calloc( pool, maxcount, sizeof(*lst->frames) );
     if (lst->frames == NULL) {
diff --git a/pjmedia/src/pjmedia/nullsound.c b/pjmedia/src/pjmedia/nullsound.c
index dc509a7..fcda578 100644
--- a/pjmedia/src/pjmedia/nullsound.c
+++ b/pjmedia/src/pjmedia/nullsound.c
@@ -17,111 +17,77 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
  */
 #include <pjmedia/sound.h>
+#include <pj/assert.h>
 
-/*
- * Null Factory Operations
- */
-static pj_status_t null_sound_init(void);
-static const char *null_sound_get_name(void);
-static pj_status_t null_sound_destroy(void);
-static pj_status_t null_sound_enum_devices(int *count, char *dev_names[]);
-static pj_status_t null_sound_create_dev(const char *dev_name, pj_snd_dev *dev);
-static pj_status_t null_sound_destroy_dev(pj_snd_dev *dev);
-
-
-/*
- * Null Device Operations
- */
-static pj_status_t null_sound_dev_open( pj_snd_dev *dev, pj_snd_role_t role );
-static pj_status_t null_sound_dev_close( pj_snd_dev *dev );
-static pj_status_t null_sound_dev_play( pj_snd_dev *dev );
-static pj_status_t null_sound_dev_record( pj_snd_dev *dev );
-
-
-static pj_snd_dev_factory null_sound_factory = 
+static pj_snd_dev_info null_info = 
 {
-    &null_sound_init,
-    &null_sound_get_name,
-    &null_sound_destroy,
-    &null_sound_enum_devices,
-    &null_sound_create_dev,
-    &null_sound_destroy_dev
+    "Null Device",
+    1,
+    1,
+    8000
 };
 
-static struct pj_snd_dev_op null_sound_dev_op = 
-{
-    &null_sound_dev_open,
-    &null_sound_dev_close,
-    &null_sound_dev_play,
-    &null_sound_dev_record
-};
 
-PJ_DEF(pj_snd_dev_factory*) pj_nullsound_get_factory()
+PJ_DEF(pj_status_t) pj_snd_init(pj_pool_factory *factory)
 {
-    return &null_sound_factory;
+    PJ_UNUSED_ARG(factory);
+    return PJ_SUCCESS;
 }
 
-static pj_status_t null_sound_init(void)
+PJ_DEF(int) pj_snd_get_dev_count(void)
 {
-    return 0;
+    return 1;
 }
 
-static const char *null_sound_get_name(void)
+PJ_DEF(const pj_snd_dev_info*) pj_snd_get_dev_info(unsigned index)
 {
-    return "nullsound";
+    PJ_ASSERT_RETURN(index==0, NULL);
+    return &null_info;
 }
 
-static pj_status_t null_sound_destroy(void)
+PJ_DEF(pj_snd_stream*) pj_snd_open_recorder( int index,
+					     const pj_snd_stream_info *param,
+					     pj_snd_rec_cb rec_cb,
+					     void *user_data)
 {
-    return 0;
+    PJ_UNUSED_ARG(index);
+    PJ_UNUSED_ARG(param);
+    PJ_UNUSED_ARG(rec_cb);
+    PJ_UNUSED_ARG(user_data);
+    return (void*)1;
 }
 
-static pj_status_t null_sound_enum_devices(int *count, char *dev_names[])
+PJ_DEF(pj_snd_stream*) pj_snd_open_player( int index,
+					   const pj_snd_stream_info *param,
+					   pj_snd_play_cb play_cb,
+					   void *user_data)
 {
-    *count = 1;
-    dev_names[0] = "nullsound";
-    return 0;
+    PJ_UNUSED_ARG(index);
+    PJ_UNUSED_ARG(param);
+    PJ_UNUSED_ARG(play_cb);
+    PJ_UNUSED_ARG(user_data);
+    return (void*)1;
 }
 
-static pj_status_t null_sound_create_dev(const char *dev_name, pj_snd_dev *dev)
+PJ_DEF(pj_status_t) pj_snd_stream_start(pj_snd_stream *stream)
 {
-    PJ_UNUSED_ARG(dev_name);
-    dev->op = &null_sound_dev_op;
-    return 0;
+    PJ_UNUSED_ARG(stream);
+    return PJ_SUCCESS;
 }
 
-static pj_status_t null_sound_destroy_dev(pj_snd_dev *dev)
+PJ_DEF(pj_status_t) pj_snd_stream_stop(pj_snd_stream *stream)
 {
-    PJ_UNUSED_ARG(dev);
-    return 0;
+    PJ_UNUSED_ARG(stream);
+    return PJ_SUCCESS;
 }
 
-
-/*
- * Null Device Operations
- */
-static pj_status_t null_sound_dev_open( pj_snd_dev *dev, pj_snd_role_t role )
+PJ_DEF(pj_status_t) pj_snd_stream_close(pj_snd_stream *stream)
 {
-    PJ_UNUSED_ARG(dev);
-    PJ_UNUSED_ARG(role);
-    return 0;
+    PJ_UNUSED_ARG(stream);
+    return PJ_SUCCESS;
 }
 
-static pj_status_t null_sound_dev_close( pj_snd_dev *dev )
+PJ_DEF(pj_status_t) pj_snd_deinit(void)
 {
-    PJ_UNUSED_ARG(dev);
-    return 0;
+    return PJ_SUCCESS;
 }
-
-static pj_status_t null_sound_dev_play( pj_snd_dev *dev )
-{
-    PJ_UNUSED_ARG(dev);
-    return 0;
-}
-
-static pj_status_t null_sound_dev_record( pj_snd_dev *dev )
-{
-    PJ_UNUSED_ARG(dev);
-    return 0;
-}
-
diff --git a/pjmedia/src/pjmedia/pasound.c b/pjmedia/src/pjmedia/pasound.c
index d3184a7..5c5c7bd 100644
--- a/pjmedia/src/pjmedia/pasound.c
+++ b/pjmedia/src/pjmedia/pasound.c
@@ -60,14 +60,14 @@
     pj_snd_stream *stream = userData;
     pj_status_t status;
 
-    PJ_UNUSED_ARG(output)
-    PJ_UNUSED_ARG(timeInfo)
+    PJ_UNUSED_ARG(output);
+    PJ_UNUSED_ARG(timeInfo);
 
     if (stream->quit_flag)
 	goto on_break;
 
     if (stream->thread_initialized == 0) {
-	stream->thread = pj_thread_register("pa_rec", stream->thread_desc);
+	status = pj_thread_register("pa_rec", stream->thread_desc, &stream->thread);
 	stream->thread_initialized = 1;
     }
 
@@ -100,14 +100,14 @@
     pj_status_t status;
     unsigned size = frameCount * stream->bytes_per_sample;
 
-    PJ_UNUSED_ARG(input)
-    PJ_UNUSED_ARG(timeInfo)
+    PJ_UNUSED_ARG(input);
+    PJ_UNUSED_ARG(timeInfo);
 
     if (stream->quit_flag)
 	goto on_break;
 
     if (stream->thread_initialized == 0) {
-	stream->thread = pj_thread_register("pa_rec", stream->thread_desc);
+	status = pj_thread_register("pa_rec", stream->thread_desc, &stream->thread);
 	stream->thread_initialized = 1;
     }
 
diff --git a/pjmedia/src/pjmedia/rtcp.c b/pjmedia/src/pjmedia/rtcp.c
index 7048438..5f45775 100644
--- a/pjmedia/src/pjmedia/rtcp.c
+++ b/pjmedia/src/pjmedia/rtcp.c
@@ -19,7 +19,8 @@
 #include <pjmedia/rtcp.h>
 #include <pj/os.h>	/* pj_gettimeofday */
 #include <pj/sock.h>	/* pj_htonx, pj_ntohx */
-#include <string.h>	/* memset */
+#include <pj/string.h>	/* pj_memset */
+
 
 #define RTCP_SR   200
 #define RTCP_RR   201
@@ -46,7 +47,7 @@
 {
     pj_rtcp_pkt *rtcp_pkt = &s->rtcp_pkt;
     
-    memset(rtcp_pkt, 0, sizeof(pj_rtcp_pkt));
+    pj_memset(rtcp_pkt, 0, sizeof(pj_rtcp_pkt));
     
     /* Init time */
     s->rtcp_lsr.hi = s->rtcp_lsr.lo = 0;
@@ -67,7 +68,7 @@
 PJ_DEF(void) pj_rtcp_fini(pj_rtcp_session *session)
 {
     /* Nothing to do. */
-    PJ_UNUSED_ARG(session)
+    PJ_UNUSED_ARG(session);
 }
 
 static void rtcp_init_seq(pj_rtcp_session *s, pj_uint16_t  seq)
diff --git a/pjmedia/src/pjmedia/rtp.c b/pjmedia/src/pjmedia/rtp.c
index 5aadd7c..5a33793 100644
--- a/pjmedia/src/pjmedia/rtp.c
+++ b/pjmedia/src/pjmedia/rtp.c
@@ -20,7 +20,9 @@
 #include <pj/log.h>
 #include <pj/os.h>	/* pj_gettimeofday() */
 #include <pj/sock.h>	/* pj_htonx, pj_htonx */
-#include <string.h>	/* memset() */
+#include <pj/assert.h>
+#include <pj/string.h>
+
 
 #define THIS_FILE   "rtp.c"
 
@@ -61,7 +63,7 @@
     /* Sequence number will be initialized when the first RTP packet is receieved. */
 
     /* Build default header for outgoing RTP packet. */
-    memset(ses, 0, sizeof(*ses));
+    pj_memset(ses, 0, sizeof(*ses));
     ses->out_hdr.v = RTP_VERSION;
     ses->out_hdr.p = 0;
     ses->out_hdr.x = 0;
diff --git a/pjmedia/src/pjmedia/sdp.c b/pjmedia/src/pjmedia/sdp.c
index 42a1fd4..afd746e 100644
--- a/pjmedia/src/pjmedia/sdp.c
+++ b/pjmedia/src/pjmedia/sdp.c
@@ -17,12 +17,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
  */
 #include <pjmedia/sdp.h>
-#include <pj/scanner.h>
+#include <pjlib-util/scanner.h>
 #include <pj/except.h>
 #include <pj/log.h>
 #include <pj/os.h>
 #include <pj/string.h>
 #include <pj/pool.h>
+#include <pj/assert.h>
 
 enum {
     SKIP_WS = 0,
@@ -123,7 +124,8 @@
  * Scanner character specification.
  */
 static int is_initialized;
-static pj_char_spec cs_token;
+static pj_cis_buf_t cis_buf;
+static pj_cis_t cs_token;
 
 static void init_sdp_parser(void)
 {
@@ -133,9 +135,12 @@
 	    return;
 	}
     }
-    pj_cs_add_alpha(cs_token);
-    pj_cs_add_num(cs_token);
-    pj_cs_add_str( cs_token, TOKEN);
+
+    pj_cis_buf_init(&cis_buf);
+    pj_cis_init(&cis_buf, &cs_token);
+    pj_cis_add_alpha(&cs_token);
+    pj_cis_add_num(&cs_token);
+    pj_cis_add_str(&cs_token, TOKEN);
 }
 
 static int print_rtpmap_attr(const pjsdp_rtpmap_attr *rtpmap, 
@@ -202,9 +207,9 @@
 
 static int print_name_only_attr(const pjsdp_attr *attr, char *buf, int len)
 {
-    PJ_UNUSED_ARG(attr)
-    PJ_UNUSED_ARG(buf)
-    PJ_UNUSED_ARG(len)
+    PJ_UNUSED_ARG(attr);
+    PJ_UNUSED_ARG(buf);
+    PJ_UNUSED_ARG(len);
     return 0;
 }
 
@@ -706,12 +711,12 @@
     pj_scan_get_char(scanner);
 
     /* port */
-    pj_scan_get(scanner, cs_token, &str);
+    pj_scan_get(scanner, &cs_token, &str);
     med->desc.port = (unsigned short)pj_strtoul(&str);
-    if (*scanner->current == '/') {
+    if (*scanner->curptr == '/') {
 	/* port count */
 	pj_scan_get_char(scanner);
-	pj_scan_get(scanner, cs_token, &str);
+	pj_scan_get(scanner, &cs_token, &str);
 	med->desc.port_count = pj_strtoul(&str);
 
     } else {
@@ -727,9 +732,9 @@
 
     /* format list */
     med->desc.fmt_count = 0;
-    while (*scanner->current == ' ') {
+    while (*scanner->curptr == ' ') {
 	pj_scan_get_char(scanner);
-	pj_scan_get(scanner, cs_token, &med->desc.fmt[med->desc.fmt_count++]);
+	pj_scan_get(scanner, &cs_token, &med->desc.fmt[med->desc.fmt_count++]);
     }
 
     /* newline */
@@ -751,10 +756,10 @@
 
     pj_scan_get_until_ch(scanner, '/', &rtpmap->encoding_name);
     pj_scan_get_char(scanner);
-    pj_scan_get(scanner, cs_token, &str);
+    pj_scan_get(scanner, &cs_token, &str);
     rtpmap->clock_rate = pj_strtoul(&str);
 
-    if (*scanner->current == '/') {
+    if (*scanner->curptr == '/') {
 	pj_scan_get_char(scanner);
 	pj_scan_get_until_ch(scanner, '\r', &rtpmap->parameter);
     }
@@ -793,7 +798,7 @@
 {
     pjsdp_attr *attr;
 
-    PJ_UNUSED_ARG(scanner)
+    PJ_UNUSED_ARG(scanner);
     attr = pj_pool_calloc(pool, 1, sizeof(*attr));
     return attr;
 }
@@ -824,7 +829,7 @@
     pj_scan_advance_n(scanner, 2, SKIP_WS);
     
     /* get attr name. */
-    pj_scan_get(scanner, cs_token, &attrname);
+    pj_scan_get(scanner, &cs_token, &attrname);
 
     /* find entry to handle attrname */
     for (i=0; i<PJ_ARRAY_SIZE(attr_map); ++i) {
@@ -851,7 +856,7 @@
 
 static void on_scanner_error(pj_scanner *scanner)
 {
-    PJ_UNUSED_ARG(scanner)
+    PJ_UNUSED_ARG(scanner);
 
     PJ_THROW(SYNTAX_ERROR);
 }
@@ -878,7 +883,7 @@
 
     PJ_TRY {
 	while (!pj_scan_is_eof(&scanner)) {
-		cur_name = *scanner.current;
+		cur_name = *scanner.curptr;
 		switch (cur_name) {
 		case 'a':
 		    attr = parse_attr(pool, &scanner);
@@ -924,9 +929,9 @@
     }
     PJ_CATCH(SYNTAX_ERROR) {
 	PJ_LOG(2, (LOG_THIS, "Syntax error in SDP parser '%c' line %d col %d",
-		cur_name, scanner.line, scanner.col));
+		cur_name, scanner.line, pj_scan_get_col(&scanner)));
 	if (!pj_scan_is_eof(&scanner)) {
-	    if (*scanner.current != '\r') {
+	    if (*scanner.curptr != '\r') {
 		pj_scan_get_until_ch(&scanner, '\r', &dummy);
 	    }
 	    pj_scan_get_newline(&scanner);
diff --git a/pjmedia/src/pjmedia/session.c b/pjmedia/src/pjmedia/session.c
index 98b359f..996ed47 100644
--- a/pjmedia/src/pjmedia/session.c
+++ b/pjmedia/src/pjmedia/session.c
@@ -21,6 +21,8 @@
 #include <pj/os.h> 
 #include <pj/pool.h>
 #include <pj/string.h>
+#include <pj/assert.h>
+
 
 typedef struct pj_media_stream_desc
 {
@@ -771,7 +773,7 @@
     scp.rtp_sock = sd->info.sock_info.rtp_sock;
     scp.rtcp_sock = sd->info.sock_info.rtcp_sock;
     scp.remote_addr = pj_pool_calloc (session->pool, 1, sizeof(pj_sockaddr_in));
-    pj_sockaddr_init (scp.remote_addr, &sd->info.rem_addr, sd->info.rem_port);
+    pj_sockaddr_in_init(scp.remote_addr, &sd->info.rem_addr, sd->info.rem_port);
     scp.ssrc = tv.sec;
     scp.jb_min = 1;
     scp.jb_max = 15;
diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c
index 718cace..323e041 100644
--- a/pjmedia/src/pjmedia/stream.c
+++ b/pjmedia/src/pjmedia/stream.c
@@ -24,8 +24,13 @@
 #include <pj/log.h>
 #include <pj/string.h>	    /* memcpy() */
 #include <pj/pool.h>
+#include <pj/assert.h>
+#include <pj/compat/socket.h>
+#include <pj/sock_select.h>
+#include <pj/errno.h>
 #include <stdlib.h>
 
+
 #define THISFILE    "stream.c"
 #define ERRLEVEL    1
 
@@ -91,7 +96,7 @@
     pj_status_t status;
     struct pj_audio_frame frame_in, frame_out;
 
-    PJ_UNUSED_ARG(timestamp)
+    PJ_UNUSED_ARG(timestamp);
 
     /* Lock mutex */
     pj_mutex_lock (channel->mutex);
@@ -152,12 +157,12 @@
     int ts_len;
     void *rtphdr;
     int rtphdrlen;
-    int sent;
+    pj_ssize_t sent;
 #if 0
     static FILE *fhnd = NULL;
 #endif
 
-    PJ_UNUSED_ARG(timestamp)
+    PJ_UNUSED_ARG(timestamp);
 
     /* Start locking channel mutex */
     pj_mutex_lock (channel->mutex);
@@ -202,14 +207,11 @@
     pj_memcpy(channel->out_pkt, rtphdr, sizeof(pj_rtp_hdr));
 
     /* Send. */
-    sent = pj_sock_sendto (channel->rtp_sock, channel->out_pkt, frame_out.size+sizeof(pj_rtp_hdr), 0, 
+    sent = frame_out.size+sizeof(pj_rtp_hdr);
+    status = pj_sock_sendto (channel->rtp_sock, channel->out_pkt, &sent, 0, 
 			   &channel->dst_addr, sizeof(channel->dst_addr));
-    if (sent != (int)frame_out.size + (int)sizeof(pj_rtp_hdr))  {
-	pj_perror(THISFILE, "Error sending RTP packet to %s:%d", 
-		  pj_sockaddr_get_str_addr(&channel->dst_addr),
-		  pj_sockaddr_get_port(&channel->dst_addr));
+    if (status != PJ_SUCCESS)
 	goto on_return;
-    }
 
     /* Update stat */
     channel->stat.pkt_tx++;
@@ -231,12 +233,12 @@
 }
 
 
-static void* PJ_THREAD_FUNC stream_decoder_transport_thread (void*arg)
+static int PJ_THREAD_FUNC stream_decoder_transport_thread (void*arg)
 {
     pj_media_stream_t *channel = arg;
 
     while (!channel->thread_quit_flag) {
-	int len, size;
+	pj_ssize_t len, size;
 	const pj_rtp_hdr *hdr;
 	const void *payload;
 	unsigned payloadlen;
@@ -244,7 +246,7 @@
 	struct jb_frame *jb_frame;
 
 	/* Wait for packet. */
-	fd_set fds;
+	pj_fd_set_t fds;
 	pj_time_val timeout;
 
 	PJ_FD_ZERO (&fds);
@@ -258,15 +260,16 @@
 	    continue;
 
 	/* Get packet from socket. */
-	len = pj_sock_recv (channel->rtp_sock, channel->in_pkt, channel->in_pkt_size, 0);
-	if (len < 1) {
-	    if (pj_getlasterror() == PJ_ECONNRESET) {
+	len = channel->in_pkt_size;
+	status = pj_sock_recv (channel->rtp_sock, channel->in_pkt, &len, 0);
+	if (len < 1 || status != PJ_SUCCESS) {
+	    if (pj_get_netos_error() == PJ_STATUS_FROM_OS(OSERR_ECONNRESET)) {
 		/* On Win2K SP2 (or above) and WinXP, recv() will get WSAECONNRESET
 		   when the sending side receives ICMP port unreachable.
 		 */
 		continue;
 	    }
-	    pj_perror(THISFILE, "Error receiving packet from socket (len=%d)", len);
+	    //pj_perror(THISFILE, "Error receiving packet from socket (len=%d)", len);
 	    pj_thread_sleep(1);
 	    continue;
 	}
@@ -325,7 +328,7 @@
 	pj_mutex_unlock (channel->mutex);
     }
 
-    return NULL;
+    return 0;
 }
 
 static void init_snd_param_from_codec_attr (pj_snd_stream_info *param,
@@ -348,7 +351,7 @@
     pj_codec_attr codec_attr;
     void *ptr;
     unsigned size;
-    int status;
+    pj_status_t status;
     
     /* Allocate memory for channel descriptor */
     size = sizeof(pj_media_stream_t);
@@ -369,8 +372,8 @@
     channel->state = STREAM_STOPPED;
 
     /* Create mutex for the channel. */
-    channel->mutex = pj_mutex_create(pool, NULL, PJ_MUTEX_SIMPLE);
-    if (channel->mutex == NULL)
+    status = pj_mutex_create_simple(pool, NULL, &channel->mutex);
+    if (status != PJ_SUCCESS)
 	goto err_cleanup;
 
     /* Create and initialize codec, only if peer is not present.
@@ -484,11 +487,11 @@
 	    goto err_cleanup;
 	}
 
-	channel->transport_thread = pj_thread_create(pool, "decode", 
-						     &stream_decoder_transport_thread, channel,
-						     0, NULL, 0);
-	if (!channel->transport_thread) {
-	    pj_perror(THISFILE, "Unable to create transport thread");
+	status = pj_thread_create(pool, "decode", 
+				  &stream_decoder_transport_thread, channel,
+				  0, 0, &channel->transport_thread);
+	if (status != PJ_SUCCESS) {
+	    //pj_perror(THISFILE, "Unable to create transport thread");
 	    goto err_cleanup;
 	}
     }
@@ -573,13 +576,13 @@
 
 PJ_DEF(pj_status_t) pj_media_stream_pause (pj_media_stream_t *channel)
 {
-    PJ_UNUSED_ARG(channel)
+    PJ_UNUSED_ARG(channel);
     return -1;
 }
 
 PJ_DEF(pj_status_t) pj_media_stream_resume (pj_media_stream_t *channel)
 {
-    PJ_UNUSED_ARG(channel)
+    PJ_UNUSED_ARG(channel);
     return -1;
 }
 
