bsc: inter-BSC HO: add TC_ho_out_of_this_bsc, TC_ho_into_this_bsc
Add f_gen_handover_req() like f_gen_ass_req(), to match AoIP or SCCPlite
requirements.
For incoming HO, MSC_ConnHdlr needs to know the SCCP addresses to expect the
incoming SCCP Connection from MSC to BSC. Add 'handover' section to
TestHdlrParams, and pass in the addresses from test_CT via that.
In osmo-bsc.cfg, add a remote neighbor config, so that the VTY command
'handover any to arfcn 123 bsic any' can trigger an outgoing inter-BSC HO.
Add various BSSMAP handover templates to BSSMAP_Templates.ttcn.
Add RR Ho Command template to L3_Templates.ttcn.
Move ts_BSSAP_Conn_Req() from msc/BSC_ConnectionHandler.ttcn to
library/BSSMAP_Emulation.ttcn, so we can also model an SCCP Connection Request
in BSC_Tests.ttcn (this time from MSC to BSC).
Add the two new tests to bsc/expected-results.xml.
Related: OS#2283
Change-Id: Id22852d4be7f127d827e7a8beeec55db27c07f03
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index 1ce84cf..a05aba2 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -496,6 +496,76 @@
}
}
+template (value) PDU_ML3_NW_MS ts_RR_HandoverCommand := {
+ discriminator := '0110'B,
+ tiOrSkip := {
+ skipIndicator := '0000'B
+ },
+ msgs := {
+ rrm := {
+ handoverCommand := {
+ messageType := '00101011'B,
+ cellDescription := {
+ bcc := '001'B,
+ ncc := '010'B,
+ BCCHArfcn_HighPart := '11'B,
+ BCCHArfcn_LowPart := '04'O
+ },
+ channelDescription2 := {
+ timeslotNumber := '110'B,
+ channelTypeandTDMAOffset := '00001'B,
+ octet3 := '00'O,
+ octet4 := '09'O
+ },
+ handoverReference := {
+ handoverReferenceValue := '00'O
+ },
+ powerCommandAndAccesstype := {
+ powerlevel := '00000'B,
+ fPC_EP := '0'B,
+ ePC_Mode := '0'B,
+ aTC := '0'B
+ },
+ synchronizationIndication := omit,
+ frequencyShortListAfterTime := omit,
+ frequencyListAfterTime := omit,
+ cellChannelDescription := omit,
+ multislotAllocation := omit,
+ modeOfChannelSet1 := omit,
+ modeOfChannelSet2 := omit,
+ modeOfChannelSet3 := omit,
+ modeOfChannelSet4 := omit,
+ modeOfChannelSet5 := omit,
+ modeOfChannelSet6 := omit,
+ modeOfChannelSet7 := omit,
+ modeOfChannelSet8 := omit,
+ descrOf2ndCh_at := omit,
+ modeOf2ndChannel := omit,
+ frequencyChannelSequence_at := omit,
+ mobileAllocation_at := omit,
+ startingTime := omit,
+ timeDifference := omit,
+ timingAdvance := omit,
+ frequencyShortListBeforeTime := omit,
+ frequencyListBeforeTime := omit,
+ descrOf1stCh_bt := omit,
+ descrOf2ndCh_bt := omit,
+ frequencyChannelSequence_bt := omit,
+ mobileAllocation_bt := omit,
+ cipherModeSetting := omit,
+ vGCS_TargetModeIndication := omit,
+ multiRateConfiguration := omit,
+ dynamicARFCN_Mapping := omit,
+ vGCS_Ciphering_Parameters := omit,
+ dedicatedServiceInformation := omit,
+ pLMNIndex := omit,
+ extendedTSCSet_afterTime := omit,
+ extendedTSCSet_beforeTime := omit
+ }
+ }
+ }
+}
+
function ts_CM3_TLV(template (omit) OCTN cm3) return template MobileStationClassmark3_TLV {
if (not isvalue(cm3)) {
return omit;