switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel is already hungup.\n");
goto done;
}
+ } else if (sofia_private && sofia_private->is_call) {
+ sofia_private->destroy_me = 22;
}
if ((profile->pflags & PFLAG_AUTH_ALL) && tech_pvt && tech_pvt->key && sip) {
nua_handle_bind(nh, NULL);
}
sofia_private->destroy_me = 12;
+
free(sofia_private);
sofia_private = NULL;
}
}
memset(sofia_private, 0, sizeof(*sofia_private));
+ sofia_private->is_call++;
tech_pvt->sofia_private = sofia_private;
if ((profile->pflags & PFLAG_PRESENCE)) {
if (!(sofia_private = malloc(sizeof(*sofia_private)))) {
abort();
}
+
memset(sofia_private, 0, sizeof(*sofia_private));
+ sofia_private->is_call++;
+
tech_pvt->sofia_private = sofia_private;
switch_copy_string(tech_pvt->sofia_private->uuid, switch_core_session_get_uuid(session), sizeof(tech_pvt->sofia_private->uuid));
nua_handle_bind(tech_pvt->nh, tech_pvt->sofia_private);