diff --git a/modules/ims_qos/mod.c b/modules/ims_qos/mod.c index a59caa45e66..78010cbe13f 100644 --- a/modules/ims_qos/mod.c +++ b/modules/ims_qos/mod.c @@ -362,8 +362,8 @@ void callback_dialog(struct dlg_cell* dlg, int type, struct dlg_cb_params * para LM_DBG("Dialog callback of type %d received\n", type); - if(type == DLGCB_TERMINATED || type == DLGCB_DESTROY || type == DLGCB_EXPIRED){ - LM_DBG("Dialog has ended - we need to terminate Rx bearer session\n"); + if(type == DLGCB_TERMINATED || type == DLGCB_DESTROY || type == DLGCB_EXPIRED || type == DLGCB_FAILED){ + LM_DBG("Dialog has ended or failed - we need to terminate Rx bearer session\n"); LM_DBG("Received notification of termination of dialog with Rx session ID: [%.*s]\n", rx_session_id->len, rx_session_id->s); diff --git a/modules/ims_qos/rx_aar.c b/modules/ims_qos/rx_aar.c index 233fb66501a..fcc91de8b3a 100644 --- a/modules/ims_qos/rx_aar.c +++ b/modules/ims_qos/rx_aar.c @@ -154,7 +154,7 @@ void async_aar_callback(int is_timeout, void *param, AAAMessage *aaa, long elaps STR_SHM_DUP(*passed_rx_session_id, aaa->sessionId->data, "cb_passed_rx_session_id"); LM_DBG("passed rx session id [%.*s]", passed_rx_session_id->len, passed_rx_session_id->s); - dlgb.register_dlgcb_nodlg(&data->callid, &data->ftag, &data->ttag, DLGCB_TERMINATED | DLGCB_DESTROY | DLGCB_EXPIRED | DLGCB_RESPONSE_WITHIN | DLGCB_CONFIRMED, callback_dialog, (void*) (passed_rx_session_id), free_dialog_data); + dlgb.register_dlgcb_nodlg(&data->callid, &data->ftag, &data->ttag, DLGCB_TERMINATED | DLGCB_DESTROY | DLGCB_EXPIRED | DLGCB_RESPONSE_WITHIN | DLGCB_CONFIRMED | DLGCB_FAILED, callback_dialog, (void*) (passed_rx_session_id), free_dialog_data); } result = CSCF_RETURN_TRUE; } else {