/*! \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); }
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; }