We are happy to announce that OsmoMSC handover support for 2G has been merged to the master branch yesterday.
See this talk: https://media.ccc.de/v/osmodevcon2019-103-inter-msc-handover-how-it-works-and-how-we-implement-it
and sensational images of the new code launched to the OsmoMSC master orbit: http://people.osmocom.org/neels/oeZeich5/msc_launch.jpg ;)
OsmoMSC master can now do both inter-BSC as well as inter-MSC handover for 2G (GERAN).
Until now, only OsmoBSC supported handover, i.e. an ongoing phone call moving to another cell within the same BSC.
OsmoBSC since not so long ago can also handover to another BSC, but you needed a third-party MSC for this.
Now, you can use our stock OsmoMSC for inter-BSC handover. Notably OsmoBSC has also received crucial fixes for handover on AoIP.
We also support inter-MSC handover now, i.e. you can handover a 2G call to another OsmoMSC.
To handover to/from a third-party MSC, a separate GSUP-to-MAP compatibility layer will have to be added.
A rather large refactoring effort was necessary to allow handling more than one RAN connection per subscriber.
Though handover to/from 3G is not yet supported, the new code base is a necessary preparation for adding that.
It is not yet clear when or by whom handover on 3G might be taken on, so join us if you are interested.
OsmoMSC v1.4.0 was released to mark a stable version before the new changes.
After due testing by the extended Osmocom community, we will (likely soon) tag a new "latest" release.
Until then, handover support is available in the nightly images and when built from current master.