Attention is currently required from: dexter.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/34351?usp=email
to look at the new patch set (#2).
Change subject: mgcp_client_fsm: fix inconsistent API (param_present, param). ......................................................................
mgcp_client_fsm: fix inconsistent API (param_present, param).
The struct struct mgcp_conn_peer in mgcp_client_fsm.h (and the struct struct mgcp_msg in mgcp_client.h) use a problematic way to hold information about codec parameters: Using the struct member param, the user can set options for AMR (octet-aligned/bandwith-efficient). This is done using the struct mgcp_codec_param, which is also not very well thought out. Since we can only set the parameters for AMR exactly once, it is not possible to set different parameters when AMR occurs multiple times in codecs.
Since what we would have needed is an array of struct mgcp_codec_param, where we can set the parameters for each codec we use indvidually. So let's depreacate the use of param/param_present and add a new struct member codec_params/codec_params_present, where codec_params is an array. Let's also re-define mgcp_codec_params as mgcp_codec_params2, and use a union so that we can add params for other codecs than AMR in the future.
Unfortunately mgcp_codec_params is also used in osmo-mgw, we should migrate each occurrence of mgcp_codec_param to mgcp_codec_param2 there too, but this should be done in a follow up patch.
Related: OS#6171 Change-Id: I50d737f3f3d45e4004c64101700a471fe75b3436 --- M TODO-RELEASE M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_fsm.c 6 files changed, 85 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/51/34351/2