Ticket #833:
 - Renamed pjsip_timer_default_setting() to pjsip_timer_setting_default().
 - Updated session timer settings in pjsua-lib as whole session timer setting struct (pyhton version remains using se & min_se).
 - Added output param SIP status code in pjsip_timer_process_resp() and pjsip_timer_process_req() to specify the corresponding SIP status code when function returning non-PJ_SUCCESS.
 - Fixed print header functions in sip_timer.c to have buffer check.
 - Added PJSIP_SESS_TIMER_DEF_SE setting to specify the default value of session timer interval.
 - Fixed role reference of the refresher, it is transaction role, not dialog role.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2859 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c
index 013a249..e244aec 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -492,18 +492,10 @@
     }
 
     /* Init Session Timers */
-    {
-	pjsip_timer_setting timer_setting;
-
-	pjsip_timer_default_setting(&timer_setting);
-	timer_setting.sess_expires = acc->cfg.timer_se;
-	timer_setting.min_se = acc->cfg.timer_min_se;
-
-	status = pjsip_timer_init_session(inv, &timer_setting);
-	if (status != PJ_SUCCESS) {
-	    pjsua_perror(THIS_FILE, "Session Timer init failed", status);
-	    goto on_error;
-	}
+    status = pjsip_timer_init_session(inv, &acc->cfg.timer_setting);
+    if (status != PJ_SUCCESS) {
+	pjsua_perror(THIS_FILE, "Session Timer init failed", status);
+	goto on_error;
     }
 
     /* Create and associate our data in the session. */
@@ -916,26 +908,19 @@
     }
 
     /* Init Session Timers */
-    {
-	pjsip_timer_setting timer_setting;
+    status = pjsip_timer_init_session(inv, 
+				    &pjsua_var.acc[acc_id].cfg.timer_setting);
+    if (status != PJ_SUCCESS) {
+	pjsua_perror(THIS_FILE, "Session Timer init failed", status);
+	status = pjsip_inv_end_session(inv, PJSIP_SC_INTERNAL_SERVER_ERROR,
+				       NULL, &response);
+	if (status == PJ_SUCCESS && response)
+	    status = pjsip_inv_send_msg(inv, response);
 
-	pjsip_timer_default_setting(&timer_setting);
-	timer_setting.sess_expires = pjsua_var.acc[acc_id].cfg.timer_se;
-	timer_setting.min_se = pjsua_var.acc[acc_id].cfg.timer_min_se;
+	pjsua_media_channel_deinit(call->index);
 
-	status = pjsip_timer_init_session(inv, &timer_setting);
-	if (status != PJ_SUCCESS) {
-	    pjsua_perror(THIS_FILE, "Session Timer init failed", status);
-	    status = pjsip_inv_end_session(inv, PJSIP_SC_INTERNAL_SERVER_ERROR,
-					   NULL, &response);
-	    if (status == PJ_SUCCESS && response)
-		status = pjsip_inv_send_msg(inv, response);
-
-	    pjsua_media_channel_deinit(call->index);
-
-	    PJSUA_UNLOCK();
-	    return PJ_TRUE;
-	}
+	PJSUA_UNLOCK();
+	return PJ_TRUE;
     }
 
     /* Update NAT type of remote endpoint, only when there is SDP in
@@ -978,7 +963,7 @@
 	    pjsip_inv_terminate(inv, 500, PJ_FALSE);
 	} else {
 	    pjsip_inv_send_msg(inv, response);
-	    pjsip_inv_terminate(inv, PJSIP_ERRNO_TO_SIP_STATUS(status), 
+	    pjsip_inv_terminate(inv, response->msg->line.status.code, 
 				PJ_FALSE);
 	}
 	pjsua_media_channel_deinit(call->index);