From 2616037b6caae0d4db08f8469864eae54ae62ac9 Mon Sep 17 00:00:00 2001 From: Donat Zenichev Date: Wed, 9 Jul 2025 17:04:50 +0200 Subject: [PATCH] MT#62859 AmB2BSession: treat SDP as const In the following funcs: - AmB2BSession::acceptPendingInviteB2B() - AmB2BSession::acceptPendingInvite() That ensures we do not interfere into SDP when creating fictitious replies. Change-Id: Ic2e6ccc273cd6079c4b21839cfee38455e60ebc2 --- core/AmB2BSession.cpp | 7 +++---- core/AmB2BSession.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/core/AmB2BSession.cpp b/core/AmB2BSession.cpp index bf273b94..eba8632b 100644 --- a/core/AmB2BSession.cpp +++ b/core/AmB2BSession.cpp @@ -213,7 +213,7 @@ void AmB2BSession::relayError(const string &method, unsigned cseq, bool forward, } } -void AmB2BSession::createFakeReply(AmMimeBody *sdp, AmMimeBody& reply_body) { +void AmB2BSession::createFakeReply(const AmMimeBody *sdp, AmMimeBody& reply_body) { int rtp_int_tmp = getRtpInterface(); string rtp_local_ip = AmConfig::RTP_Ifs[rtp_int_tmp].LocalIP; @@ -280,7 +280,7 @@ void AmB2BSession::acceptPendingInvite(AmSipRequest *invite) { // reply the INVITE with fake 200 reply - AmMimeBody *sdp = invite->body.hasContentType(SIP_APPLICATION_SDP); + const AmMimeBody *sdp = invite->body.hasContentType(SIP_APPLICATION_SDP); AmMimeBody body; createFakeReply(sdp, body); @@ -291,8 +291,7 @@ void AmB2BSession::acceptPendingInvite(AmSipRequest *invite) void AmB2BSession::acceptPendingInviteB2B(const AmSipRequest& invite) { - AmSipRequest copy_invite = invite; - AmMimeBody *sdp = copy_invite.body.hasContentType(SIP_APPLICATION_SDP); + const AmMimeBody *sdp = invite.body.hasContentType(SIP_APPLICATION_SDP); AmSipReply n_reply; createFakeReply(sdp, n_reply.body); diff --git a/core/AmB2BSession.h b/core/AmB2BSession.h index b01f6398..290156d4 100644 --- a/core/AmB2BSession.h +++ b/core/AmB2BSession.h @@ -208,7 +208,7 @@ private: int relaySip(const AmSipRequest& orig, const AmSipReply& reply); /** generate fake body (c=0.0.0.0) reply */ - void createFakeReply(AmMimeBody *sdp, AmMimeBody& reply_body); + void createFakeReply(const AmMimeBody *sdp, AmMimeBody& reply_body); /** generate 200 SIP reply on a pending INVITE (uses fake body) */ virtual void acceptPendingInvite(AmSipRequest *invite);