From 7e918cee107d94d9ce18c6b0c2ad3fdbff4176da Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com> Date: Mon, 26 Apr 2021 10:28:00 -0400 Subject: [PATCH] sip: respond with the original offer once receiving empty offer from RE-INVITE Gitlab: #528 Change-Id: I90ad328a2e24da9903bf39bcb595c84683c36f7e --- src/sip/sipvoiplink.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp index 1c009a5472..80522548bb 100644 --- a/src/sip/sipvoiplink.cpp +++ b/src/sip/sipvoiplink.cpp @@ -927,6 +927,8 @@ invite_session_state_changed_cb(pjsip_inv_session* inv, pjsip_event* ev) static pj_status_t reinvite_received_cb(pjsip_inv_session* inv, const pjmedia_sdp_session* offer, pjsip_rx_data* rdata) { + if (!offer) + return !PJ_SUCCESS; if (auto call = getCallFromInvite(inv)) { return call->onReceiveOffer(offer, rdata); } @@ -975,7 +977,7 @@ sdp_create_offer_cb(pjsip_inv_session* inv, pjmedia_sdp_session** p_offer) sdp.setPublishedIP(address); // This list should be provided by the client. Kept for backward compatibility. - auto mediaList = account->createDefaultMediaList(account->isVideoEnabled()); + auto mediaList = account->createDefaultMediaList(!call->isAudioOnly()); const bool created = sdp.createOffer(mediaList); -- GitLab