From 63169e00ff21d528e40568dec6dcfd0114b55c48 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Sat, 18 Apr 2015 12:36:19 -0600 Subject: pjsip_options: Fix non-qualified contacts showing as unavailable The "Add qualify_timeout processing and eventing" patch introduced an issue where contacts that had qualify_frequency set to 0 were showing Unavailable instead Unknown. This patch checks for qualify_frequency=0 and create an "Unknown" contact_status with an RTT = 0. Previously, the lack of contact_status implied Unknown but since we're now changing endpoint state based on contact_status, I've had to add new UNKNOWN status so that changes could trigger the appropriate contact_status observers. ASTERISK-24977: #close Change-Id: Ifcbc01533ce57f0e4e584b89a395326e098b8fe7 --- include/asterisk/res_pjsip.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h index e6809506b..a15e967b8 100644 --- a/include/asterisk/res_pjsip.h +++ b/include/asterisk/res_pjsip.h @@ -177,7 +177,8 @@ struct ast_sip_contact { */ enum ast_sip_contact_status_type { UNAVAILABLE, - AVAILABLE + AVAILABLE, + UNKNOWN }; /*! @@ -2000,5 +2001,13 @@ unsigned int ast_sip_get_keep_alive_interval(void); */ unsigned int ast_sip_get_max_initial_qualify_time(void); +/*! + * \brief translate ast_sip_contact_status_type to character string. + * + * \retval the character string equivalent. + */ + +const char *ast_sip_get_contact_status_label(const enum ast_sip_contact_status_type status); +const char *ast_sip_get_contact_short_status_label(const enum ast_sip_contact_status_type status); #endif /* _RES_PJSIP_H */ -- cgit v1.2.3