|
|
|
@ -627,15 +627,30 @@ static void schedule_registration(struct sip_outbound_registration_client_state
|
|
|
|
|
|
|
|
|
|
static void update_client_state_status(struct sip_outbound_registration_client_state *client_state, enum sip_outbound_registration_status status)
|
|
|
|
|
{
|
|
|
|
|
const char *status_old;
|
|
|
|
|
const char *status_new;
|
|
|
|
|
|
|
|
|
|
if (client_state->status == status) {
|
|
|
|
|
/* Status state did not change at all. */
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
status_old = sip_outbound_registration_status_str(client_state->status);
|
|
|
|
|
status_new = sip_outbound_registration_status_str(status);
|
|
|
|
|
client_state->status = status;
|
|
|
|
|
|
|
|
|
|
if (!strcmp(status_old, status_new)) {
|
|
|
|
|
/*
|
|
|
|
|
* The internal status state may have changed but the status
|
|
|
|
|
* state we tell the world did not change at all.
|
|
|
|
|
*/
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ast_statsd_log_string_va("PJSIP.registrations.state.%s", AST_STATSD_GAUGE, "-1", 1.0,
|
|
|
|
|
sip_outbound_registration_status_str(client_state->status));
|
|
|
|
|
status_old);
|
|
|
|
|
ast_statsd_log_string_va("PJSIP.registrations.state.%s", AST_STATSD_GAUGE, "+1", 1.0,
|
|
|
|
|
sip_outbound_registration_status_str(status));
|
|
|
|
|
client_state->status = status;
|
|
|
|
|
status_new);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*! \brief Callback function for unregistering (potentially) and destroying state */
|
|
|
|
|