From b736fe2d264fb874a488507c12b5d7eaee90a197 Mon Sep 17 00:00:00 2001
From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Date: Tue, 28 Mar 2017 10:21:34 -0400
Subject: [PATCH] sip: release dialog after invite creation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

PJSIP dialog is locked at creation during incoming call,
but invite structure lock it also and our lock wasn't released.

Add this dialog lock release right after invite creation.

This fix non-destroyed transport for incoming calls.

Change-Id: I5ad1bb0d6dd87e1a58f0a23cd93c85dac5fed5fa
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
---
 src/sip/sipvoiplink.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp
index 413ab8682e..258bacecaa 100644
--- a/src/sip/sipvoiplink.cpp
+++ b/src/sip/sipvoiplink.cpp
@@ -361,6 +361,9 @@ transaction_request_cb(pjsip_rx_data *rdata)
         return PJ_FALSE;
     }
 
+    // dialog is now owned by invite
+    pjsip_dlg_dec_lock(dialog);
+
     inv->mod_data[mod_ua_.id] = call.get();
     call->inv.reset(inv);
 
-- 
GitLab