From b14c7d99d296b6e4de74581b1cdc1281b9f8255c Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Tue, 7 Sep 2010 09:36:15 +0000 Subject: Re #1120: - Added enum pjsua_sip_timer_use for session timer usage types, containing: inactive, optional, required, always - Replaced require_timer (boolean) with above enum in global and account config setting. - Updated pjsua app --use-timer option accordingly. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3305 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/include/pjsua-lib/pjsua.h | 48 +++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 9 deletions(-) (limited to 'pjsip/include/pjsua-lib') diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index b74a209e..0ab24942 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -886,6 +886,36 @@ typedef struct pjsua_callback } pjsua_callback; +/** + * This enumeration specifies the usage of SIP Session Timers extension. + */ +typedef enum pjsua_sip_timer_use +{ + /** + * When this flag is specified, Session Timers will not be used in any + * session, except it is explicitly required in the remote request. + */ + PJSUA_SIP_TIMER_INACTIVE, + + /** + * When this flag is specified, Session Timers will be used in all + * sessions whenever remote supports and uses it. + */ + PJSUA_SIP_TIMER_OPTIONAL, + + /** + * When this flag is specified, Session Timers support will be + * a requirement for the remote to be able to establish a session. + */ + PJSUA_SIP_TIMER_REQUIRED, + + /** + * When this flag is specified, Session Timers will always be used + * in all sessions, regardless whether remote supports/uses it or not. + */ + PJSUA_SIP_TIMER_ALWAYS + +} pjsua_sip_timer_use; /** @@ -1033,13 +1063,13 @@ typedef struct pjsua_config pj_bool_t require_100rel; /** - * Specify whether support for Session Timers should be required by - * default. Note that this setting can be further customized in account - * configuration (#pjsua_acc_config). + * Specify the usage of Session Timers for all sessions. See the + * #pjsua_sip_timer_use for possible values. Note that this setting can be + * further customized in account configuration (#pjsua_acc_config). * - * Default: PJ_FALSE + * Default: PJSUA_SIP_TIMER_OPTIONAL */ - pj_bool_t require_timer; + pjsua_sip_timer_use use_timer; /** * Handle unsolicited NOTIFY requests containing message waiting @@ -2098,12 +2128,12 @@ typedef struct pjsua_acc_config pj_bool_t require_100rel; /** - * Specify whether support for Session Timers should be required for all - * sessions of this account. + * Specify the usage of Session Timers for all sessions. See the + * #pjsua_sip_timer_use for possible values. * - * Default: PJ_FALSE + * Default: PJSUA_SIP_TIMER_OPTIONAL */ - pj_bool_t require_timer; + pjsua_sip_timer_use use_timer; /** * Specify Session Timer settings, see #pjsip_timer_setting. -- cgit v1.2.3