diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp index 1c009a5472994f87ed01efef8b383b7b72401c6e..80522548bbefa1b9eb722e4c2664143f3232662a 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);