diff --git a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_100rel.h b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_100rel.h
index 1b01d24..d44b0f6 100644
--- a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_100rel.h
+++ b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_100rel.h
@@ -1,4 +1,4 @@
-/* $Id: sip_100rel.h 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_inv.h b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_inv.h
index 1bb0360..5782cf9 100644
--- a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_inv.h
+++ b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_inv.h
@@ -1,4 +1,4 @@
-/* $Id: sip_inv.h 4562 2013-07-15 04:23:31Z ming $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
@@ -172,6 +172,10 @@
      * #pjsip_inv_set_sdp_answer() and the re-INVITE will be answered
      * automatically.
      *
+     * Remarks: Application may need to monitor on_tsx_state_changed()
+     * callback to check whether the re-INVITE is already answered
+     * automatically with 487 due to being cancelled.
+     *
      * @param inv	The invite session.
      * @param offer	Remote offer.
      * @param rdata     The received re-INVITE request.
diff --git a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_regc.h b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_regc.h
index 826d45e..80c7a33 100644
--- a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_regc.h
+++ b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_regc.h
@@ -1,4 +1,4 @@
-/* $Id: sip_regc.h 4173 2012-06-20 10:39:05Z ming $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
@@ -84,6 +84,22 @@
 typedef void pjsip_regc_cb(struct pjsip_regc_cbparam *param);
 
 /**
+ * Structure to hold parameters when calling application's callback
+ * specified in #pjsip_regc_set_reg_tsx_cb().
+ * To update contact address, application can set the field contact_cnt
+ * and contact inside the callback.
+ */
+struct pjsip_regc_tsx_cb_param
+{
+    struct pjsip_regc_cbparam   cbparam;
+    int                         contact_cnt;
+    pj_str_t                    contact[PJSIP_REGC_MAX_CONTACT];
+};
+
+/** Type declaration for callback set in #pjsip_regc_set_reg_tsx_cb(). */
+typedef void pjsip_regc_tsx_cb(struct pjsip_regc_tsx_cb_param *param);
+
+/**
  * Client registration information.
  */
 struct pjsip_regc_info
@@ -191,6 +207,21 @@
 				     pj_uint32_t expires);
 
 /**
+ * Set callback to be called when the registration received a final response.
+ * This callback is different with the one specified during creation via
+ * #pjsip_regc_create(). This callback will be called for any final response
+ * (including 401/407/423) and before any subsequent requests are sent.
+ * In case of unregistration, this callback will not be called.
+ *
+ * @param regc	    The client registration structure.
+ * @param tsx_cb    Pointer to callback function to receive registration status.
+ *
+ * @return	    PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_regc_set_reg_tsx_cb(pjsip_regc *regc,
+				               pjsip_regc_tsx_cb *tsx_cb);
+
+/**
  * Set the "sent-by" field of the Via header for outgoing requests.
  *
  * @param regc	    The client registration structure.
diff --git a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_replaces.h b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_replaces.h
index 6293b0f..aff4449 100644
--- a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_replaces.h
+++ b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_replaces.h
@@ -1,4 +1,4 @@
-/* $Id: sip_replaces.h 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
diff --git a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_timer.h b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_timer.h
index 6ef7931..aac4e68 100644
--- a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_timer.h
+++ b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_timer.h
@@ -1,4 +1,4 @@
-/* $Id: sip_timer.h 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com)
  *
diff --git a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_xfer.h b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_xfer.h
index b7b68d9..b8d8126 100644
--- a/jni/pjproject-android/pjsip/include/pjsip-ua/sip_xfer.h
+++ b/jni/pjproject-android/pjsip/include/pjsip-ua/sip_xfer.h
@@ -1,4 +1,4 @@
-/* $Id: sip_xfer.h 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id$ */
 /* 
  * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
  * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
