RSL_Types: Handle IPA specific messages in tr_RSL_MsgTypeDR()

They all are related to a dedicated channel and carry a channel number
as first information element.

Change-Id: Ic3fdc029a96c34a9d2d9ec669b789526c8325637
This commit is contained in:
Harald Welte 2017-12-16 23:00:20 +01:00
parent 8547a0c285
commit 7a6bf91eac
1 changed files with 28 additions and 1 deletions

View File

@ -244,6 +244,11 @@ module RSL_Types {
payload := pl
}
template RSL_L16V tr_RSL_L16V(template octetstring pl) := {
len := ?,
payload := pl
}
type record RSL_IE_V {
uint8_t val
}
@ -680,7 +685,7 @@ template RSL_Message tr_RSL_MsgTypeT(template RSL_MessageType msg_type) modifies
/* dedicated channel or RLL */
template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
msg_disc := ({RSL_MDISC_DCHAN,?}, {RSL_MDISC_RLL,true})
msg_disc := ({RSL_MDISC_DCHAN,?}, {RSL_MDISC_RLL,true}, {RSL_MDISC_IPACCESS,false})
}
@ -695,6 +700,19 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
}
}
template RSL_Message tr_RSL_DATA_REQ(template RslChannelNr chan_nr :=?,
template RslLinkId link_id := ?,
template octetstring l3_info := ?) := {
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, true),
msg_type := RSL_MT_DATA_REQ,
ies :={
tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
tr_RSL_IE(RSL_IE_Body:{link_id := link_id}),
tr_RSL_IE(RSL_IE_Body:{l3_info := tr_RSL_L16V(l3_info)})
}
}
/* 8.3.2 BTS -> BSC */
template RSL_Message ts_RSL_DATA_IND(RslChannelNr chan_nr, RslLinkId link_id, octetstring l3_info) := {
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, true),
@ -834,6 +852,15 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
}
}
/* 8.4.10 BTS -> BSC */
template RSL_Message ts_RSL_MODE_MODIFY_ACK(RslChannelNr chan_nr) := {
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
msg_type := RSL_MT_MODE_MODIFY_ACK,
ies := {
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr})
}
}
/* 8.4.11 BTS -> BSC */
template RSL_Message ts_RSL_MODE_MODIFY_NACK(RslChannelNr chan_nr, RSL_Cause cause)
modifies ts_RSL_CHAN_ACT_NACK := {