summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_call.c
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-08-11 16:26:20 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-08-11 16:26:20 +0000
commitf61fccd70f181bf9156cd523f7d27812f62db7d7 (patch)
tree5522479e04b655e7a41f5e748a84c55c45f490c6 /pjsip/src/pjsua-lib/pjsua_call.c
parent6f204c13ce8519524eb4da79359ac9b2aea08252 (diff)
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: http://svn.pjsip.org/repos/pjproject/trunk@2859 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_call.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c47
1 files changed, 16 insertions, 31 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c
index 013a249e..e244aec0 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -492,18 +492,10 @@ PJ_DEF(pj_status_t) pjsua_call_make_call( pjsua_acc_id acc_id,
}
/* 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 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
}
/* Init Session Timers */
- {
- pjsip_timer_setting timer_setting;
-
- 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;
-
- 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);
+ 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);
- pjsua_media_channel_deinit(call->index);
+ 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 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
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);