Browse code

modules/ims_qos: subscribe to DLG_FAILED callback

Richard Good authored on 22/04/2015 09:10:46
Showing 2 changed files
... ...
@@ -362,8 +362,8 @@ void callback_dialog(struct dlg_cell* dlg, int type, struct dlg_cb_params * para
362 362
     
363 363
     LM_DBG("Dialog callback of type %d received\n", type);
364 364
     
365
-    if(type == DLGCB_TERMINATED || type == DLGCB_DESTROY || type == DLGCB_EXPIRED){
366
-	   LM_DBG("Dialog has ended - we need to terminate Rx bearer session\n");
365
+    if(type == DLGCB_TERMINATED || type == DLGCB_DESTROY || type == DLGCB_EXPIRED || type == DLGCB_FAILED){
366
+	   LM_DBG("Dialog has ended or failed - we need to terminate Rx bearer session\n");
367 367
 
368 368
 	LM_DBG("Received notification of termination of dialog with Rx session ID: [%.*s]\n",
369 369
 		rx_session_id->len, rx_session_id->s);
... ...
@@ -154,7 +154,7 @@ void async_aar_callback(int is_timeout, void *param, AAAMessage *aaa, long elaps
154 154
 	    STR_SHM_DUP(*passed_rx_session_id, aaa->sessionId->data, "cb_passed_rx_session_id");
155 155
 	    LM_DBG("passed rx session id [%.*s]", passed_rx_session_id->len, passed_rx_session_id->s);
156 156
 
157
-	    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);
157
+	    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);
158 158
 	} 
159 159
         result = CSCF_RETURN_TRUE;
160 160
     } else {