RSL_Types: Work around (perceived) shortcoming of TITAN RAW encoder
This commit is contained in:
parent
3e6ad89a2b
commit
735dd07b38
|
@ -514,8 +514,11 @@ module RSL_Types {
|
|||
other, OTHERWISE;
|
||||
)" };
|
||||
|
||||
template RSL_IE t_RSL_IE(template RSL_IE_Body body) := {
|
||||
iei := RSL_IE_CHAN_NR, /* overwritten? */
|
||||
/* For some reason the TTCN-3 RAW codec cannot automatically figure out the IEI
|
||||
* that it needs to set for a given union-choice (body). So we have to explicitly
|
||||
* specify the IEI by the caller :( */
|
||||
template RSL_IE t_RSL_IE(RSL_IE_Type iei, template RSL_IE_Body body) := {
|
||||
iei := iei,
|
||||
body := body
|
||||
}
|
||||
|
||||
|
@ -591,9 +594,9 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, true),
|
||||
msg_type := RSL_MT_DATA_REQ,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_L3_INFO, RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -602,9 +605,9 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, true),
|
||||
msg_type := RSL_MT_DATA_IND,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_L3_INFO, RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -613,9 +616,9 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
|
||||
msg_type := RSL_MT_ERROR_IND,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -624,9 +627,9 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
|
||||
msg_type := RSL_MT_EST_IND,
|
||||
ies := {
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}),
|
||||
t_RSL_IE(RSL_IE_L3_INFO, RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -635,8 +638,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
|
||||
msg_type := RSL_MT_REL_REQ,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id})
|
||||
}
|
||||
}
|
||||
template RSL_Message tr_RSL_REL_REQ(template RslChannelNr chan_nr,
|
||||
|
@ -655,8 +658,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
|
||||
msg_type := RSL_MT_REL_CONF,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -665,8 +668,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
|
||||
msg_type := RSL_MT_REL_IND,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{link_id := link_id})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -690,9 +693,9 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
msg_type := RSL_MT_CHAN_ACTIV,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{act_type := t_RSL_IE_ActType}),
|
||||
t_RSL_IE(RSL_IE_Body:{chan_mode := mode})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_ACT_TYPE, RSL_IE_Body:{act_type := t_RSL_IE_ActType}),
|
||||
t_RSL_IE(RSL_IE_CHAN_MODE, RSL_IE_Body:{chan_mode := mode})
|
||||
/* lots of optional IEs */
|
||||
}
|
||||
}
|
||||
|
@ -702,8 +705,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
msg_type := RSL_MT_CHAN_ACTIV_ACK,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{frame_nr := ts_RSL_IE_FrameNumber(fn)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_FRAME_NUMBER, RSL_IE_Body:{frame_nr := ts_RSL_IE_FrameNumber(fn)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -712,8 +715,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
msg_type := RSL_MT_CHAN_ACTIV_NACK,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -722,8 +725,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
msg_type := RSL_MT_CONN_FAIL,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -746,7 +749,7 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
template RSL_Message ts_RSL_RF_CHAN_REL_ACK(RslChannelNr chan_nr) :=
|
||||
ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
RSL_MT_RF_CHAN_REL_ACK,
|
||||
{ t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}) });
|
||||
{ t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) });
|
||||
|
||||
/* COMMON CHANNEL MANAGEMENT MESSAGES */
|
||||
|
||||
|
@ -755,16 +758,16 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
|
||||
msg_type := RSL_MT_CCCH_LOAD_IND,
|
||||
ies := {
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_RACH(0)}),
|
||||
t_RSL_IE(RSL_IE_Body:{rach_load := ts_RSL_IE_RachLoad(slot_ct, busy_ct, acc_ct)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := t_RslChanNr_RACH(0)}),
|
||||
t_RSL_IE(RSL_IE_RACH_LOAD, RSL_IE_Body:{rach_load := ts_RSL_IE_RachLoad(slot_ct, busy_ct, acc_ct)})
|
||||
}
|
||||
}
|
||||
template RSL_Message ts_RSL_PAGING_LOAD_IND(uint16_t buffer_space) := {
|
||||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
|
||||
msg_type := RSL_MT_CCCH_LOAD_IND,
|
||||
ies := {
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_PCH_AGCH(0)}),
|
||||
t_RSL_IE(RSL_IE_Body:{paging_load := buffer_space})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := t_RslChanNr_PCH_AGCH(0)}),
|
||||
t_RSL_IE(RSL_IE_PAGING_LOAD, RSL_IE_Body:{paging_load := buffer_space})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -773,9 +776,9 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
|
||||
msg_type := RSL_MT_CHAN_RQD,
|
||||
ies := {
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_RACH(0)}),
|
||||
t_RSL_IE(RSL_IE_Body:{req_ref := ts_RSL_IE_ReqRef(ra, fn)}),
|
||||
t_RSL_IE(RSL_IE_Body:{access_delay := acc_del})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := t_RslChanNr_RACH(0)}),
|
||||
t_RSL_IE(RSL_IE_REQ_REFERENCE, RSL_IE_Body:{req_ref := ts_RSL_IE_ReqRef(ra, fn)}),
|
||||
t_RSL_IE(RSL_IE_ACCESS_DELAY, RSL_IE_Body:{access_delay := acc_del})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -784,8 +787,8 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
|
||||
msg_type := RSL_MT_DELETE_IND,
|
||||
ies := {
|
||||
t_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_Body:{full_imm_ass_info := ts_RSL_LV(imm_ass)})
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_FULL_IMM_ASS_INFO, RSL_IE_Body:{full_imm_ass_info := ts_RSL_LV(imm_ass)})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -817,7 +820,7 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
|
||||
msg_type := RSL_MT_ERROR_IND,
|
||||
ies := {
|
||||
t_RSL_IE(RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue