瀏覽代碼

modules/ims_qos: subscribe to DLG_FAILED callback

Richard Good 10 年之前
父節點
當前提交
7488275e05
共有 2 個文件被更改,包括 3 次插入3 次删除
  1. 2 2
      modules/ims_qos/mod.c
  2. 1 1
      modules/ims_qos/rx_aar.c

+ 2 - 2
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);

+ 1 - 1
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 {