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
This commit is contained in:
George Joseph
2015-04-18 12:36:19 -06:00
parent e05b076827
commit 63169e00ff
5 changed files with 51 additions and 41 deletions

View File

@@ -747,8 +747,8 @@ static int cli_contact_print_body(void *obj, void *arg, int flags)
"Contact",
flexwidth, flexwidth,
wrapper->contact_id,
(status ? (status->status == AVAILABLE ? "Avail" : "Unavail") : "Unknown"),
(status ? ((long long) status->rtt) / 1000.0 : NAN));
ast_sip_get_contact_short_status_label(status->status),
(status->status != UNKNOWN ? ((long long) status->rtt) / 1000.0 : NAN));
return 0;
}