diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-05-27 00:38:59 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2021-05-29 21:50:11 +0200 |
commit | 9c3b82f5dcd827b16921a8c08282db7b662e46e5 (patch) | |
tree | 6dc8111a8456c43fbe42223e34d301cd804d75cc | |
parent | 99b837ad09b94df531e7090cc6ebec0503001f9d (diff) |
GSM_Types, bsc: add VAMOS cbits
Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5
-rw-r--r-- | bsc/MSC_ConnectionHandler.ttcn | 6 | ||||
-rw-r--r-- | library/GSM_Types.ttcn | 24 |
2 files changed, 28 insertions, 2 deletions
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 8c44bf74..37adc18c 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -754,9 +754,15 @@ function f_ChDesc2RslChanNr(ChannelDescription2_V ch_desc, out RslChannelNr chan if (match(inp, '00001'B)) { /* TCH/F */ chan_nr := valueof(t_RslChanNr_Bm(tn)); } + else if (match(inp, '11101'B)) { /* VAMOS TCH/F */ + chan_nr := valueof(t_RslChanNr_Osmo_VAMOS_Bm(tn)); + } else if (match(inp, '0001?'B)) { /* TCH/H */ chan_nr := valueof(t_RslChanNr_Lm(tn, bit2int(substr(inp, 4, 1)))); } + else if (match(inp, '1111?'B)) { /* VAMOS TCH/H */ + chan_nr := valueof(t_RslChanNr_Osmo_VAMOS_Lm(tn, bit2int(substr(inp, 4, 1)))); + } else if (match(inp, '001??'B)) { /* SDCCH/4 */ chan_nr := valueof(t_RslChanNr_SDCCH4(tn, bit2int(substr(inp, 3, 2)))); } diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index bcd0afba..e74972fd 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -124,11 +124,12 @@ type enumerated RslChanNr0 { RSL_CHAN_NR_PCH_AGCH ('10010'B), RSL_CHAN_NR_OSMO_PDCH ('11000'B), RSL_CHAN_NR_OSMO_CBCH4 ('11001'B), - RSL_CHAN_NR_OSMO_CBCH8 ('11010'B) + RSL_CHAN_NR_OSMO_CBCH8 ('11010'B), + RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH ('11101'B) } with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; type record RslChanNr2 { - BIT4 tag ('0001'B), + BIT4 tag ('0001'B, '1111'B), uint1_t sub_chan } with { variant "FIELDLENGTH(5)" variant "FIELDORDER(msb)" }; @@ -149,6 +150,7 @@ type union RslChanNrU { RslChanNr8 sdcch8 } with { variant "TAG(lm, tag = '0001'B; + lm, tag = '1111'B; sdcch4, tag = '001'B; sdcch8, tag = '01'B; ch0, OTHERWISE)" @@ -185,6 +187,15 @@ template RslChannelNr t_RslChanNr_SDCCH8(template uint3_t tn, template uint3_t s u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } }, tn := tn } +template RslChannelNr t_RslChanNr_Osmo_VAMOS_Bm(template uint3_t tn) := { + u := { ch0 := RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH }, + tn := tn +} + +template RslChannelNr t_RslChanNr_Osmo_VAMOS_Lm(template uint3_t tn, template uint1_t sub_slot) := { + u := { lm := { tag := '1111'B, sub_chan := sub_slot } }, + tn := tn +} template (value) RslChannelNr ts_RslChanNr0(uint3_t tn, RslChanNr0 cht) := { u := { ch0 := cht }, @@ -209,6 +220,15 @@ template (value) RslChannelNr ts_RslChanNr_SDCCH8(uint3_t tn, uint3_t sub_slot) u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } }, tn := tn } +template (value) RslChannelNr ts_RslChanNr_Osmo_VAMOS_Bm(uint3_t tn) := { + u := { ch0 := RSL_CHAN_NR_OSMO_VAMOS_Bm_ACCH }, + tn := tn +} +template (value) RslChannelNr ts_RslChanNr_Osmo_VAMOS_Lm(uint3_t tn, uint1_t sub_slot) := { + u := { lm := { tag := '1111'B, sub_chan := sub_slot } }, + tn := tn +} + /* TS 48.058 9.3.2 Link ID */ type enumerated RslLinkIdC { |