Osmocom_Gb_types: add minimum requred tr_ templates for RAN INF
When testing the serving BSS part of the RIM application in osmo-pcu, we will need receiving templates that allow us to verify the response (RAN INFORMATION) rim container. Change-Id: I964d7504f3c4aeaa4ce537316b3140e8b893003d Related: SYS#5103
This commit is contained in:
parent
9df362a94f
commit
e00776c5db
|
@ -2511,7 +2511,14 @@ octetstring sdu) := {
|
||||||
},
|
},
|
||||||
rIMApplicationIdentity := app_id
|
rIMApplicationIdentity := app_id
|
||||||
}
|
}
|
||||||
|
template RIM_Application_Identity tr_RIM_Application_Identity(template OCT1 app_id := ?) := {
|
||||||
|
iEI := '4B'O,
|
||||||
|
ext := '1'B,
|
||||||
|
lengthIndicator := {
|
||||||
|
length1 := 1
|
||||||
|
},
|
||||||
|
rIMApplicationIdentity := app_id
|
||||||
|
}
|
||||||
|
|
||||||
/* 3GPP TS 48.018 11.3.62 */
|
/* 3GPP TS 48.018 11.3.62 */
|
||||||
template (value) RIM_Sequence_Number ts_RIM_Sequence_Number(integer seq) := {
|
template (value) RIM_Sequence_Number ts_RIM_Sequence_Number(integer seq) := {
|
||||||
|
@ -2522,6 +2529,20 @@ octetstring sdu) := {
|
||||||
},
|
},
|
||||||
rIMSequenceNumber := int2oct(seq, 4)
|
rIMSequenceNumber := int2oct(seq, 4)
|
||||||
}
|
}
|
||||||
|
function tr_RIM_Sequence_Number(template integer seq := ?) return template RIM_Sequence_Number {
|
||||||
|
var template RIM_Sequence_Number ret;
|
||||||
|
ret.iEI := '4C'O;
|
||||||
|
ret.ext := '1'B;
|
||||||
|
ret.lengthIndicator := { length1 := 4 };
|
||||||
|
if (istemplatekind(seq, "*")) {
|
||||||
|
ret.rIMSequenceNumber := *;
|
||||||
|
} else if (istemplatekind(seq, "?")) {
|
||||||
|
ret.rIMSequenceNumber := ?;
|
||||||
|
} else {
|
||||||
|
ret.rIMSequenceNumber := int2oct(valueof(seq), 4);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* 3GPP TS 48.018 11.3.62a.1 */
|
/* 3GPP TS 48.018 11.3.62a.1 */
|
||||||
template (value) RAN_Information_Request_RIM_Container
|
template (value) RAN_Information_Request_RIM_Container
|
||||||
|
@ -2585,10 +2606,34 @@ octetstring sdu) := {
|
||||||
applContainer_or_ApplErrContainer := app_cont_or_app_err,
|
applContainer_or_ApplErrContainer := app_cont_or_app_err,
|
||||||
sON_Transfer_Application_Identity := son_app_id
|
sON_Transfer_Application_Identity := son_app_id
|
||||||
}
|
}
|
||||||
|
template RAN_Information_RIM_Container
|
||||||
|
tr_RAN_Information_RIM_Container(template RIM_Application_Identity app_id := ?,
|
||||||
|
template RIM_Sequence_Number seq := ?,
|
||||||
|
template RIM_PDU_Indications ind := ?,
|
||||||
|
template RIM_Protocol_Version_Number ver := omit,
|
||||||
|
template ApplContainer_or_ApplErrContainer app_cont_or_app_err := omit,
|
||||||
|
template SON_Transfer_Application_Identity_TLV son_app_id := omit) := {
|
||||||
|
|
||||||
|
iEI := '58'O,
|
||||||
|
ext := '1'B,
|
||||||
|
lengthIndicator := {
|
||||||
|
length1 := ?
|
||||||
|
},
|
||||||
|
rIM_Application_Identity := app_id,
|
||||||
|
rIM_Sequence_Number := seq,
|
||||||
|
rIM_PDU_Indications := ind,
|
||||||
|
rIM_Protocol_Version_Number := ver,
|
||||||
|
applContainer_or_ApplErrContainer := app_cont_or_app_err,
|
||||||
|
sON_Transfer_Application_Identity := son_app_id
|
||||||
|
}
|
||||||
template (value) ApplContainer_or_ApplErrContainer
|
template (value) ApplContainer_or_ApplErrContainer
|
||||||
tsu_ApplContainer_or_ApplErrContainer_NACC(template (value) ApplContainer_or_ApplErrContainer_NACC cont) := {
|
tsu_ApplContainer_or_ApplErrContainer_NACC(template (value) ApplContainer_or_ApplErrContainer_NACC cont) := {
|
||||||
nacc := cont
|
nacc := cont
|
||||||
}
|
}
|
||||||
|
template ApplContainer_or_ApplErrContainer
|
||||||
|
tru_ApplContainer_or_ApplErrContainer_NACC(template ApplContainer_or_ApplErrContainer_NACC cont := ?) := {
|
||||||
|
nacc := cont
|
||||||
|
}
|
||||||
template (value) ApplContainer_or_ApplErrContainer
|
template (value) ApplContainer_or_ApplErrContainer
|
||||||
tsu_ApplContainer_or_ApplErrContainer_SI3(template (value) ApplContainer_or_ApplErrContainer_SI3 cont) := {
|
tsu_ApplContainer_or_ApplErrContainer_SI3(template (value) ApplContainer_or_ApplErrContainer_SI3 cont) := {
|
||||||
si3 := cont
|
si3 := cont
|
||||||
|
@ -2601,6 +2646,10 @@ octetstring sdu) := {
|
||||||
tsu_ApplContainer_NACC(template (value) BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
|
tsu_ApplContainer_NACC(template (value) BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
|
||||||
application_Container := ts_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)
|
application_Container := ts_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)
|
||||||
}
|
}
|
||||||
|
template ApplContainer_or_ApplErrContainer_NACC
|
||||||
|
tru_ApplContainer_NACC(template BssgpCellId cid := ?, template boolean psi_type := ?, template integer si_psi_num := ?, template octetstring si_psi := ?) := {
|
||||||
|
application_Container := tr_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)
|
||||||
|
}
|
||||||
template (value) ApplContainer_or_ApplErrContainer_NACC
|
template (value) ApplContainer_or_ApplErrContainer_NACC
|
||||||
tsu_ApplErrContainer_NACC(template (value) BssgpCellId cid,
|
tsu_ApplErrContainer_NACC(template (value) BssgpCellId cid,
|
||||||
integer cause,
|
integer cause,
|
||||||
|
@ -2762,6 +2811,31 @@ octetstring sdu) := {
|
||||||
number_of_SI_PSI := int2bit(si_psi_num, 7),
|
number_of_SI_PSI := int2bit(si_psi_num, 7),
|
||||||
sI_PSI := si_psi
|
sI_PSI := si_psi
|
||||||
}
|
}
|
||||||
|
function tr_RAN_Information_Application_Container_NACC(template BssgpCellId cid := ?, template boolean psi_type := ?,
|
||||||
|
template integer si_psi_num := ?, template octetstring si_psi := ?)
|
||||||
|
return template RAN_Information_Application_Container_NACC {
|
||||||
|
var template RAN_Information_Application_Container_NACC ret;
|
||||||
|
ret.iEI := '4E'O;
|
||||||
|
ret.ext := '1'B;
|
||||||
|
ret.lengthIndicator := { length1 := ? };
|
||||||
|
ret.reporting_Cell_Identifier := t_Cell_Identifier_V(cid);
|
||||||
|
if (istemplatekind(psi_type, "*")) {
|
||||||
|
ret.typeBit := *;
|
||||||
|
} else if (istemplatekind(psi_type, "?")) {
|
||||||
|
ret.typeBit := ?;
|
||||||
|
} else {
|
||||||
|
ret.typeBit := bool2bit(valueof(psi_type));
|
||||||
|
}
|
||||||
|
if (istemplatekind(si_psi_num, "*")) {
|
||||||
|
ret.number_of_SI_PSI := *;
|
||||||
|
} else if (istemplatekind(si_psi_num, "?")) {
|
||||||
|
ret.number_of_SI_PSI := ?;
|
||||||
|
} else {
|
||||||
|
ret.number_of_SI_PSI := int2bit(valueof(si_psi_num), 7);
|
||||||
|
}
|
||||||
|
ret.sI_PSI := si_psi;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* 3GPP TS 48.018 11.3.63.2.2 */
|
/* 3GPP TS 48.018 11.3.63.2.2 */
|
||||||
template (value) RAN_Information_Application_Container_SI3
|
template (value) RAN_Information_Application_Container_SI3
|
||||||
|
@ -2999,6 +3073,28 @@ octetstring sdu) := {
|
||||||
pDU_Type_Extension := type_ext,
|
pDU_Type_Extension := type_ext,
|
||||||
reserved := '0000'B
|
reserved := '0000'B
|
||||||
}
|
}
|
||||||
|
function tr_RIM_PDU_Indications(template boolean ack := ?, template BIT3 type_ext := ?) return template RIM_PDU_Indications {
|
||||||
|
var template RIM_PDU_Indications ret;
|
||||||
|
ret.iEI := '4F'O;
|
||||||
|
ret.ext := '1'B;
|
||||||
|
ret.lengthIndicator := { length1 := 1 };
|
||||||
|
if (istemplatekind(ack, "*")) {
|
||||||
|
ret.ack := *;
|
||||||
|
} else if (istemplatekind(ack, "?")) {
|
||||||
|
ret.ack := ?;
|
||||||
|
} else {
|
||||||
|
ret.ack := bool2bit(valueof(ack));
|
||||||
|
}
|
||||||
|
if (istemplatekind(type_ext, "*")) {
|
||||||
|
ret.pDU_Type_Extension := *;
|
||||||
|
} else if (istemplatekind(type_ext, "?")) {
|
||||||
|
ret.pDU_Type_Extension := ?;
|
||||||
|
} else {
|
||||||
|
ret.pDU_Type_Extension := valueof(type_ext);
|
||||||
|
}
|
||||||
|
ret.reserved := '0000'B;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* 3GPP TS 48.018 11.3.67 */
|
/* 3GPP TS 48.018 11.3.67 */
|
||||||
template (value) RIM_Protocol_Version_Number ts_RIM_Protocol_Version_Number(integer ver) := {
|
template (value) RIM_Protocol_Version_Number ts_RIM_Protocol_Version_Number(integer ver) := {
|
||||||
|
@ -3009,6 +3105,20 @@ octetstring sdu) := {
|
||||||
},
|
},
|
||||||
rIMProtocolVersionNumber := int2oct(ver, 1)
|
rIMProtocolVersionNumber := int2oct(ver, 1)
|
||||||
}
|
}
|
||||||
|
function tr_RIM_Protocol_Version_Number(template integer ver := ?) return template RIM_Protocol_Version_Number {
|
||||||
|
var template RIM_Protocol_Version_Number ret;
|
||||||
|
ret.iEI := '55'O;
|
||||||
|
ret.ext := '1'B;
|
||||||
|
ret.lengthIndicator := { length1 := 1 };
|
||||||
|
if (istemplatekind(ver, "*")) {
|
||||||
|
ret.rIMProtocolVersionNumber := *;
|
||||||
|
} else if (istemplatekind(ver, "?")) {
|
||||||
|
ret.rIMProtocolVersionNumber := ?;
|
||||||
|
} else {
|
||||||
|
ret.rIMProtocolVersionNumber := int2oct(valueof(ver), 1);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* 3GPP TS 48.018 11.3.70 */
|
/* 3GPP TS 48.018 11.3.70 */
|
||||||
const HEX1 RIM_ADDR_GERAN_CELL_ID := '0'H;
|
const HEX1 RIM_ADDR_GERAN_CELL_ID := '0'H;
|
||||||
|
|
Loading…
Reference in New Issue