Attention is currently required from: dexter.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/32218 )
Change subject: mgcp_codec: fix codec decision ......................................................................
Patch Set 2:
(8 comments)
File include/osmocom/mgcp/mgcp_codec.h:
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/dda23540_0adc1624 PS2, Line 16: int mgcp_codec_decide(struct mgcp_conn_rtp *conn, struct mgcp_conn_rtp *conn_opposite); my understanding is that this decides which codec is used in one direction between conn A and conn B, hence between conn_src and conn_dst, am I correct? If that's the case, naming the conns "conn_src" and "conn_dst" may be a lot clearer.
File src/libosmo-mgcp/mgcp_codec.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/86ee1800_07089044 PS2, Line 440: conn->end.codec = mgcp_codec_find_same(conn, found_same_codec_opposite); I wonder why do you need to call mgcp_codec_find_same() twice here, something looks wrong imho.
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/abbd313c_4c481666 PS2, Line 449: found_same_codec_opposite = codec_find_convertible(conn_opposite, &conn->end.codecs[i]); I wonder why do you need to call codec_find_convertible() twice here, something looks wrong imho.
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/a17adc26_d74c2c31 PS2, Line 461: } IIUC you are finding/selecting/setting the same codec A->B and B->A here, but I wonder if that really makes sense? Couldn't A->B and B->A be different? I think so.
File src/libosmo-mgcp/mgcp_network.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/9fd74e24_397860ea PS2, Line 514: /* Lookup a suitable codec in the destination connection. */ I see no lookup being done here anymore.
File src/libosmo-mgcp/mgcp_protocol.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/9f97142b_40e3c482 PS2, Line 809: conn_opposite = mgcp_find_dst_conn(conn->conn); see, here we have a clear concept of conn_src ("conn" here) and conn_dst (returned by mgcp_find_dst_conn).
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/be543e56_5bc3d460 PS2, Line 816: if (mgcp_codec_decide(conn, conn_rtp_opposite) != 0) in here you are deciding what codec is used to forward/transmit from conn_src to conn_dst.
File src/libosmo-mgcp/mgcp_vty.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/32218/comment/5eb573ba_7c4d3a95 PS2, Line 703: "allow-transcoding", "Allow transcoding\n") Add vty_out telling the user that this command is deprecated and is a NO-OP, so that they can drop it from their config.