internal handover: when handover changes the speech codec, it should notify the MSC with BSSMAP Handover Performed
See 3GPP TS 44.018 18.104.22.168 HANDOVER PERFORMED
and see handover_decision_2.c, which does want to change TCH/* kind on occasions.
- Status changed from New to In Progress
- % Done changed from 0 to 20
I have done some changes to libosmocore and osmo-bsc now. In libosmocore basically only the generator function for the HANDOVER PERFORMED message is missing. In osmo-bsc tere is now a check which checks if we are doing an INTRA BSC HANDOVER, if yes, it will send the HANDOVER PERFORMED message.
Now I am working on the optional elements. I think the most desireable ones are CHOSEN CHANNEL, CHOSEN ENCRYPTION, SPEECH VERSION and SPEECH CODEC CHOSEN. These IEs appear also in the ASSIGNMENT COMPLETE message, so I can borrow from there. However the ASSIGNMENT COMPLETE message lacks the SPEECH VERSION and the CHOSEN ENCRYPTION field. I think we should add those two there as well just to be complete. The missing SPEECH VERSION in ASSIGNMENT COMPLETE also indeed a spec violation as we do choose the SPEECH VERSION when we chose a codec.
Also I noticed that the TTCN3 tests will need to be aware of the HANDOVER PERFORMED message, at least BSC_Tests.TC_ho_int now fails.
- % Done changed from 20 to 40
I fixed the TTCN3 tests so that they check for the presence of the HANDOVER PERFORMED message. The template was missing, so I added one.
See also: https://gerrit.osmocom.org/11607
I did not push the full patch yet since it would break the internal handover test.
- % Done changed from 40 to 90
The BSC now sends HANDOVER PERFORMED message that contains all important information. While integrating this I saw that someone was kind enough to add the missing fields to the ASSIGNMENT COMPLETE message I mentioned above.
To generate the HANDOVER PERFORMED message I added a message generator function to libosmocore:
In osmo-bsc I now check if the handover is internal and if it is internal a HANDOVER PERFORMED message will be generated:
Since the TTCN3 tests do not expect a HANDOVER PERFORMED message the test TC_ho_int will fail, I have added a receive() at the end of the test now that checks if the HANDOVER PERFORMED message is present:
The tests on the TTCN3 side are basically through the review. The last patch with the actual test is not merged yet since it depends on the changes in osmo-bsc.
The patches for osmo-bsc are not building in jenkins yet because the related libosmocore patch is not through the review yet.
See also: https://gerrit.osmocom.org/#/c/libosmocore/+/11728/
On Tue, Nov 27, 2018 at 11:18:26PM +0000, neels [REDMINE] wrote:
I have now encountered 3GPP TS 23.009 6.3.1 "General Description of Internal Handover with MSC Support",
which implies that if we want to change the codec, we should actually not only tell the MSC about it in the end, but involve it from the start.
Why are we even bothering with that? I would take the simple approach and just not do any hand-over
if the codec on the A interface would need to change. Let's not make our life more complicated
than needed without a strong requirement for a given feature.
The libosmocore patch is now in current master and the handover performed patch now builds. The osmo-bsc patch and the patch for TTCN3 is still in review: