Review at  https://gerrit.osmocom.org/7642

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
---
M library/RSL_Types.ttcn
1 file changed, 55 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/42/7642/1

diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index f26a1d8..5dba470 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -1547,34 +1547,67 @@
        }
 
 
+       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 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 {

-- 
To view, visit https://gerrit.osmocom.org/7642
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I170a90391859d71e1f96a72205487cccba5b6ae7
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <lafo...@gnumonks.org>

Reply via email to