diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile
index cf82a3b..f5ec8f2 100644
--- a/pjsip/build/Makefile
+++ b/pjsip/build/Makefile
@@ -5,9 +5,11 @@
 PJLIB_LIB:=../../pjlib/lib/libpj-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
 PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
 PJMEDIA_LIB:=../../pjmedia/lib/libpjmedia-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
+PJMEDIA_CODEC_LIB:=../../pjmedia/lib/libpjmedia-codec-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
 
 export PJSIP_LIB:=../lib/libpjsip-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
 export PJSIP_UA_LIB:=../lib/libpjsip-ua-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
+export PJSIP_SIMPLE_LIB:=../lib/libpjsip-simple-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
 
 
 ###############################################################################
@@ -19,12 +21,14 @@
 export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
 		   $(HOST_CXXFLAGS) $(CXXFLAGS)
 export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJSIP_UA_LIB)) \
+		   $(subst /,$(HOST_PSEP),$(PJSIP_SIMPLE_LIB)) \
 		   $(subst /,$(HOST_PSEP),$(PJSIP_LIB)) \
+		   $(subst /,$(HOST_PSEP),$(PJMEDIA_CODEC_LIB)) \
 		   $(subst /,$(HOST_PSEP),$(PJMEDIA_LIB)) \
 		   $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \
 		   $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
 		   $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
-		   $(LDFLAGS) -lm
+		   $(LDFLAGS) -lm -lwinmm
 
 
 ###############################################################################
@@ -50,11 +54,21 @@
 
 
 ###############################################################################
+# Defines for building PJSIP SIMPLE library
+#
+export PJSIP_SIMPLE_SRCDIR = ../src/pjsip-simple
+export PJSIP_SIMPLE_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
+			errno.o evsub.o evsub_msg.o pidf.o presence.o xpidf.o
+export PJSIP_SIMPLE_CFLAGS += $(_CFLAGS)
+
+
+###############################################################################
 # Defines for building PJSUA
 #
 export PJSUA_SRCDIR = ../src/pjsua
 export PJSUA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
-			main.o pjsua_reg.o pjsua_inv.o pjsua_core.o
+			main.o pjsua_reg.o pjsua_inv.o pjsua_pres.o pjsua_opt.o \
+			pjsua_core.o
 export PJSUA_CFLAGS += $(_CFLAGS)
 export PJSUA_LDFLAGS += $(_LDFLAGS)
 export PJSUA_EXE:=../bin/pjsua-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE)
@@ -66,7 +80,7 @@
 # Main entry
 #
 #
-TARGETS := pjsip pjsip-ua pjsua
+TARGETS := pjsip pjsip-ua pjsip-simple pjsua
 
 all: $(TARGETS)
 
@@ -84,7 +98,10 @@
 pjsip-ua:
 	$(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(PJSIP_UA_LIB)
 
-pjsua: $(PJSIP_LIB) $(PJSIP_UA_LIB)
+pjsip-simple:
+	$(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(PJSIP_SIMPLE_LIB)
+
+pjsua: $(PJSIP_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB)
 	$(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(PJSUA_EXE)
 
 .PHONY: ../lib/pjsip.ko
@@ -97,6 +114,11 @@
 	echo Making $@
 	$(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@
 
+.PHONY: ../lib/pjsip-simple.ko
+../lib/pjsip-simple.ko:
+	echo Making $@
+	$(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@
+
 .PHONY: ../lib/pjsua.ko
 ../lib/pjsua.ko:
 	$(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@
@@ -104,6 +126,7 @@
 clean depend realclean:
 	$(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@
 	$(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@
+	$(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@
 	$(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@
 	@if test "$@" == "depend"; then \
 	  echo '$(PJSUA_EXE): $(PJSIP_LIB) $(PJSIP_UA_LIB)' >> .pjsua-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend; \
diff --git a/pjsip/build/pjsip_simple.dsp b/pjsip/build/pjsip_simple.dsp
index 0739df5..1bca33f 100644
--- a/pjsip/build/pjsip_simple.dsp
+++ b/pjsip/build/pjsip_simple.dsp
@@ -85,6 +85,10 @@
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
+SOURCE="..\src\pjsip-simple\errno.c"
+# End Source File
+# Begin Source File
+
 SOURCE="..\src\pjsip-simple\evsub.c"
 # End Source File
 # Begin Source File
diff --git a/pjsip/src/pjsip-simple/errno.c b/pjsip/src/pjsip-simple/errno.c
new file mode 100644
index 0000000..374178e
--- /dev/null
+++ b/pjsip/src/pjsip-simple/errno.c
@@ -0,0 +1,20 @@
+/* $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 
+ */
+#include <pjsip-simple/errno.h>
+
diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c
index 30bd852..c1b8db8 100644
--- a/pjsip/src/pjsip-simple/evsub.c
+++ b/pjsip/src/pjsip-simple/evsub.c
@@ -568,13 +568,9 @@
 
     case TIMER_TYPE_UAC_TERMINATE:
 	{
-	    pjsip_event event;
-	    pj_str_t reason = { "unsubscribing", 13};
-
-	    PJSIP_EVENT_INIT_TIMER(event, entry);
 	    PJ_LOG(5,(sub->obj_name, "Timeout waiting for final NOTIFY. "
 				     "Terminating.."));
-	    set_state(sub, PJSIP_EVSUB_STATE_TERMINATED, NULL, &event);
+	    set_state(sub, PJSIP_EVSUB_STATE_TERMINATED, NULL, NULL);
 	}
 	break;
 
@@ -964,6 +960,7 @@
 
     /* Fill up the header */
     switch (state) {
+    case PJSIP_EVSUB_STATE_NULL:
     case PJSIP_EVSUB_STATE_SENT:
     case PJSIP_EVSUB_STATE_ACCEPTED:
 	pj_assert(!"Invalid state!");
diff --git a/pjsip/src/pjsip-simple/presence.c b/pjsip/src/pjsip-simple/presence.c
index ca033f5..e87cd45 100644
--- a/pjsip/src/pjsip-simple/presence.c
+++ b/pjsip/src/pjsip-simple/presence.c
@@ -832,7 +832,7 @@
     if (pj_stricmp(&ctype_hdr->media.type, &STR_APPLICATION)==0 &&
 	pj_stricmp(&ctype_hdr->media.subtype, &STR_XPIDF_XML)==0)
     {
-	status = pres_parse_pidf( pres, rdata, &pres->tmp_status);
+	status = pres_parse_xpidf( pres, rdata, &pres->tmp_status);
     }
     else
     {
