Harald Welte has uploaded this change for review. ( 
https://gerrit.osmocom.org/10980


Change subject: rsl: Add SMSCB related RSL types / templates
......................................................................

rsl: Add SMSCB related RSL types / templates

Change-Id: I203e72a203ffa7538aadc7b96e1ae7e21956c160
---
M library/RSL_Types.ttcn
1 file changed, 54 insertions(+), 0 deletions(-)



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

diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 95a7b1f..7992132 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -577,6 +577,28 @@
                RSL_ChanNeeded  chan_needed
        }

+       /* 9.3.41 CB Command Type */
+       type enumerated RSL_CbCommand {
+               RSL_CB_CMD_NORMAL       ('0000'B),
+               RSL_CB_CMD_SCHEDULE     ('1000'B),
+               RSL_CB_CMD_DEFAULT      ('1110'B),
+               RSL_CB_CMD_NULL         ('1111'B)
+       } with { variant "FIELDLENGTH(4)" };
+       type record RSL_IE_CbCommandType {
+               RSL_CbCommand   command,
+               boolean         default_bcast_null,
+               BIT1            spare,
+               uint2_t         last_block
+       };
+       template (value) RSL_IE_CbCommandType ts_RSL_IE_CbCmdType(RSL_CbCommand 
cmd := RSL_CB_CMD_NORMAL,
+                                                                 uint2_t 
last_block := 1,
+                                                                 boolean 
def_bcast_null := true) := {
+               command := cmd,
+               default_bcast_null := def_bcast_null,
+               spare := '0'B,
+               last_block := last_block
+       }
+
        /* 9.3.53 */
        type record RSL_IE_MultirateCtrl {
                uint3_t         spare,
@@ -678,6 +700,9 @@
                uint16_t                paging_load,
                uint8_t                 paging_group,
                RSL_IE_ChanNeeded       chan_needed,
+               RSL_IE_CbCommandType    cb_cmd_type,
+               RSL_LV                  smscb_message,
+
                RSL_IE_StartingTime     starting_time,
                RSL_IE_EncryptionInfo   encr_info,
                RSL_IE_RequestRef       req_ref,
@@ -726,6 +751,8 @@
                                        paging_load, iei = RSL_IE_PAGING_LOAD;
                                        paging_group, iei = RSL_IE_PAGING_GROUP;
                                        chan_needed, iei = RSL_IE_CHAN_NEEDED;
+                                       cb_cmd_type, iei = RSL_IE_CB_CMD_TYPE;
+                                       smscb_message, iei = RSL_IE_SMSCB_MSG;
                                        starting_time, iei = 
RSL_IE_STARTNG_TIME;
                                        encr_info, iei = RSL_IE_ENCR_INFO;

@@ -1467,6 +1494,33 @@
                ies := *
        }

+       /* 8.5.8 BTS <- BSC SMS BROADCAST COMMAND */
+       template RSL_Message tr_RSL_SMSCB_CMD(template RSL_IE_CbCommandType 
cb_cmd := ?,
+                                             template octetstring msg := ?,
+                                             template RslChannelNr chan_nr := 
?) := {
+               msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
+               msg_type := RSL_MT_SMS_BC_CMD,
+               ies := {
+                       tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+                       tr_RSL_IE(RSL_IE_Body:{cb_cmd_type := cb_cmd}),
+                       tr_RSL_IE(RSL_IE_Body:{smscb_message := 
tr_RSL_LV(msg)}),
+                       *
+               }
+       }
+       template (value) RSL_Message ts_RSL_SMSCB_CMD(template (value) 
RSL_IE_CbCommandType cb_cmd,
+                                                     template (value) 
octetstring msg,
+                                                     template (value) 
RslChannelNr chan_nr :=
+                                                                       
ts_RslChanNr_SDCCH4(0, 2)) := {
+               msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
+               msg_type := RSL_MT_SMS_BC_CMD,
+               ies := {
+                       t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := 
chan_nr}),
+                       t_RSL_IE(RSL_IE_CB_CMD_TYPE, RSL_IE_Body:{cb_cmd_type 
:= cb_cmd}),
+                       t_RSL_IE(RSL_IE_SMSCB_MSG, RSL_IE_Body:{smscb_message 
:= ts_RSL_LV(msg)})
+                       /* optional channel type for extended CBCH */
+               }
+       }
+
        /* 8.6.2 BTS <- BSC */
        template (value) RSL_Message ts_RSL_SACCH_FILL(RSL_IE_SysinfoType 
si_type, octetstring l3_info) := {
                msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),

--
To view, visit https://gerrit.osmocom.org/10980
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

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

Reply via email to