aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2023-03-22 16:20:37 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2023-03-22 17:12:44 +0100
commitec967d74f7111600419d244e6a7351d1ff531896 (patch)
treedd1b3a38471e7461d03ca0a148cfa7253ee052b1 /src
parent3ccf02a300d86c4b52fb6df91236f8b0beb99e09 (diff)
Revert "mgcp_codec: do not differentiate between oa and bwe when comparing codec"
This reverts commit e0058b7207e022b698aea10f96cc7c0b1209058a. The reason for this revert is that the solution in the reverted patch does not cover a situation where the other side announces both payload formats at the same time. It could be that the end facing to a transit network announces both formats under two different payload types. In this case no conversion would be necessary. Depending on the input format the output would be send to the transit network under the payload type that matches and no conversion would happen at all. This revert re-intruduces the problem that was fixed in the patch before. Therefore it must be merged together with the follow up patch (Ifbd201a2749009a4644a29bd77e1d0fc0c124a9d) that contains the proper fix. Change-Id: I0b2854ef2397f38606fab3425be586a3d0ca27d1 Related: OS#5461
Diffstat (limited to 'src')
-rw-r--r--src/libosmo-mgcp/mgcp_codec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c
index 1a8d26a61..c287b7eb6 100644
--- a/src/libosmo-mgcp/mgcp_codec.c
+++ b/src/libosmo-mgcp/mgcp_codec.c
@@ -390,10 +390,10 @@ static bool codecs_same(struct mgcp_rtp_codec *codec_a, struct mgcp_rtp_codec *c
return false;
if (strcmp(codec_a->subtype_name, codec_b->subtype_name))
return false;
-
- /* Note: AMR allows to set the RTP payload format to octet-aligned or bandwith-efficient (octet-aligned=0)
- * via SDP. This difference concerns payload format only, but not the actual codec. It is not a difference
- * within the meaning of this function. */
+ if (!strcmp(codec_a->subtype_name, "AMR")) {
+ if (mgcp_codec_amr_is_octet_aligned(codec_a) != mgcp_codec_amr_is_octet_aligned(codec_b))
+ return false;
+ }
return true;
}