diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index 579d722..fb324f4 100644
--- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -1768,7 +1768,7 @@
  * Default registration interval.
  */
 #ifndef PJSUA_REG_INTERVAL
-#   define PJSUA_REG_INTERVAL	    55
+#   define PJSUA_REG_INTERVAL	    300
 #endif
 
 
@@ -1897,7 +1897,7 @@
 
     /** 
      * Optional interval for registration, in seconds. If the value is zero, 
-     * default interval will be used (PJSUA_REG_INTERVAL, 55 seconds).
+     * default interval will be used (PJSUA_REG_INTERVAL, 300 seconds).
      */
     unsigned	    reg_timeout;
 
@@ -1947,6 +1947,28 @@
      */
     pj_bool_t auto_update_nat;
 
+    /**
+     * Set the interval for periodic keep-alive transmission for this account.
+     * If this value is zero, keep-alive will be disabled for this account.
+     * The keep-alive transmission will be sent to the registrar's address,
+     * after successful registration.
+     *
+     * Even if this setting is enabled, keep-alive transmission is only done
+     * when STUN is enabled in the global #pjsua_config, and the transport
+     * used for registration is UDP. For TCP and TLS transports, keep-alive
+     * is done by the transport themselves.
+     *
+     * Default: 15 (seconds)
+     */
+    unsigned	     ka_interval;
+
+    /**
+     * Specify the data to be transmitted as keep-alive packets.
+     *
+     * Default: CR-LF
+     */
+    pj_str_t	     ka_data;
+
 } pjsua_acc_config;
 
 
@@ -1966,6 +1988,18 @@
 
 
 /**
+ * Duplicate account config.
+ *
+ * @param pool	    Pool to be used for duplicating the config.
+ * @param dst	    Destination configuration.
+ * @param src	    Source configuration.
+ */
+PJ_DECL(void) pjsua_acc_config_dup(pj_pool_t *pool,
+				   pjsua_acc_config *dst,
+				   const pjsua_acc_config *src);
+
+
+/**
  * Account info. Application can query account info by calling 
  * #pjsua_acc_get_info().
  *
diff --git a/pjsip/include/pjsua-lib/pjsua_internal.h b/pjsip/include/pjsua-lib/pjsua_internal.h
index 004c1ca..87d30b9 100644
--- a/pjsip/include/pjsua-lib/pjsua_internal.h
+++ b/pjsip/include/pjsua-lib/pjsua_internal.h
@@ -86,10 +86,14 @@
     int		     srv_port;	    /**< Port number of reg server.	*/
 
     pjsip_regc	    *regc;	    /**< Client registration session.   */
-    pj_timer_entry   reg_timer;	    /**< Registration timer.		*/
     pj_status_t	     reg_last_err;  /**< Last registration error.	*/
     int		     reg_last_code; /**< Last status last register.	*/
 
+    pj_timer_entry   ka_timer;	    /**< Keep-alive timer for UDP.	*/
+    pjsip_transport *ka_transport;  /**< Transport for keep-alive.	*/
+    pj_sockaddr	     ka_target;	    /**< Destination address for K-A	*/
+    unsigned	     ka_target_len; /**< Length of ka_target.		*/
+
     pjsip_route_hdr  route_set;	    /**< Complete route set inc. outbnd.*/
 
     unsigned	     cred_cnt;	    /**< Number of credentials.		*/
