|
|
@ -307,10 +307,12 @@ static void schedule_registration(struct sip_outbound_registration_client_state
|
|
|
|
static int handle_client_state_destruction(void *data)
|
|
|
|
static int handle_client_state_destruction(void *data)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
RAII_VAR(struct sip_outbound_registration_client_state *, client_state, data, ao2_cleanup);
|
|
|
|
RAII_VAR(struct sip_outbound_registration_client_state *, client_state, data, ao2_cleanup);
|
|
|
|
pjsip_regc_info info;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cancel_registration(client_state);
|
|
|
|
cancel_registration(client_state);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (client_state->client) {
|
|
|
|
|
|
|
|
pjsip_regc_info info;
|
|
|
|
|
|
|
|
|
|
|
|
pjsip_regc_get_info(client_state->client, &info);
|
|
|
|
pjsip_regc_get_info(client_state->client, &info);
|
|
|
|
|
|
|
|
|
|
|
|
if (info.is_busy == PJ_TRUE) {
|
|
|
|
if (info.is_busy == PJ_TRUE) {
|
|
|
@ -328,6 +330,7 @@ static int handle_client_state_destruction(void *data)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
pjsip_regc_destroy(client_state->client);
|
|
|
|
pjsip_regc_destroy(client_state->client);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
client_state->status = SIP_REGISTRATION_STOPPED;
|
|
|
|
client_state->status = SIP_REGISTRATION_STOPPED;
|
|
|
|
ast_sip_auth_vector_destroy(&client_state->outbound_auths);
|
|
|
|
ast_sip_auth_vector_destroy(&client_state->outbound_auths);
|
|
|
|