This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21172 ) Change subject: gbproxy: Test for RA Capability procedure ...................................................................... gbproxy: Test for RA Capability procedure Change-Id: If7e5a5cab1e445e0b4ef0466990e352143c31245 --- M gbproxy/GBProxy_Tests.ttcn M library/Osmocom_Gb_Types.ttcn 2 files changed, 175 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/21172/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index ecaca54..3665f48 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -634,10 +634,45 @@ f_cleanup(); } +private function f_TC_ra_capability(charstring id) runs on BSSGP_ConnHdlr { + var integer i; + + for (i := 0; i < 10; i := i+1) { + var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_RA_CAP(g_pars.tlli, { ts_RaCapRec_BSSGP }); + /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */ + var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_RA_CAP(g_pars.tlli, { tr_RaCapRec_BSSGP }) + + SGSN[0].send(pdu_tx); + alt { + [] PCU[0].receive(pdu_rx); + [] PCU[0].receive { + setverdict(fail, "SGSN Received unexpected"); + mtc.stop; + } + } + } + setverdict(pass); +} +testcase TC_ra_capability() runs on test_CT +{ + var BSSGP_ConnHdlr vc_conn; + f_init(); + + vc_conn := f_start_handler(refers(f_TC_ra_capability), testcasename(), g_pcu, g_sgsn, 3); + vc_conn.done; + /* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */ + + f_cleanup(); +} + + + + control { execute( TC_BVC_bringup() ); execute( TC_ul_unitdata() ); execute( TC_dl_unitdata() ); + execute( TC_ra_capability() ); } diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 8271ced..82fdb07 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -929,6 +929,43 @@ return ret; } +template (value) Tag ts_BSSGP_IE_Tag(OCT1 tag) := { + iEI := '1E'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + unstructured_Value := tag +} + +template (present) Tag tr_BSSGP_IE_Tag(template (present) OCT1 tag) := { + iEI := '1E'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + unstructured_Value := tag +} + +template (value) RA_Cap_UPD_CAUSE ts_BSSGP_IE_RACU_Cause(template (value) OCT1 cause) := { + iEI := '1A'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + rA_CAP_UPD_Cause_value := cause +} + +template (present) RA_Cap_UPD_CAUSE tr_BSSGP_IE_RACU_Cause(template (present) OCT1 cause) := { + iEI := '1A'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + rA_CAP_UPD_Cause_value := cause +} + + template PDU_BSSGP ts_BVC_RESET(BssgpCause cause, BssgpBvci bvci, template BssgpCellId cell_id) := { pDU_BSSGP_BVC_RESET := { @@ -1204,6 +1241,48 @@ }, presenceBitMSRACap := '0'B }; + template (present) MSRACapabilityValuesRecord_BSSGP + tr_RaCapRec_BSSGP(template (present) BIT4 att := '0001'B /* E-GSM */, template MultislotCap_GPRS_BSSGP mscap_gprs := *, + template MultislotCap_EGPRS_BSSGP mscap_egprs := *) := { + mSRACapabilityValues := { + mSRACapabilityValuesExclude1111 := { + accessTechnType := att, /* E-GSM */ + accessCapabilities := { + lengthIndicator := ?, /* overwritten */ + accessCapabilities := { + rfPowerCapability := '001'B, /* FIXME */ + presenceBitA5 := ?, + a5bits := *, + esind := '1'B, + psbit := '0'B, + vgcs := '0'B, + vbs := '0'B, + presenceBitMultislot := '1'B, + multislotcap := { + presenceBitHscsd := '0'B, + hscsdmultislotclass := omit, + presenceBitGprs := ?, + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := *, + presenceBitEgprsmulti := ?, + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := ?, + multislotCapdtmgprsmultislotsubclass := * + } + }, + accessCapAdditionsAfterRel97 := * + }, + spare_bits := * + } + } + }, + presenceBitMSRACap := '0'B + }; + template QoS_Profile_V t_defaultQos := { peak_Bit_Rate := int2oct(80, 2), @@ -1253,7 +1332,7 @@ return omit; } else { ret := { - iEI := '00'O, + iEI := '13'O, ext := '1'B, lengthIndicator := { length1 := 1 @@ -1264,6 +1343,21 @@ } } + function tr_BSSGP_IE_MSRAcap(template MSRadioAccessCapabilityV_BSSGP racap) return template MS_Radio_Access_Capability { + var template MS_Radio_Access_Capability ret; + if (istemplatekind(racap, "omit")) { + return omit; + } else { + ret := { + iEI := '13'O, + ext := ?, + lengthIndicator := ?, + mSRadioAccessCapabilityV_BSSGP := racap + } + return ret; + } + } + template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit, template (omit) IMSI_BSSGP imsi := omit) := { @@ -1589,6 +1683,51 @@ } } +/* 10.2.3 */ +template (value) PDU_BSSGP ts_BSSGP_RA_CAP(GprsTlli tlli, + template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := { + pDU_BSSGP_RA_CAPABILITY := { + bssgpPduType := '02'O, + tLLI := ts_BSSGP_TLLI(tlli), + mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap) + } +} +template (present) PDU_BSSGP tr_BSSGP_RA_CAP(template (present) GprsTlli tlli, + template MSRadioAccessCapabilityV_BSSGP racap) := { + pDU_BSSGP_RA_CAPABILITY := { + bssgpPduType := '02'O, + tLLI := ts_BSSGP_TLLI(tlli), + mS_Radio_Access_Capability := tr_BSSGP_IE_MSRAcap(racap) + } +} + + +/* 10.3.3 */ +template (value) PDU_BSSGP ts_BSSGP_RA_CAP_UPD(GprsTlli tlli, OCT1 tag) := { + pDU_BSSGP_RA_CAPABILITY_UPDATE := { + bssgpPduType := '08'O, + tLLI := ts_BSSGP_TLLI(tlli), + tag := ts_BSSGP_IE_Tag(tag) + } +} + +/* 10.3.4 */ +template (value) PDU_BSSGP +ts_BSSGP_RA_CAP_UPD_ACK(GprsTlli tlli, OCT1 tag, template (value) OCT1 cause, + template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := { + pDU_BSSGP_RA_CAPABILITY_UPDATE_ACK := { + bssgpPduType := '09'O, + tLLI := ts_BSSGP_TLLI(tlli), + tag := ts_BSSGP_IE_Tag(tag), + iMSI := omit, + rA_Cap_UPDATE_CAUSE := ts_BSSGP_IE_RACU_Cause(cause), + mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap) + } +} + + + + /* PDU permitted on PTP BVC only (TS 48.018 Section 5.4.1) */ template (present) PDU_BSSGP tr_BSSGP_PERMITTED_PTP_ONLY := ( -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e5a5cab1e445e0b4ef0466990e352143c31245 Gerrit-Change-Number: 21172 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201116/7fbfb8f8/attachment.htm>