mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 08:12:01 +00:00
mgcp: Patch RTP packets again if that is allowed.
This commit is contained in:
@@ -86,6 +86,9 @@ struct mgcp_endpoint {
|
||||
/* sequence bits */
|
||||
struct mgcp_rtp_state net_state;
|
||||
struct mgcp_rtp_state bts_state;
|
||||
|
||||
/* SSRC/seq/ts patching for loop */
|
||||
int allow_patch;
|
||||
};
|
||||
|
||||
#define ENDPOINT_NUMBER(endp) abs(endp - endp->cfg->endpoints)
|
||||
|
@@ -117,7 +117,7 @@ static void patch_and_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *s
|
||||
state->ssrc = rtp_hdr->ssrc;
|
||||
state->seq_offset = (state->seq_no + 1) - seq;
|
||||
state->timestamp_offset = state->last_timestamp - timestamp;
|
||||
//state->patch = 1;
|
||||
state->patch = endp->allow_patch;
|
||||
LOGP(DMGCP, LOGL_NOTICE,
|
||||
"The SSRC changed on 0x%x SSRC: %u offset: %d from %s:%d in %d\n",
|
||||
ENDPOINT_NUMBER(endp), state->ssrc, state->seq_offset,
|
||||
|
@@ -825,4 +825,5 @@ void mgcp_free_endp(struct mgcp_endpoint *endp)
|
||||
memset(&endp->bts_state, 0, sizeof(endp->bts_state));
|
||||
|
||||
endp->conn_mode = endp->orig_mode = MGCP_CONN_NONE;
|
||||
endp->allow_patch = 0;
|
||||
}
|
||||
|
@@ -304,6 +304,7 @@ DEFUN(loop_endp,
|
||||
endp->conn_mode = MGCP_CONN_LOOPBACK;
|
||||
else
|
||||
endp->conn_mode = endp->orig_mode;
|
||||
endp->allow_patch = 1;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user