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.




Reply via email to