internal handover: when handover changes the speech codec, it should notify the MSC with BSSMAP Handover Performed
See 3GPP TS 44.018 126.96.36.199 HANDOVER PERFORMED
and see handover_decision_2.c, which does want to change TCH/* kind on occasions.
gsm_data: make cgi_for_msc available for other modules
The function cgi_for_msc() provides an easy way to get a cell global id
for an msc/bts combination. This function is currently statically
defined in gsm_08_08.c. Lets move it to gsm_data.c and make it publicly
gsm0808: add message generator for BSSMAP HANDOVER PERFORMED
We currently have no generator function that can generate BSSMAP
HANDOVER PERFORMED messages. Lets add function for this.
handover_fsm: send HANDOVER PERFORMED msg on internal ho
When an internal handover is done the specification demands to inform
the MSC about the event.
- Add sending of BSSMAP HANDOVER PERFORMED msg.
Depends: libosmocore I825106858bd89afc9837811b8fed2e8accc82441
#5 Updated by dexter over 2 years ago
- 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.
#7 Updated by dexter over 2 years ago
- % 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.
#8 Updated by dexter over 2 years ago
- % 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:
#9 Updated by dexter over 2 years ago
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/
#13 Updated by laforge over 2 years ago
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.
#16 Updated by dexter over 2 years ago
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: