diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 90193ac63a..fac089d12c 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -864,7 +864,6 @@ void sofia_event_callback(nua_event_t event, case nua_r_unsubscribe: case nua_r_publish: case nua_i_cancel: - case nua_r_cancel: case nua_i_error: case nua_i_active: case nua_i_terminated: @@ -872,6 +871,13 @@ void sofia_event_callback(nua_event_t event, case nua_i_prack: case nua_r_prack: break; + case nua_r_cancel: + { + if (status > 299 && nh) { + nua_handle_destroy(nh); + } + } + break; case nua_i_ack: { if (channel && sip) {