Exemple #1
0
/*! \brief Destructor for transport */
static void transport_destroy(void *obj)
{
	struct ast_sip_transport *transport = obj;

	ast_string_field_free_memory(transport);
	ast_free_ha(transport->localnet);

	if (transport->external_address_refresher) {
		ast_dnsmgr_release(transport->external_address_refresher);
	}

	ao2_cleanup(transport->state);
}
Exemple #2
0
static int destroy_sip_transport_state(void *data)
{
	struct ast_sip_transport_state *transport_state = data;

	ast_free(transport_state->id);
	ast_free_ha(transport_state->localnet);

	if (transport_state->external_address_refresher) {
		ast_dnsmgr_release(transport_state->external_address_refresher);
	}
	if (transport_state->transport) {
		pjsip_transport_shutdown(transport_state->transport);
	}

	return 0;
}