diff --git a/src/modules/rtpengine/rtpengine.c b/src/modules/rtpengine/rtpengine.c index 5b829882293..666cfb32bac 100644 --- a/src/modules/rtpengine/rtpengine.c +++ b/src/modules/rtpengine/rtpengine.c @@ -3358,12 +3358,17 @@ rtpengine_offer_answer(struct sip_msg *msg, const char *flags, int op, int more) pkg_free(newbody.s); } else { - /* get the body from the message as body ptr may have changed */ - cur_body.len = 0; - cur_body.s = get_body(msg); - cur_body.len = msg->buf + msg->len - cur_body.s; - - anchor = del_lump(msg, cur_body.s - msg->buf, cur_body.len, 0); + if (read_sdp_pvar_str.len > 0) { + /* get the body from the message as body ptr may have changed + * when using read_sdp_pv */ + cur_body.len = 0; + cur_body.s = get_body(msg); + cur_body.len = msg->buf + msg->len - cur_body.s; + + anchor = del_lump(msg, cur_body.s - msg->buf, cur_body.len, 0); + } else { + anchor = del_lump(msg, body.s - msg->buf, body.len, 0); + } if (!anchor) { LM_ERR("del_lump failed\n"); goto error_free;