ranap: Add more RAB-related templates
Change-Id: I363428ab4af869bb1aa4470b33fa52366cbda8b4
diff --git a/library/ranap/RANAP_Templates.ttcn b/library/ranap/RANAP_Templates.ttcn
index a1b0a59..ae762b9 100644
--- a/library/ranap/RANAP_Templates.ttcn
+++ b/library/ranap/RANAP_Templates.ttcn
@@ -1,6 +1,8 @@
module RANAP_Templates {
import from General_Types all;
+import from Misc_Helpers all;
+import from Native_Functions all;
import from RANAP_IEs all;
import from RANAP_CommonDataTypes all;
@@ -487,6 +489,24 @@
* RAB Release
*****************************************************************************************************/
+template (value) RAB_ID
+t_RAB_id(integer rab_id) := int2bit(rab_id, 8);
+
+template (value) TransportLayerAddress ts_RAB_TLA4(OCT4 ip) := hex2bit('350001'H & oct2hex(ip) & '00000000000000000000000000'H);
+template (value) TransportLayerAddress ts_RAB_TLA6(OCT16 ip) := hex2bit('350000'H & oct2hex(ip) & '00'H);
+function f_ts_RAB_TLA(charstring addr) return template (value) TransportLayerAddress {
+ if (f_addr_is_ipv6(addr)) {
+ var OCT16 ip6 := f_inet6_addr(addr);
+ return ts_RAB_TLA6(ip6);
+ } else {
+ var OCT4 ip4 := f_inet_addr(addr);
+ return ts_RAB_TLA4(ip4);
+ }
+}
+
+template (value) BindingID
+t_RAB_binding_port(integer prt) := int2oct(prt, 2) & '0000'O;
+
template (value) RANAP_PDU
ts_RANAP_RabReleaseRequest(template (value) RAB_ID rab_id, template (value) Cause cause,
template (omit) RAB_ReleaseRequest.protocolExtensions exts := omit) := {
@@ -522,7 +542,7 @@
}
}
template RANAP_PDU
-tr_RANAP_RabReleaseRequest(template RAB_ID rab_id, template Cause cause,
+tr_RANAP_RabReleaseRequest(template (present) RAB_ID rab_id, template Cause cause,
template RAB_ReleaseRequest.protocolExtensions exts := *) := {
initiatingMessage := {
procedureCode := id_RAB_ReleaseRequest,
@@ -1271,6 +1291,45 @@
}
} }
+template (value) RAB_SetupOrModifiedList ts_RAB_SMdL(template (value) RAB_ID rab_id,
+ template (value) TransportLayerAddress tla,
+ template (value) BindingID binding_id) := { {
+ {
+ id := id_RAB_SetupOrModifiedItem,
+ criticality := ignore,
+ value_ := {
+ rAB_SetupOrModifiedItem := {
+ rAB_ID := rab_id,
+ transportLayerAddress := tla,
+ iuTransportAssociation := {
+ bindingID := binding_id
+ },
+ dl_dataVolumes := omit,
+ iE_Extensions := omit
+ }
+ }
+ }
+} }
+
+template RAB_SetupOrModifiedList tr_RAB_SMdL(template RAB_ID rab_id,
+ template TransportLayerAddress tla,
+ template BindingID binding_id) := { {
+ {
+ id := id_RAB_SetupOrModifiedItem,
+ criticality := ignore,
+ value_ := {
+ rAB_SetupOrModifiedItem := {
+ rAB_ID := rab_id,
+ transportLayerAddress := tla,
+ iuTransportAssociation := {
+ bindingID := binding_id
+ },
+ dl_dataVolumes := *,
+ iE_Extensions := *
+ }
+ }
+ }
+} }
template (value) RANAP_PDU
ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml,
@@ -1283,7 +1342,7 @@
protocolIEs := {
{
id := id_RAB_SetupOrModifyList,
- criticality := reject,
+ criticality := ignore,
value_ := {
rAB_SetupOrModifyList := rab_sml
}