|
@@ -3351,12 +3351,17 @@ rtpengine_offer_answer(struct sip_msg *msg, const char *flags, int op, int more)
|
|
pkg_free(newbody.s);
|
|
pkg_free(newbody.s);
|
|
|
|
|
|
} else {
|
|
} 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) {
|
|
if (!anchor) {
|
|
LM_ERR("del_lump failed\n");
|
|
LM_ERR("del_lump failed\n");
|
|
goto error_free;
|
|
goto error_free;
|