diff -urN a/package/asterisk-1.4.x/Makefile b/package/asterisk-1.4.x/Makefile
--- a/package/asterisk-1.4.x/Makefile	2007-12-28 10:53:52.000000000 +0100
+++ b/package/asterisk-1.4.x/Makefile	2007-12-28 23:10:00.000000000 +0100
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=asterisk
-PKG_VERSION:=1.4.11
+PKG_VERSION:=1.4.16.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://ftp.digium.com/pub/asterisk/old-releases/
-PKG_MD5SUM:=3ba9b399fedc68de4845b1c5603d167c
+PKG_MD5SUM:=1010a11dace37ae8e8b55864db73d0ef
 
 PKG_BUILD_DEPENDS:= libopenh323 pwlib
 
@@ -264,7 +264,7 @@
 CONFIGURE_ARGS+= \
 	--without-curl \
 	--without-curses \
-	--without-gsm \
+	--with-gsm="internal" \
 	--without-imap \
 	--without-isdnnet \
 	--without-kde \
@@ -292,6 +292,7 @@
 	--without-vpb \
 	--with-z="$(STAGING_DIR)/usr" \
 	--without-zaptel \
+	--disable-largefile \
 
 EXTRA_CFLAGS:= $(TARGET_CPPFLAGS)
 EXTRA_LDFLAGS:= $(TARGET_LDFLAGS)
diff -urN a/package/asterisk-1.4.x/patches/011-Makefile-main.patch b/package/asterisk-1.4.x/patches/011-Makefile-main.patch
--- a/package/asterisk-1.4.x/patches/011-Makefile-main.patch	2007-12-28 10:53:52.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/011-Makefile-main.patch	2007-12-28 23:44:30.766739995 +0100
@@ -1,12 +0,0 @@
-diff -Nru asterisk-1.4.5.org/main/Makefile asterisk-1.4.5/main/Makefile
---- asterisk-1.4.5.org/main/Makefile	2007-04-10 18:05:55.000000000 +0200
-+++ asterisk-1.4.5/main/Makefile	2007-06-22 08:59:22.000000000 +0200
-@@ -135,7 +135,7 @@
- 	@rm -f $(ASTTOPDIR)/include/asterisk/build.h.tmp
- 	@$(CC) -c -o buildinfo.o $(ASTCFLAGS) buildinfo.c
- 	$(ECHO_PREFIX) echo "   [LD] $^ -> $@"
--	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
-+	$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
- 	@$(ASTTOPDIR)/build_tools/strip_nonapi $@
- 
- clean::
diff -urN a/package/asterisk-1.4.x/patches/080-utils_no_cxx.patch b/package/asterisk-1.4.x/patches/080-utils_no_cxx.patch
--- a/package/asterisk-1.4.x/patches/080-utils_no_cxx.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/080-utils_no_cxx.patch	2007-04-21 20:05:13.000000000 +0200
@@ -0,0 +1,49 @@
+--- asterisk-1.4.2/utils/Makefile.orig	2007-01-24 18:26:22.000000000 +0000
++++ asterisk-1.4.2/utils/Makefile	2007-04-21 17:59:39.000000000 +0000
+@@ -62,10 +62,10 @@
+ 	@cp $< $@
+ 
+ astman: astman.o md5.o
+-astman: LIBS+=$(NEWT_LIB)
++	$(CC) -o $@ $+ $(NEWT_LIB)
+ 
+ stereorize: stereorize.o frame.o
+-stereorize: LIBS+=-lm
++	$(CC) -o $@ $+ -lm
+ 
+ strcompat.c: ../main/strcompat.c
+ 	@cp $< $@
+@@ -87,6 +87,7 @@
+ ast_expr2f.o: ASTCFLAGS+=-DSTANDALONE_AEL -I../main
+ 
+ check_expr: check_expr.o ast_expr2.o ast_expr2f.o
++	$(CC) -o $@ $+
+ 
+ aelbison.c: ../pbx/ael/ael.tab.c
+ 	@cp $< $@
+@@ -105,6 +106,7 @@
+ aelparse.o: ASTCFLAGS+=-I../pbx -DSTANDALONE_AEL
+ 
+ aelparse: aelparse.o aelbison.o pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o strcompat.o
++	$(CC) -o $@ $+
+ 
+ testexpr2s: ../main/ast_expr2f.c ../main/ast_expr2.c ../main/ast_expr2.h
+ 	$(CC) -g -c -I../include -DSTANDALONE_AEL ../main/ast_expr2f.c -o ast_expr2f.o
+@@ -113,13 +115,14 @@
+ 	rm ast_expr2.o ast_expr2f.o 
+ 	./testexpr2s expr2.testinput
+ 
+-smsq: smsq.o strcompat.o
+-smsq: LIBS+=$(POPT_LIB)
++smsq: smsq.o strcompat.o $(POPT_LIB)
++	$(CC) -o $@ $+
+ 
+ streamplayer: streamplayer.o
++	$(CC) -o $@ $+
+ 
+ muted: muted.o
+-muted: LIBS+=$(AUDIO_LIBS)
++	$(CC) -o $@ $+ $(AUDIO_LIBS)
+ 
+ ifneq ($(wildcard .*.d),)
+    include .*.d
diff -urN a/package/asterisk-1.4.x/patches/081-agi_no_cxx.patch b/package/asterisk-1.4.x/patches/081-agi_no_cxx.patch
--- a/package/asterisk-1.4.x/patches/081-agi_no_cxx.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/081-agi_no_cxx.patch	2007-04-21 20:01:12.000000000 +0200
@@ -0,0 +1,13 @@
+--- asterisk-1.4.2/agi/Makefile.orig	2006-12-16 21:14:34.000000000 +0000
++++ asterisk-1.4.2/agi/Makefile	2007-04-21 16:05:35.000000000 +0000
+@@ -27,8 +27,10 @@
+ 	@cp $< $@
+ 
+ eagi-test: eagi-test.o strcompat.o
++	$(CC) -o $@ $+
+ 
+ eagi-sphinx-test: eagi-sphinx-test.o
++	$(CC) -o $@ $+
+ 
+ install: all
+ 	mkdir -p $(DESTDIR)$(AGI_DIR)
diff -urN a/package/asterisk-1.4.x/patches/090-io.c.patch b/package/asterisk-1.4.x/patches/090-io.c.patch
--- a/package/asterisk-1.4.x/patches/090-io.c.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/090-io.c.patch	2007-04-18 00:27:35.000000000 +0200
@@ -0,0 +1,52 @@
+--- asterisk-1.4.2/main/io.c.orig	2007-04-17 23:55:45.000000000 +0200
++++ asterisk-1.4.2/main/io.c	2007-04-18 00:07:34.000000000 +0200
+@@ -33,8 +33,10 @@
+ #include <termios.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
++#include <signal.h>
+ 
+ #include "asterisk/io.h"
++#include "asterisk/lock.h"
+ #include "asterisk/logger.h"
+ #include "asterisk/utils.h"
+ 
+@@ -252,7 +254,7 @@
+ 	return -1;
+ }
+ 
+-int ast_io_wait(struct io_context *ioc, int howlong)
++int ast_io_wait_threadid(struct io_context *ioc, int howlong, pthread_t threadid)
+ {
+ 	/*
+ 	 * Make the poll call, and call
+@@ -263,7 +265,16 @@
+ 	int x;
+ 	int origcnt;
+ 	DEBUG(ast_log(LOG_DEBUG, "ast_io_wait()\n"));
+-	res = poll(ioc->fds, ioc->fdcnt, howlong);
++	if( threadid == AST_PTHREADT_NULL) {
++	 res = poll(ioc->fds, ioc->fdcnt, howlong);
++	} else {
++	 sigset_t set;
++	 sigemptyset(&set);
++	 sigaddset(&set, SIGURG);
++	 pthread_sigmask(SIG_UNBLOCK, &set, NULL);
++	 res = poll(ioc->fds, ioc->fdcnt, howlong);
++	 pthread_sigmask(SIG_BLOCK, &set, NULL);
++	}
+ 	if (res > 0) {
+ 		/*
+ 		 * At least one event
+@@ -290,6 +301,11 @@
+ 	return res;
+ }
+ 
++int ast_io_wait(struct io_context *ioc, int howlong)
++{
++ return ast_io_wait_threadid(ioc, howlong, AST_PTHREADT_NULL);
++}
++
+ void ast_io_dump(struct io_context *ioc)
+ {
+ 	/*
diff -urN a/package/asterisk-1.4.x/patches/090-Makefile-utils.patch b/package/asterisk-1.4.x/patches/090-Makefile-utils.patch
--- a/package/asterisk-1.4.x/patches/090-Makefile-utils.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/090-Makefile-utils.patch	2007-12-28 17:33:32.000000000 +0100
@@ -0,0 +1,13 @@
+--- asterisk-1.4.11/utils/Makefile.orig	2007-12-28 16:54:22.000000000 +0100
++++ asterisk-1.4.11/utils/Makefile	2007-12-28 17:21:43.000000000 +0100
+@@ -117,8 +118,8 @@
+ 	rm ast_expr2.o ast_expr2f.o 
+ 	./testexpr2s expr2.testinput
+ 
+-smsq: smsq.o strcompat.o $(POPT_LIB)
+-	$(CC) -o $@ $+
++smsq: smsq.o strcompat.o
++	$(CC) -o $@ $+ $(POPT_LIB)
+ 
+ streamplayer: streamplayer.o
+ 	$(CC) -o $@ $+
diff -urN a/package/asterisk-1.4.x/patches/091-io.h.patch b/package/asterisk-1.4.x/patches/091-io.h.patch
--- a/package/asterisk-1.4.x/patches/091-io.h.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/091-io.h.patch	2007-04-18 00:27:35.000000000 +0200
@@ -0,0 +1,17 @@
+--- asterisk-1.4.2/include/asterisk/io.h.orig   2005-11-29 18:24:39.000000000 +0000
++++ asterisk-1.4.2/include/asterisk/io.h        2007-04-17 00:19:29.000000000 +0000
+@@ -113,12 +113,14 @@
+ /*!
+  * \param ioc which context to act upon
+  * \param howlong how many milliseconds to wait
++ * \param threadid thread where SIGURG has to be unblocked during poll()
+  * Wait for I/O to happen, returning after
+  * howlong milliseconds, and after processing
+  * any necessary I/O.  Returns the number of
+  * I/O events which took place.
+  */
+ int ast_io_wait(struct io_context *ioc, int howlong);
++int ast_io_wait_threadid(struct io_context *ioc, int howlong, pthread_t threadid);  
+ 
+ /*! Dumps the IO array */
+ /*
diff -urN a/package/asterisk-1.4.x/patches/unused/011-Makefile-main.patch b/package/asterisk-1.4.x/patches/unused/011-Makefile-main.patch
--- a/package/asterisk-1.4.x/patches/unused/011-Makefile-main.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-1.4.x/patches/unused/011-Makefile-main.patch	2007-12-28 10:53:52.000000000 +0100
@@ -0,0 +1,12 @@
+diff -Nru asterisk-1.4.5.org/main/Makefile asterisk-1.4.5/main/Makefile
+--- asterisk-1.4.5.org/main/Makefile	2007-04-10 18:05:55.000000000 +0200
++++ asterisk-1.4.5/main/Makefile	2007-06-22 08:59:22.000000000 +0200
+@@ -135,7 +135,7 @@
+ 	@rm -f $(ASTTOPDIR)/include/asterisk/build.h.tmp
+ 	@$(CC) -c -o buildinfo.o $(ASTCFLAGS) buildinfo.c
+ 	$(ECHO_PREFIX) echo "   [LD] $^ -> $@"
+-	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
++	$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
+ 	@$(ASTTOPDIR)/build_tools/strip_nonapi $@
+ 
+ clean::
diff -urN a/package/asterisk-addons-1.4.x/Makefile b/package/asterisk-addons-1.4.x/Makefile
--- a/package/asterisk-addons-1.4.x/Makefile	2007-12-28 10:53:50.000000000 +0100
+++ b/package/asterisk-addons-1.4.x/Makefile	2007-12-29 02:28:11.000000000 +0100
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=asterisk-addons
-PKG_VERSION:=1.4.2
+PKG_VERSION:=1.4.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://ftp.digium.com/pub/asterisk/old-releases/
-PKG_MD5SUM:=c080b02e6ddc81dab6a64691af890805
+PKG_MD5SUM:=8de9922c0a93321941f29a77a2f1bf13
 
 PKG_FIXUP = libtool
 
@@ -115,11 +115,13 @@
 	BLUETOOTH_LIB="$(TARGET_LDFLAGS) -lbluetooth" \
 
 MAKE_VARS:= \
-	CFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY" \
+	CFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY " \
 	LDFLAGS="$(EXTRA_LDFLAGS)" \
+	ASTERISK_INCLUDE="-I$(PKG_BUILD_DIR)/../asterisk-1.4.16.2/include" \
 
 define Build/Compile
 	mkdir -p $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules
+	(cd $(PKG_BUILD_DIR)/asterisk-ooh323c; libtoolize --copy --force)
 	$(MAKE_VARS) \
 	$(MAKE) -C "$(PKG_BUILD_DIR)" \
 		$(MAKE_ARGS) \
diff -urN a/package/asterisk-addons-1.4.x/patches/110-Makefile.rules.patch b/package/asterisk-addons-1.4.x/patches/110-Makefile.rules.patch
--- a/package/asterisk-addons-1.4.x/patches/110-Makefile.rules.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-addons-1.4.x/patches/110-Makefile.rules.patch	2007-12-29 02:55:15.000000000 +0100
@@ -0,0 +1,11 @@
+--- asterisk-addons-1.4.2/Makefile.rules.orig	2007-10-19 16:41:27.000000000 +0200
++++ asterisk-addons-1.4.2/Makefile.rules	2007-12-29 02:30:54.000000000 +0100
+@@ -35,7 +35,7 @@
+ #K6OPT=-DK6OPT
+ 
+ OPTIMIZE?=-O6
+-ASTCFLAGS+=$(OPTIMIZE)
++ASTCFLAGS+=$(OPTIMIZE) -I../../../staging_dir/mipsel/usr/include -I../../../../staging_dir/mipsel/usr/include
+ endif
+ 
+ %.o: %.c
diff -urN a/package/asterisk-addons-1.4.x/patches/unused/021-cross_configure.patch b/package/asterisk-addons-1.4.x/patches/unused/021-cross_configure.patch
--- a/package/asterisk-addons-1.4.x/patches/unused/021-cross_configure.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/asterisk-addons-1.4.x/patches/unused/021-cross_configure.patch	2007-12-28 10:53:50.000000000 +0100
@@ -0,0 +1,12 @@
+diff -ruN asterisk-addons-1.4.2-old/menuselect/Makefile asterisk-addons-1.4.2-new/menuselect/Makefile
+--- asterisk-addons-1.4.2-old/menuselect/Makefile	2007-06-06 00:01:45.000000000 +0200
++++ asterisk-addons-1.4.2-new/menuselect/Makefile	2007-09-19 18:00:27.000000000 +0200
+@@ -42,7 +42,7 @@
+ 	@$(MAKE) menuselect
+ 
+ autoconfig.h:
+-	@./configure $(CONFIGURE_SILENT) CC= LD= AR=
++	@./configure $(CONFIGURE_SILENT) CC= LD= AR= LDFLAGS=
+ 
+ _gmenuselect: autoconfig.h 
+ 	@$(MAKE) gmenuselect
diff -urN a/package/busybox/config/Config.in b/package/busybox/config/Config.in
--- a/package/busybox/config/Config.in	2007-12-28 12:21:27.000000000 +0100
+++ b/package/busybox/config/Config.in	2007-12-28 14:23:14.000000000 +0100
@@ -359,7 +359,7 @@
 
 config BUSYBOX_CONFIG_LFS
 	bool
-	default y
+	default n
 	select BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
 	help
 	  If you want to build BusyBox with large file support, then enable
diff -urN a/package/mysql/Makefile b/package/mysql/Makefile
--- a/package/mysql/Makefile	2007-12-28 10:54:00.000000000 +0100
+++ b/package/mysql/Makefile	2007-12-29 01:21:25.000000000 +0100
@@ -44,11 +44,14 @@
 		configure \
 	);
 	$(call Build/Configure/Default, \
+		--prefix=/usr \
 		--enable-shared \
 		--enable-static \
 		--disable-assembler \
 		--with-pthread \
 		--without-raid \
+		--disable-largefile \
+		--disable-nls \
 		--with-unix-socket-path=/tmp \
 		--without-libwrap \
 		--without-pstack \
@@ -61,9 +64,10 @@
 		--without-openssl \
 		--without-docs \
 		--without-bench \
-		--without-readline \
+		--with-readline \
 		--with-named-thread-libs=-lpthread \
 		, \
+		_FILE_OFFSET_BITS=32 \
 		mysql_cv_compress=yes \
 		mysql_cv_gethostname_style=glibc2 \
 	);
@@ -77,7 +81,7 @@
 		DESTDIR="$(PKG_INSTALL_DIR)" \
 		all install
 	$(MAKE) -C "$(PKG_BUILD_DIR)/libmysql" \
-		CC="$(HOSTCC)" \
+		CC="$(HOSTCC) -I/include -I/usr/include " \
 		LINK="$(HOSTCC) -o conf_to_src -lc" \
 		CFLAGS="" \
 		CPPFLAGS="" \
diff -urN a/package/mysql/patches/unused/510-conf_to_src.c.patch b/package/mysql/patches/unused/510-conf_to_src.c.patch
--- a/package/mysql/patches/unused/510-conf_to_src.c.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/package/mysql/patches/unused/510-conf_to_src.c.patch	2007-12-29 01:23:48.066227146 +0100
@@ -0,0 +1,15 @@
+--- mysql.old/libmysql/conf_to_src.c.orig	2005-12-21 20:39:47.000000000 +0100
++++ mysql.old/libmysql/conf_to_src.c	2007-12-29 01:14:55.000000000 +0100
+@@ -20,9 +20,11 @@
+ /* can't use -lmysys because this prog is used to create -lstrings */
+ 
+ 
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <my_global.h>
+ #include <ctype.h>
+-#include <string.h>
+ #include <unistd.h>
+ 
+ #define CHARSETS_SUBDIR "sql/share/charsets"
diff -urN a/package/openssl/Makefile b/package/openssl/Makefile
--- a/package/openssl/Makefile	2007-12-28 12:21:22.000000000 +0100
+++ b/package/openssl/Makefile	2007-12-28 15:05:02.000000000 +0100
@@ -79,6 +79,7 @@
 			$(TARGET_CPPFLAGS) \
 			$(TARGET_LDFLAGS) -ldl \
 			-DOPENSSL_SMALL_FOOTPRINT \
+			-D_FILE_OFFSET_BITS \
 			$(OPENSSL_NO_CIPHERS) \
 			$(OPENSSL_OPTIONS) \
 	)
diff -urN a/package/sqlite2/Makefile b/package/sqlite2/Makefile
--- a/package/sqlite2/Makefile	2007-12-28 10:53:58.000000000 +0100
+++ b/package/sqlite2/Makefile	2007-12-28 16:48:07.000000000 +0100
@@ -68,7 +68,7 @@
 		config_BUILD_CC="$(HOSTCC)" \
 		config_BUILD_CFLAGS="-O2" \
 		config_TARGET_CC="$(TARGET_CC)" \
-		config_TARGET_CFLAGS="$(TARGET_CFLAGS)" \
+		config_TARGET_CFLAGS="$(TARGET_CFLAGS) -DSQLITE_DISABLE_LFS" \
 		config_TARGET_READLINE_INC="-I$(STAGING_DIR)/usr/include" \
 		config_TARGET_READLINE_LIBS="-L$(STAGING_DIR)/usr/lib -lreadline -lncurses" \
 		config_TARGET_TCL_INC="-DNO_TCL=1" \
diff -urN a/package/uclibc++/files/config.default b/package/uclibc++/files/config.default
--- a/package/uclibc++/files/config.default	2007-12-28 10:53:58.000000000 +0100
+++ b/package/uclibc++/files/config.default	2007-12-28 16:22:52.000000000 +0100
@@ -15,9 +15,9 @@
 #
 # String and I/O Stream Support
 #
-UCLIBCXX_HAS_WCHAR=y
+# UCLIBCXX_HAS_WCHAR is not set
 UCLIBCXX_IOSTREAM_BUFSIZE=32
-UCLIBCXX_HAS_LFS=y
+# UCLIBCXX_HAS_LFS is not set
 UCLIBCXX_SUPPORT_CDIR=y
 UCLIBCXX_SUPPORT_CIN=y
 UCLIBCXX_SUPPORT_COUT=y
