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.