dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34194 )
Change subject: PCUIF: use confirmation flag in struct gsm_pcu_if_pch ......................................................................
PCUIF: use confirmation flag in struct gsm_pcu_if_pch
In the recent PCUIF change of osmo-pcu (see Depends) a confirmation flag is added to struct gsm_pcu_if_pch. This flag tells the receiving end (OsmoBSC or OsmoBTS) that the received IMMEDIATE ASSIGNMENT MAC block has to be confirmed towards the PCU. OsmoBTS and OsmoPCU now rely on the conformation flag and no longer parse the received MAC block.
Let's update the BTS_and PCU testsuites accordingly.
Related: OS#5927 Change-Id: I7017ca20ca7e0b77d0f363121e4f17280e39e8ac --- M bts/BTS_Tests.ttcn M library/PCUIF_CodecPort.ttcn M library/PCUIF_Types.ttcn M pcu/PCUIF_Components.ttcn 4 files changed, 29 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/34194/1
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index d39bb77..b736b36 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5823,6 +5823,7 @@ pch.msg_id := '01020304'O; pch.imsi := "00101000000000123"; pch.data := c_PCU_DATA; + pch.confirmed_imm_ass := false; f_pcu_data_req(0, 0, 0, 0, 0, PCU_IF_SAPI_PCH_2, enc_PCUIF_pch(pch)); }
diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index e56303e..5bf9047 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -159,6 +159,7 @@ pch.msg_id := msg_id; pch.imsi := hex2str(imsi); pch.data := imm_ass; + pch.confirmed_imm_ass := true; pt.send(t_SD_PCUIF(conn_id, ts_PCUIF_DATA_REQ(bts_nr, 0, 0, 0, 0, PCU_IF_SAPI_PCH_2, enc_PCUIF_pch(pch)))); }
diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 8583504..a205771 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -308,7 +308,8 @@ type record PCUIF_pch { OCT4 msg_id, charstring imsi length(17), - octetstring data length(23) + octetstring data length(23), + boolean confirmed_imm_ass } with { variant (msg_id) "BYTEORDER(last)" variant (imsi) "FIELDLENGTH(17)" diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index d7e2ed5..12a3d2b 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -142,7 +142,8 @@ PCUIF_data raw, OCT4 msg_id optional, charstring imsi optional, - GsmRrMessage rr_msg + GsmRrMessage rr_msg, + boolean confirmed_imm_ass }; template BTS_PDTCH_Block tr_PCUIF_DATA_PDTCH(template uint8_t bts_nr, template PCUIF_data raw, @@ -162,12 +163,14 @@ template PCUIF_data raw, template GsmRrMessage rr_msg := ?, template OCT4 msg_id := *, - template charstring imsi := *) := { + template charstring imsi := *, + template boolean confirmed_imm_ass := *) := { bts_nr := bts_nr, raw := raw, msg_id := msg_id, imsi := imsi, - rr_msg := rr_msg + rr_msg := rr_msg, + confirmed_imm_ass := confirmed_imm_ass };
/* Generic port for messages and events */ @@ -553,6 +556,7 @@ pcu_msg_rr.msg_id := pch.msg_id; pcu_msg_rr.imsi := pch.imsi; pcu_msg_rr.rr_msg := dec_GsmRrMessage(pch.data); + pcu_msg_rr.confirmed_imm_ass := pch.confirmed_imm_ass; } else { pcu_msg_rr.msg_id := omit; pcu_msg_rr.imsi := omit;