I'm still having trouble actually getting an Inter-BSC handover to complete.
I'm using two osmo-bts based BTS and all master/nightly etc..
The problem as far as I can see is the the destination BSC complains that:
HO-interBSC-In: incoming inter-BSC Handover: HO Request: Invalid or empty Codec List (MSC Preferred) (handover_fsm.c:620)
Stopping the MSC at ran_a_make_handover_request() and inspecting the stack and local variables I can see that indeed the member
ran_handover_request->codec_list_msc_preferred
at that point is NULL.
Further up the stack in msc_ho_send_handover_request(), is where this ran_msg of type RAN_MSG_HANDOVER_REQUEST comes into being
https://cgit.osmocom.org/osmo-msc/tree/src/libmsc/msc_ho.c#n385
but at no time do we assign anything to codec_list_msc_preferred, therefore, when we get to
https://cgit.osmocom.org/libosmocore/tree/src/gsm/gsm0808.c#n995
we are skipping gsm0808_enc_speech_codec_list(msg, params->codec_list_msc_preferred);
and therefore not calling msgb_put_u8(msg, GSM0808_IE_SPEECH_CODEC_LIST);
I'm not seeing how this is supposed to work. or what am I missing?
I do see code that looks like it is setting up the codec_list_msc_preferred, but that seems to relate ONLY to Inter-MSC Handover.
Thanks
Keith.