IPA/MSC/BSC Emulation: Framework for handling multiple SCCP connections
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index aea1e01..b030072 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -44,6 +44,18 @@
}
}
+template PDU_BSSAP tr_BSSMAP_Reset modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ reset := {
+ messageType := '30'O,
+ cause := ?,
+ a_InterfaceSelectorForReset := *
+ }
+ }
+ }
+}
+
template (value) PDU_BSSAP ts_BSSMAP_ResetAck modifies ts_BSSAP_BSSMAP := {
pdu := {
bssmap := {
@@ -141,6 +153,15 @@
}
}
+template PDU_BSSAP tr_BSSMAP_ComplL3 modifies tr_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ completeLayer3Information := ?
+ }
+ }
+}
+
+
template PDU_BSSAP ts_BSSMAP_HandoReq(BssmapCause cause, BSSMAP_IE_CellIdentifierList cid_list)
modifies ts_BSSAP_BSSMAP := {
pdu := {
@@ -166,5 +187,55 @@
}
}
+const OCT1 ChRate_TCHF := '08'O;
+const OCT1 ChRate_TCHH := '09'O;
+
+template (value) BSSMAP_IE_ChannelType ts_BSSMAP_IE_ChannelType := {
+ elementIdentifier := '0B'O, /* overwritten */
+ lengthIndicator := 0, /* overwritten */
+ speechOrDataIndicator := '0001'B, /* speech */
+ spare1_4 := '0000'B,
+ channelRateAndType := ChRate_TCHF,
+ speechId_DataIndicator := '01'O /* FRv1 */
+}
+
+template (value) BSSMAP_IE_CircuitIdentityCode ts_BSSMAP_IE_CIC(uint11_t span, uint5_t ts) := {
+ elementIdentifier := '01'O, /* overwritten */
+ cicHigh := bit2oct(substr(int2bit(span, 11) << 5, 0, 8)),
+ cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5))
+}
+
+template (value) PDU_BSSAP ts_BSSMAP_AssignmentCmd(uint11_t span, uint5_t ts)
+modifies ts_BSSAP_BSSMAP := {
+ pdu := {
+ bssmap := {
+ assignmentRequest := {
+ messageType :='01'O, /* overwritten */
+ channelType := ts_BSSMAP_IE_ChannelType,
+ layer3HeaderInfo := omit,
+ priority := omit,
+ circuitIdentityCode := ts_BSSMAP_IE_CIC(span, ts),
+ downLinkDTX_Flag := omit,
+ interferenceBandToBeUsed := omit,
+ classmarkInformationType2 := omit,
+ groupCallReference := omit,
+ talkerFlag := omit,
+ configurationEvolutionIndication := omit,
+ lsaAccesControlSuppression := omit,
+ serviceHandover := omit,
+ encryptionInformation := omit,
+ talkerPriority := omit,
+ aoIPTransportLayer := omit,
+ codecList := omit,
+ callIdentifier := omit,
+ kC128 := omit,
+ globalCallReference := omit,
+ lCLS_Configuration := omit,
+ lCLS_ConnectionStatusControl := omit,
+ lCLS_CorrelationNotNeeded := omit
+ }
+ }
+ }
+}
}