Osmocom_Gb_Types: Differentiate send (value) and receive templates
Change-Id: I90400c42d3dff0a1de0022320d76f10ac748a206
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 3de7427..c337cb4 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -67,13 +67,22 @@
NS_CAUSE_IP_TEST_FAILEDA ('00010100'B)
} with { variant "FIELDLENGTH(8)" };
- template NS_SDU_ControlBits t_SduCtrlB := {
+ template (value) NS_SDU_ControlBits t_SduCtrlB := {
rBit := '0'B,
cBit := '0'B,
spare := '000000'B
}
- function t_NS_IE_CAUSE(template NsCause cause) return template CauseNS {
+ template (value) CauseNS ts_NS_IE_CAUSE(NsCause cause) := {
+ iEI := '00'O,
+ ext := '1'B,
+ lengthIndicator := {
+ length1 := 1
+ },
+ cause := int2oct(enum2int(valueof(cause)), 1)
+ }
+
+ function tr_NS_IE_CAUSE(template NsCause cause) return template CauseNS {
var template CauseNS ret;
ret.iEI := '00'O;
ret.ext := '1'B;
@@ -94,7 +103,15 @@
}
}
- template NS_VCI t_NS_IE_NSVCI(template Nsvci nsvci) := {
+ template (value) NS_VCI ts_NS_IE_NSVCI(Nsvci nsvci) := {
+ iEI := '01'O,
+ ext := '1'B,
+ lengthIndicator := {
+ length1 := 2
+ },
+ nS_VCI := int2oct(nsvci, 2)
+ }
+ template NS_VCI tr_NS_IE_NSVCI(template Nsvci nsvci) := {
iEI := '01'O,
ext := '1'B,
lengthIndicator := {
@@ -103,7 +120,15 @@
nS_VCI := f_oct_or_wc(nsvci, 2)
}
- template NSEI_NS t_NS_IE_NSEI(template Nsei nsei) := {
+ template (value) NSEI_NS ts_NS_IE_NSEI(Nsei nsei) := {
+ iEI:= '04'O,
+ ext := '1'B,
+ lengthIndicator := {
+ length1 := 2
+ },
+ nSEI := int2oct(nsei, 2)
+ }
+ template NSEI_NS tr_NS_IE_NSEI(template Nsei nsei) := {
iEI:= '04'O,
ext := '1'B,
lengthIndicator := {
@@ -112,35 +137,64 @@
nSEI := f_oct_or_wc(nsei, 2)
}
- template PDU_NS t_NS_RESET(template NsCause cause, template Nsvci nsvci, template Nsei nsei) := {
+
+ template (value) PDU_NS ts_NS_RESET(NsCause cause, Nsvci nsvci, Nsei nsei) := {
pDU_NS_Reset := {
nsPduType := '02'O,
- causeNS := t_NS_IE_CAUSE(cause),
- nS_VCI := t_NS_IE_NSVCI(nsvci),
- nSEI_NS := t_NS_IE_NSEI(nsei)
+ causeNS := ts_NS_IE_CAUSE(cause),
+ nS_VCI := ts_NS_IE_NSVCI(nsvci),
+ nSEI_NS := ts_NS_IE_NSEI(nsei)
+ }
+ }
+ template PDU_NS tr_NS_RESET(template NsCause cause, template Nsvci nsvci, template Nsei nsei) := {
+ pDU_NS_Reset := {
+ nsPduType := '02'O,
+ causeNS := tr_NS_IE_CAUSE(cause),
+ nS_VCI := tr_NS_IE_NSVCI(nsvci),
+ nSEI_NS := tr_NS_IE_NSEI(nsei)
}
}
- template PDU_NS t_NS_RESET_ACK(template Nsvci nsvci, template Nsei nsei) := {
+ template (value) PDU_NS ts_NS_RESET_ACK(Nsvci nsvci, Nsei nsei) := {
pDU_NS_Reset_Ack := {
nsPduType := '03'O,
- nS_VCI := t_NS_IE_NSVCI(nsvci),
- nSEI_NS := t_NS_IE_NSEI(nsei)
+ nS_VCI := ts_NS_IE_NSVCI(nsvci),
+ nSEI_NS := ts_NS_IE_NSEI(nsei)
+ }
+ }
+ template PDU_NS tr_NS_RESET_ACK(template Nsvci nsvci, template Nsei nsei) := {
+ pDU_NS_Reset_Ack := {
+ nsPduType := '03'O,
+ nS_VCI := tr_NS_IE_NSVCI(nsvci),
+ nSEI_NS := tr_NS_IE_NSEI(nsei)
}
}
- template PDU_NS t_NS_BLOCK(template NsCause cause, template Nsvci nsvci) := {
+ template (value) PDU_NS ts_NS_BLOCK(NsCause cause, Nsvci nsvci) := {
pDU_NS_Block := {
nsPduType := '04'O,
- causeNS := t_NS_IE_CAUSE(cause),
- nS_VCI := t_NS_IE_NSVCI(nsvci)
+ causeNS := ts_NS_IE_CAUSE(cause),
+ nS_VCI := ts_NS_IE_NSVCI(nsvci)
+ }
+ }
+ template PDU_NS tr_NS_BLOCK(template NsCause cause, template Nsvci nsvci) := {
+ pDU_NS_Block := {
+ nsPduType := '04'O,
+ causeNS := tr_NS_IE_CAUSE(cause),
+ nS_VCI := tr_NS_IE_NSVCI(nsvci)
}
}
- template PDU_NS t_NS_BLOCK_ACK(template Nsvci nsvci) := {
+ template (value) PDU_NS ts_NS_BLOCK_ACK(Nsvci nsvci) := {
pDU_NS_Block_Ack := {
nsPduType := '05'O,
- nS_VCI := t_NS_IE_NSVCI(nsvci)
+ nS_VCI := ts_NS_IE_NSVCI(nsvci)
+ }
+ }
+ template PDU_NS tr_NS_BLOCK_ACK(template Nsvci nsvci) := {
+ pDU_NS_Block_Ack := {
+ nsPduType := '05'O,
+ nS_VCI := tr_NS_IE_NSVCI(nsvci)
}
}
@@ -168,10 +222,10 @@
}
}
- template PDU_NS ts_NS_STATUS(NsCause cause, PDU_NS pdu) := {
+ template (value) PDU_NS ts_NS_STATUS(NsCause cause, PDU_NS pdu) := {
pDU_NS_Status := {
nsPduType := '08'O,
- causeNS := t_NS_IE_CAUSE(cause),
+ causeNS := ts_NS_IE_CAUSE(cause),
nS_VCI := omit,
nS_PDU := {
iEI := '02'O,
@@ -187,7 +241,15 @@
}
}
- template PDU_NS t_NS_UNITDATA(template NS_SDU_ControlBits bits, template BssgpBvci bvci, template
+ template (value) PDU_NS ts_NS_UNITDATA(template (value) NS_SDU_ControlBits bits, BssgpBvci bvci, octetstring sdu) := {
+ pDU_NS_Unitdata := {
+ nsPduType := '00'O,
+ nS_SDU_ControlBits := bits,
+ bVCI := int2oct(bvci, 2),
+ nS_SDU := sdu
+ }
+ }
+ template PDU_NS tr_NS_UNITDATA(template NS_SDU_ControlBits bits, template BssgpBvci bvci, template
octetstring sdu) := {
pDU_NS_Unitdata := {
nsPduType := '00'O,