laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34068 )
Change subject: PCUIF_Components: add compatibility for PCU_IF_SAPI_AGCH_2 ......................................................................
PCUIF_Components: add compatibility for PCU_IF_SAPI_AGCH_2
When we receive a PCUIF_DATA_REQ, f_BTS_CT_handler will mangle the incoming message for us. The resulting BTS_CCCH_Block that is sent up to the component not only contains the PCUIF message, but will also have the already parsed MAC block attached. This currently only works for PCU_IF_SAPI_PCH and PCU_IF_SAPI_PCH_2 but not for PCU_IF_SAPI_AGCH_2.
Let's add compatibility for PCU_IF_SAPI_AGCH_2.
Related: OS#5927 Change-Id: Ife67bde444d957822a953391b80d01d49fff064b --- M pcu/PCUIF_Components.ttcn 1 file changed, 26 insertions(+), 1 deletion(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved
diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 5868625..a18c774 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -502,7 +502,7 @@ /* Wait until the PCU is connected */ PCUIF.receive(tr_RAW_PCU_EV(PCU_EV_CONNECT));
- var template PCUIF_Sapi tr_ccch_sapi := (PCU_IF_SAPI_PCH, PCU_IF_SAPI_PCH_2, PCU_IF_SAPI_AGCH); + var template PCUIF_Sapi tr_ccch_sapi := (PCU_IF_SAPI_PCH, PCU_IF_SAPI_PCH_2, PCU_IF_SAPI_AGCH, PCU_IF_SAPI_AGCH_2); alt { /* Wait for TXT.ind (PCU_VERSION) and respond with INFO.ind (SI13) */ [] PCUIF.receive(tr_PCUIF_TXT_IND(bts_nr, PCU_VERSION, ?)) -> value pcu_msg { @@ -541,6 +541,7 @@ [decode_data_req] PCUIF.receive(tr_PCUIF_DATA_REQ(bts_nr, ?, ?, sapi := tr_ccch_sapi)) -> value pcu_msg { var octetstring data; var PCUIF_pch pch; + var PCUIF_agch agch; /* On PCH the payload is prefixed with paging group (3 octets): skip it. * TODO: add an additional template parameter, so we can match it. */ if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { @@ -557,6 +558,12 @@ pcu_msg_rr.imsi := pch.imsi; pcu_msg_rr.rr_msg := dec_GsmRrMessage(pch.data); pcu_msg_rr.confirm := pch.confirm; + } else if (pcu_msg_rr.raw.sapi == PCU_IF_SAPI_AGCH_2) { + agch := dec_PCUIF_agch(pcu_msg_rr.raw.data); + pcu_msg_rr.imsi := omit; + pcu_msg_rr.msg_id := agch.msg_id; + pcu_msg_rr.rr_msg := dec_GsmRrMessage(agch.data); + pcu_msg_rr.confirm := agch.confirm; } else { pcu_msg_rr.msg_id := omit; pcu_msg_rr.imsi := omit;