ranap: Add more RAB-related templates

Change-Id: I363428ab4af869bb1aa4470b33fa52366cbda8b4
This commit is contained in:
Daniel Willmann 2022-01-28 11:42:40 +01:00
parent 04ef7d82ab
commit fc5e17adab
1 changed files with 61 additions and 2 deletions

View File

@ -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 @@ tr_RANAP_IuReleaseRequest(template Cause cause,
* 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 @@ ts_RANAP_RabReleaseRequest(template (value) RAB_ID rab_id, template (value) Caus
}
}
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 RAB_SetupOrModifyList tr_RAB_SML(template RAB_ID rab_id,
}
} }
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 @@ ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml,
protocolIEs := {
{
id := id_RAB_SetupOrModifyList,
criticality := reject,
criticality := ignore,
value_ := {
rAB_SetupOrModifyList := rab_sml
}