diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2009-08-11 16:26:20 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2009-08-11 16:26:20 +0000 |
commit | f61fccd70f181bf9156cd523f7d27812f62db7d7 (patch) | |
tree | 5522479e04b655e7a41f5e748a84c55c45f490c6 /pjsip/src/pjsua-lib | |
parent | 6f204c13ce8519524eb4da79359ac9b2aea08252 (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')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 47 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_core.c | 9 |
2 files changed, 18 insertions, 38 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); diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c index 6cd9cac5..c714be77 100644 --- a/pjsip/src/pjsua-lib/pjsua_core.c +++ b/pjsip/src/pjsua-lib/pjsua_core.c @@ -87,8 +87,6 @@ PJ_DEF(void) pjsua_logging_config_dup(pj_pool_t *pool, PJ_DEF(void) pjsua_config_default(pjsua_config *cfg) { - pjsip_timer_setting timer_setting; - pj_bzero(cfg, sizeof(*cfg)); cfg->max_calls = ((PJSUA_MAX_CALLS) < 4) ? (PJSUA_MAX_CALLS) : 4; @@ -101,9 +99,7 @@ PJ_DEF(void) pjsua_config_default(pjsua_config *cfg) #endif cfg->hangup_forked_call = PJ_TRUE; - pjsip_timer_default_setting(&timer_setting); - cfg->timer_se = timer_setting.sess_expires; - cfg->timer_min_se = timer_setting.min_se; + pjsip_timer_setting_default(&cfg->timer_setting); } PJ_DEF(void) pjsua_config_dup(pj_pool_t *pool, @@ -157,8 +153,7 @@ PJ_DEF(void) pjsua_acc_config_default(pjsua_acc_config *cfg) cfg->allow_contact_rewrite = PJ_TRUE; cfg->require_100rel = pjsua_var.ua_cfg.require_100rel; cfg->require_timer = pjsua_var.ua_cfg.require_timer; - cfg->timer_se = pjsua_var.ua_cfg.timer_se; - cfg->timer_min_se = pjsua_var.ua_cfg.timer_min_se; + cfg->timer_setting = pjsua_var.ua_cfg.timer_setting; cfg->ka_interval = 15; cfg->ka_data = pj_str("\r\n"); #if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) |