diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-04-05 09:08:26 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-04-05 09:35:01 +0200 |
commit | ee19c73d81ec5ebb8760c1bc8faa937f4e0eb85f (patch) | |
tree | c8c967b1111bba2fe6770e7ddf3d26495281b292 /library | |
parent | 3d04ae6c550d240ac01742af8fb419cc5a97d02a (diff) |
RSL_Types: Fix msg_disc of IPA PDCH ACT/DEACT + inverse templates
The MDISC_IPACCESS is only used for the media (CRCX/MDCX/DLCX) related
commands, not for the PDCH activation/deactivation. The latter uses
normal MDISC_DCHAN.
Also, add the inverse templates for PDCH actiation/deactivation, so we
now have both receive and transmit template for each of the 6 related
messages (activation, deactivation, plus each their ACK + NACK).
Change-Id: I170a90391859d71e1f96a72205487cccba5b6ae7
Diffstat (limited to 'library')
-rw-r--r-- | library/RSL_Types.ttcn | 61 |
1 files changed, 55 insertions, 6 deletions
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index f26a1d85..5dba470f 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1547,34 +1547,67 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie } + template RSL_Message ts_RSL_IPA_PDCH_ACT(RslChannelNr chan_nr) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_IPAC_PDCH_ACT, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) + } + } template RSL_Message tr_RSL_IPA_PDCH_ACT(template RslChannelNr chan_nr) := { - msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), msg_type := RSL_MT_IPAC_PDCH_ACT, ies := { tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}) } } + template RSL_Message ts_RSL_IPA_PDCH_ACT_ACK(RslChannelNr chan_nr, RSL_IE_FrameNumber fn) := { - msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), msg_type := RSL_MT_IPAC_PDCH_ACT_ACK, ies := { 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 := fn}) } } + template RSL_Message tr_RSL_IPA_PDCH_ACT_ACK(template RslChannelNr chan_nr, + template RSL_IE_FrameNumber fn) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_IPAC_PDCH_ACT_ACK, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{frame_nr := fn}) + } + } template RSL_Message ts_RSL_IPA_PDCH_ACT_NACK(RslChannelNr chan_nr, RSL_Cause cause) := { - msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), msg_type := RSL_MT_IPAC_PDCH_ACT_NACK, ies := { 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)}) } } + template RSL_Message tr_RSL_IPA_PDCH_ACT_NACK(template RslChannelNr chan_nr, + template RSL_Cause cause) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_IPAC_PDCH_ACT_NACK, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{cause := tr_RSL_IE_Cause(cause)}) + } + } + template RSL_Message ts_RSL_IPA_PDCH_DEACT(RslChannelNr chan_nr) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_IPAC_PDCH_DEACT, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) + } + } template RSL_Message tr_RSL_IPA_PDCH_DEACT(template RslChannelNr chan_nr) := { - msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), msg_type := RSL_MT_IPAC_PDCH_DEACT, ies := { tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}) @@ -1582,21 +1615,37 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie } template RSL_Message ts_RSL_IPA_PDCH_DEACT_ACK(RslChannelNr chan_nr) := { - msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), msg_type := RSL_MT_IPAC_PDCH_DEACT_ACK, ies := { t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) } } + template RSL_Message tr_RSL_IPA_PDCH_DEACT_ACK(template RslChannelNr chan_nr) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_IPAC_PDCH_DEACT_ACK, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}) + } + } template RSL_Message ts_RSL_IPA_PDCH_DEACT_NACK(RslChannelNr chan_nr, RSL_Cause cause) := { - msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), msg_type := RSL_MT_IPAC_PDCH_DEACT_NACK, ies := { 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)}) } } + template RSL_Message tr_RSL_IPA_PDCH_DEACT_NACK(template RslChannelNr chan_nr, + template RSL_Cause cause) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_IPAC_PDCH_DEACT_NACK, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{cause := tr_RSL_IE_Cause(cause)}) + } + } function f_rsl_find_ie(RSL_Message msg, RSL_IE_Type iei, out RSL_IE_Body ret) return boolean { |