summaryrefslogtreecommitdiff
path: root/pjsip/include
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/include
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/include')
-rw-r--r--pjsip/include/pjsip-ua/sip_timer.h12
-rw-r--r--pjsip/include/pjsip/sip_config.h13
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h30
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.