if MT call leg does not support the assigned codec, re-assign to a compatible codec
This is the last missing piece that allows osmo-msc to make good TFO choices.
Since the famous "codecs patches" were merged, osmo-msc properly gathers codec options and limitations.
But the MO call leg still assigns a voice channel before getting a response from the MT call leg,
and it has no capability to adjust the MO call leg's codec in case the MT side needs a different codec.
At some point I thought we would have to do the Assignment at a later time.
But now I think it would be better to implement re-assignment (BSC: Channel Mode Modify), switching the codec.
I realized that if we wait for the MT side to answer before assigning a channel,
there can never be any automated voice saying "the caller you have dialled is currently unavailable...".
(We have no such automated voice in osmocom, but it is an indicator for what would make more sense in general.)
We still need to check:
- does OsmoBSC play along nicely with the re-assignment (it should AFAICT).
- effects on MGCP: there may now be more codecs than just the assigned one in
the MGCP towards the MGW. See if that checks out.
- effects on 3G: make sure the feature doesn't confuse IuUP handling.