From fd17c99eea3e41c087b8c73467608fd90ae37420 Mon Sep 17 00:00:00 2001 From: iionita Date: Thu, 7 Mar 2019 11:47:52 +0200 Subject: [PATCH] siptrace: check if a request is set to avoid local transaction crash --- src/modules/siptrace/siptrace.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/modules/siptrace/siptrace.c b/src/modules/siptrace/siptrace.c index 242c4ab92bb..ae1f53d7f34 100644 --- a/src/modules/siptrace/siptrace.c +++ b/src/modules/siptrace/siptrace.c @@ -1690,6 +1690,17 @@ static void trace_dialog_transaction(struct dlg_cell* dlg, int type, struct dlg_ memset(&info, 0, sizeof(siptrace_info_t)); info.correlation_id = dlgb.get_dlg_var(dlg, &siptrace_info_dlgkey); + /** + * DUAL BYE - internally generated BYE from kamailio + * set flag to signal request_in callback which will register + * transaction callbacks to catch caller and callee BYEs and their + * responses + */ + if (params->req == NULL && params->rpl == NULL) { + LM_DBG("dual bye!\n"); + return; + } + trace_transaction(params->req, &info, 0); sip_trace(params->req, NULL, info.correlation_id, NULL);