Module: kamailio Branch: master Commit: 7488275e059efe48704b821991c6598f43d3a556 URL: https://github.com/kamailio/kamailio/commit/7488275e059efe48704b821991c6598f...
Author: Richard Good richard.good@smilecoms.com Committer: Richard Good richard.good@smilecoms.com Date: 2015-04-22T11:10:46+02:00
modules/ims_qos: subscribe to DLG_FAILED callback
---
Modified: modules/ims_qos/mod.c Modified: modules/ims_qos/rx_aar.c
---
Diff: https://github.com/kamailio/kamailio/commit/7488275e059efe48704b821991c6598f... Patch: https://github.com/kamailio/kamailio/commit/7488275e059efe48704b821991c6598f...
---
diff --git a/modules/ims_qos/mod.c b/modules/ims_qos/mod.c index a59caa4..78010cb 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 233fb66..fcc91de 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 {