summaryrefslogtreecommitdiff
path: root/channels/sip/include
diff options
context:
space:
mode:
Diffstat (limited to 'channels/sip/include')
-rw-r--r--channels/sip/include/sip.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h
index 48a5a3bb5..add14237a 100644
--- a/channels/sip/include/sip.h
+++ b/channels/sip/include/sip.h
@@ -556,9 +556,15 @@ enum st_mode {
/*! \brief The entity playing the refresher role for Session-Timers */
enum st_refresher {
- SESSION_TIMER_REFRESHER_AUTO, /*!< Negotiated */
- SESSION_TIMER_REFRESHER_UAC, /*!< Session is refreshed by the UAC */
- SESSION_TIMER_REFRESHER_UAS /*!< Session is refreshed by the UAS */
+ SESSION_TIMER_REFRESHER_AUTO, /*!< Negotiated */
+ SESSION_TIMER_REFRESHER_US, /*!< Initially prefer session refresh by Asterisk */
+ SESSION_TIMER_REFRESHER_THEM, /*!< Initially prefer session refresh by the other side */
+};
+
+enum st_refresher_param {
+ SESSION_TIMER_REFRESHER_PARAM_UNKNOWN,
+ SESSION_TIMER_REFRESHER_PARAM_UAC,
+ SESSION_TIMER_REFRESHER_PARAM_UAS,
};
/*! \brief Define some implemented SIP transports
@@ -954,14 +960,14 @@ struct sip_notify {
struct sip_st_dlg {
int st_active; /*!< Session-Timers on/off */
int st_interval; /*!< Session-Timers negotiated session refresh interval */
+ enum st_refresher st_ref; /*!< Session-Timers cached refresher */
int st_schedid; /*!< Session-Timers ast_sched scheduler id */
- enum st_refresher st_ref; /*!< Session-Timers session refresher */
int st_expirys; /*!< Session-Timers number of expirys */
int st_active_peer_ua; /*!< Session-Timers on/off in peer UA */
int st_cached_min_se; /*!< Session-Timers cached Min-SE */
int st_cached_max_se; /*!< Session-Timers cached Session-Expires */
enum st_mode st_cached_mode; /*!< Session-Timers cached M.O. */
- enum st_refresher st_cached_ref; /*!< Session-Timers cached refresher */
+ enum st_refresher st_cached_ref; /*!< Session-Timers session refresher */
unsigned char quit_flag:1; /*!< Stop trying to lock; just quit */
};
@@ -970,10 +976,10 @@ struct sip_st_dlg {
* of SIP Session-Timers feature on a per user/peer basis.
*/
struct sip_st_cfg {
- enum st_mode st_mode_oper; /*!< Mode of operation for Session-Timers */
- enum st_refresher st_ref; /*!< Session-Timer refresher */
- int st_min_se; /*!< Lowest threshold for session refresh interval */
- int st_max_se; /*!< Highest threshold for session refresh interval */
+ enum st_mode st_mode_oper; /*!< Mode of operation for Session-Timers */
+ enum st_refresher_param st_ref; /*!< Session-Timer refresher */
+ int st_min_se; /*!< Lowest threshold for session refresh interval */
+ int st_max_se; /*!< Highest threshold for session refresh interval */
};
/*! \brief Structure for remembering offered media in an INVITE, to make sure we reply