From 8f8c12d6ac52e07d15e6180bf2f2e0ee88e1251e Mon Sep 17 00:00:00 2001 From: Razvan Crainea Date: Mon, 12 Jul 2021 18:15:52 +0300 Subject: [PATCH] b2b_sdp_demux: do not delete entity before running additional callbacks --- modules/b2b_sdp_demux/b2b_sdp_demux.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/b2b_sdp_demux/b2b_sdp_demux.c b/modules/b2b_sdp_demux/b2b_sdp_demux.c index 9295ec8c774..3edc2eb6565 100644 --- a/modules/b2b_sdp_demux/b2b_sdp_demux.c +++ b/modules/b2b_sdp_demux/b2b_sdp_demux.c @@ -393,7 +393,8 @@ static void b2b_sdp_client_terminate(struct b2b_sdp_client *client, str *key, in req_data.b2b_key = key; req_data.method = &method; b2b_api.send_request(&req_data); - b2b_api.entity_delete(B2B_CLIENT, key, NULL, 1, 1); + if (!cb) + b2b_api.entity_delete(B2B_CLIENT, key, NULL, 1, 1); } @@ -1086,6 +1087,7 @@ static int b2b_sdp_client_reply_bye(struct sip_msg *msg, struct b2b_sdp_client * str method; b2b_req_data_t req_data; struct b2b_sdp_ctx *ctx = client->ctx; + b2b_api.entity_delete(B2B_CLIENT, &client->b2b_key, NULL, 1, 1); lock_get(&ctx->lock); b2b_sdp_client_release(client, 0); if (list_size(&ctx->clients) == 0) {