Module: kamailio
Branch: master
Commit: 7488275e059efe48704b821991c6598f43d3a556
URL:
https://github.com/kamailio/kamailio/commit/7488275e059efe48704b821991c6598…
Author: Richard Good <richard.good(a)smilecoms.com>
Committer: Richard Good <richard.good(a)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/7488275e059efe48704b821991c6598…
Patch:
https://github.com/kamailio/kamailio/commit/7488275e059efe48704b821991c6598…
---
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 {