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/include | |
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/include')
-rw-r--r-- | pjsip/include/pjsip-ua/sip_timer.h | 12 | ||||
-rw-r--r-- | pjsip/include/pjsip/sip_config.h | 13 | ||||
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 30 |
3 files changed, 26 insertions, 29 deletions
diff --git a/pjsip/include/pjsip-ua/sip_timer.h b/pjsip/include/pjsip-ua/sip_timer.h index cb77fae7..f4aa5dc3 100644 --- a/pjsip/include/pjsip-ua/sip_timer.h +++ b/pjsip/include/pjsip-ua/sip_timer.h @@ -125,7 +125,7 @@ PJ_DECL(pj_status_t) pjsip_timer_init_module(pjsip_endpoint *endpt); * * @return PJ_SUCCESS on successful. */ -PJ_DECL(pj_status_t) pjsip_timer_default_setting(pjsip_timer_setting *setting); +PJ_DECL(pj_status_t) pjsip_timer_setting_default(pjsip_timer_setting *setting); /** @@ -191,11 +191,14 @@ PJ_DECL(pj_status_t) pjsip_timer_update_req(pjsip_inv_session *inv, * * @param inv The invite session. * @param rdata Incoming response data. + * @param st_code Output buffer to store corresponding SIP status code + * when function returning non-PJ_SUCCESS. * * @return PJ_SUCCESS on successful. */ PJ_DECL(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, - const pjsip_rx_data *rdata); + const pjsip_rx_data *rdata, + pjsip_status_code *st_code); /** @@ -207,11 +210,14 @@ PJ_DECL(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, * * @param inv The invite session. * @param rdata Incoming INVITE or UPDATE request. + * @param st_code Output buffer to store corresponding SIP status code + * when function returning non-PJ_SUCCESS. * * @return PJ_SUCCESS on successful. */ PJ_DECL(pj_status_t) pjsip_timer_process_req(pjsip_inv_session *inv, - const pjsip_rx_data *rdata); + const pjsip_rx_data *rdata, + pjsip_status_code *st_code); /** diff --git a/pjsip/include/pjsip/sip_config.h b/pjsip/include/pjsip/sip_config.h index 22eb0614..af38c040 100644 --- a/pjsip/include/pjsip/sip_config.h +++ b/pjsip/include/pjsip/sip_config.h @@ -883,6 +883,19 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void) #endif +/** + * Default session interval for Session Timer (RFC 4028) extension, in + * seconds. As specified in RFC 4028 Section 4, this value must not be + * less than the absolute minimum for the Session-Expires header field + * 90 seconds, and the recommended value is 1800 seconds. + * + * Default: 1800 seconds + */ +#ifndef PJSIP_SESS_TIMER_DEF_SE +# define PJSIP_SESS_TIMER_DEF_SE 1800 +#endif + + PJ_END_DECL /** diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index 0b257c7c..43db66ea 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -936,22 +936,11 @@ typedef struct pjsua_config pj_bool_t require_timer; /** - * Specify session expiration period of Session Timers, in seconds. + * Specify Session Timer settings, see #pjsip_timer_setting. * Note that this setting can be further customized in account * configuration (#pjsua_acc_config). - * - * Default: 1800 (seconds) - */ - unsigned timer_se; - - /** - * Specify minimum session expiration period of Session Timers, - * in seconds. Note that this setting can be further customized in - * account configuration (#pjsua_acc_config). - * - * Default: 90 (seconds) */ - unsigned timer_min_se; + pjsip_timer_setting timer_setting; /** * Number of credentials in the credential array. @@ -1733,20 +1722,9 @@ typedef struct pjsua_acc_config pj_bool_t require_timer; /** - * Specify session expiration period of Session Timers, in seconds, - * for this account. - * - * Default: 1800 (seconds) - */ - unsigned timer_se; - - /** - * Specify minimum session expiration period of Session Timers, - * in seconds, for this account. - * - * Default: 90 (seconds) + * Specify Session Timer settings, see #pjsip_timer_setting. */ - unsigned timer_min_se; + pjsip_timer_setting timer_setting; /** * Number of proxies in the proxy array below. |