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;