Module: kamailio Branch: 4.3 Commit: a58c136c3abad48b2d01a4b54b1e56e0901b8246 URL: https://github.com/kamailio/kamailio/commit/a58c136c3abad48b2d01a4b54b1e56e0901b8246
Author: Daniel-Constantin Mierla <mico...@gmail.com> Committer: Daniel-Constantin Mierla <mico...@gmail.com> Date: 2015-09-10T13:59:16+02:00 dialog: safety check not to store dialog vars and data when state initial - acc callbacks for cdrs can trigger setting dialog vars in initial state, which then try to save in db, however, initial state might not have all required fields for a proper db reload, storing being desinged to be done when all mandatory fields are set (cherry picked from commit cecdd0817052046e634152d6e512165451b5f6d4) --- Modified: modules/dialog/dlg_db_handler.c --- Diff: https://github.com/kamailio/kamailio/commit/a58c136c3abad48b2d01a4b54b1e56e0901b8246.diff Patch: https://github.com/kamailio/kamailio/commit/a58c136c3abad48b2d01a4b54b1e56e0901b8246.patch --- diff --git a/modules/dialog/dlg_db_handler.c b/modules/dialog/dlg_db_handler.c index 117db20..aaa8ff4 100644 --- a/modules/dialog/dlg_db_handler.c +++ b/modules/dialog/dlg_db_handler.c @@ -711,6 +711,11 @@ int update_dialog_dbinfo_unsafe(struct dlg_cell * cell) &sflags_column, &toroute_name_column, &req_uri_column, &xdata_column, &iflags_column }; + if(cell->state<DLG_STATE_EARLY) { + LM_DBG("not storing dlg in db during initial state\n"); + return 0; + } + i = 0; if( (cell->dflags & DLG_FLAG_NEW) != 0 || (cell->dflags & DLG_FLAG_CHANGED_VARS) != 0) { _______________________________________________ sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev