diff --git a/channels/Makefile b/channels/Makefile
index aca979f52feca1b83628bf2f4b072a0f0d7413c1..0b4ddacc3ff75c630918773a5139ed9ce5dd21af 100644
--- a/channels/Makefile
+++ b/channels/Makefile
@@ -103,15 +103,10 @@ ringtone.h: gentone
 	./gentone ringtone 440 480
 
 chan_oss.o: chan_oss.c busy.h ringtone.h
+	$(CC) -c -o $@ $(CFLAGS) $(OSSAUDIO_INCLUDE) $<
 
-ifeq ($(OSARCH),OpenBSD)
 chan_oss.so: chan_oss.o
-	$(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio
-endif
-ifeq ($(OSARCH),NetBSD)
-chan_oss.so: chan_oss.o
-	$(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio
-endif
+	$(CC) $(SOLINK) -o $@ chan_oss.o $(OSSAUDIO_LIB)
 
 chan_iax2.so: chan_iax2.o iax2-parser.o iax2-provision.o
 	$(CC) $(SOLINK) -o $@ $< iax2-parser.o iax2-provision.o
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 09b4b43bb6f5470320d14b042e42ea51d417ec58..8e9bbe4f3f1cc8770f7ecbaf39b52d6264286d73 100644
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -33,7 +33,7 @@
  */
 
 /*** MODULEINFO
-	<depend>osssound</depend>
+	<depend>ossaudio</depend>
  ***/
 
 #include <stdio.h>
diff --git a/configure.ac b/configure.ac
index b90d5d32e8b85554a1fddad9fa36a64d6b63ee77..39967212cf49cab1079617b6badbb1abd9f979fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,14 +174,25 @@ AST_EXT_LIB([tds], [tds_version], [tds.h], [FREETDS], [FreeTDS])
 AST_EXT_LIB([vorbis], [vorbis_info_init], [vorbis/codec.h], [VORBIS], [Vorbis], [-lm -lvorbisenc])
 AST_EXT_LIB([z], [compress], [zlib.h], [ZLIB], [zlib])
 
+PBX_LIBossaudio=0
 if test "x${PBX_OSTYPE}" = "xLinux" ; then
-   AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [linux/soundcard.h], [OSS], [Open Sound System])
+   AC_CHECK_HEADER([linux/soundcard.h],
+                   [PBX_LIBossaudio=1
+		    AC_DEFINE_UNQUOTED([HAVE_OSS], 1, [Define to indicate the Open Sound System library])
+		  ])
 elif test "x${PBX_OSTYPE}" = "xFreeBSD" ; then
-   AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [sys/soundcard.h], [OSS], [Open Sound System])
-else
+   AC_CHECK_HEADER([sys/soundcard.h],
+                   [PBX_LIBossaudio=1
+		    AC_DEFINE_UNQUOTED([HAVE_OSS], 1, [Define to indicate the Open Sound System library])
+		  ])
+elif test "x${PBX_OSTYPE}" = "xOpenBSD" ; then
+   AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [soundcard.h], [OSS], [Open Sound System])
+elif test "x${PBX_OSTYPE}" = "xNetBSD" ; then
    AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [soundcard.h], [OSS], [Open Sound System])
 fi
 
+AC_SUBST([PBX_LIBossaudio])
+
 if test "x${PBX_OSTYPE}" = "xLinux" ; then
    AST_EXT_LIB([tonezone], [tone_zone_find], [linux/zaptel.h], [ZAPTEL], [Zaptel])
 else