support LCLS for inter-BSC handover
In the osmo-bsc handover_fsm.c, we do not do lcls_apply_config() anywhere yet.
For an intra-BSC handover, the MSC isn't even involved and we would simply redirect the RTP stream from one BTS to the other. The network-side RTP switching would be unchanged.
Only for incoming inter-BSC handover do we want to apply LCLS, so that its result is sent in the BSSMAP Handover Complete message.
Similar to the LCLS Assignment fix I8dd561d744d8081b5ac5ffa7635f17ac19bcda45, we would need to first set conn->lchan to the new lchan, then call lcls_apply_config() and only after that send the BSSMAP Handover Complete. (So far the FSM wants to signal success and switch the lchan only after sending the BSSMAP HO Complete succeeds, but if sending the BSSMAP fails we might as well release the lchan and in consequence tear down the conn completely.) This would happen in handover_end() in handover_fsm.c when result == HO_RESULT_OK and ho->scope & HO_INTER_BSC_IN.
On Mon, Sep 24, 2018 at 04:56:31PM +0000, neels [REDMINE] wrote:
I'm not sure, since we are still assigning a new lchan during intra-BSC handover, maybe we should also have an lcls_apply_config() or something even then?
Should LCLS set some state in the new lchan?
I don't think so. The LCLS state should be entirely in the subscr_conn, not the lchan.