Author: brian Date: Fri Sep 26 14:21:42 2008 New Revision: 9665 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Log: MODENDP-131 with minor mods Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Fri Sep 26 14:21:42 2008 @@ -368,6 +368,7 @@ uint32_t inuse; time_t started; uint32_t session_timeout; + uint32_t minimum_session_expires; uint32_t max_proceeding; uint32_t rtp_timeout_sec; uint32_t rtp_hold_timeout_sec; Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Fri Sep 26 14:21:42 2008 @@ -575,6 +575,7 @@ NUTAG_ALLOW("NOTIFY"), NUTAG_ALLOW_EVENTS("talk"), NUTAG_SESSION_TIMER(profile->session_timeout), + TAG_IF(profile->minimum_session_expires, NUTAG_MIN_SE(profile->minimum_session_expires)), NTATAG_MAX_PROCEEDING(profile->max_proceeding), TAG_IF(profile->pres_type, NUTAG_ALLOW("PUBLISH")), TAG_IF(profile->pres_type, NUTAG_ALLOW("SUBSCRIBE")), @@ -1682,6 +1683,12 @@ if (!switch_true(val)) { profile->pflags |= PFLAG_DISABLE_TIMER; } + } else if (!strcasecmp(var, "minimum-session-expires")) { + profile->minimum_session_expires = atoi(val); + /* per RFC 4028: minimum_session_expires must be > 90 */ + if (profile->minimum_session_expires < 90) { + profile->minimum_session_expires = 90; + } } else if (!strcasecmp(var, "enable-100rel")) { if (!switch_true(val)) { profile->pflags |= PFLAG_DISABLE_100REL;