From 6ed6bf97736367c3a583cfde695921ae80568e82 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 24 Jan 2018 21:09:15 +0100 Subject: [PATCH] MSC_Tests: Use enum instead of magic numbers for CM_SERVICE_TYPE Change-Id: Ic90b4a0aa47821877a2d3566606b9c9dd5919968 --- bsc-nat/BSC_MS_ConnectionHandler.ttcn | 2 +- bsc/MSC_ConnectionHandler.ttcn | 2 +- library/L3_Templates.ttcn | 9 ++++++--- msc_tests/BSC_ConnectionHandler.ttcn | 2 +- msc_tests/MSC_Tests.ttcn | 12 ++++++------ 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index 6efb15b0d..1f414348b 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -58,7 +58,7 @@ const BssmapOps BSC_MS_BssmapOps := { function f_gen_cl3(hexstring imsi) return PDU_BSSAP { var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(imsi)); - var PDU_ML3_MS_NW l3 := valueof(ts_CM_SERV_REQ('0001'B, mi)); + var PDU_ML3_MS_NW l3 := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellID_LAC_CI(23, 42)); var PDU_BSSAP bssap := valueof(ts_BSSMAP_ComplL3(cell_id, enc_PDU_ML3_MS_NW(l3))); return bssap; diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 39b09f6c8..d1be0efa8 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -87,7 +87,7 @@ template (value) TestHdlrParams t_def_TestHdlrPars := { function f_create_chan_and_exp(TestHdlrParams pars) runs on MSC_ConnHdlr { var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(pars.imsi)); - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0001'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); /* call helper function for CHAN_RQD -> IMM ASS ->EST_IND */ diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index c603b7ba3..f23c8fa36 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -23,7 +23,10 @@ type enumerated CmServiceType { CM_TYPE_MO_CALL ('0001'B), CM_TYPE_EMERG_CALL ('0010'B), CM_TYPE_MO_SMS ('0100'B), - CM_TYPE_SS_ACT ('1000'B) + CM_TYPE_SS_ACT ('1000'B), + CM_TYPE_VGCS ('1001'B), + CM_TYPE_VBS ('1010'B), + CM_TYPE_LCS ('1011'B) } @@ -104,7 +107,7 @@ template (value) MobileStationClassmark2_LV ts_CM2 := { }; /* Send template for CM SERVICE REQUEST */ -template (value) PDU_ML3_MS_NW ts_CM_SERV_REQ(BIT4 serv_type, MobileIdentityLV mi_lv) := { +template (value) PDU_ML3_MS_NW ts_CM_SERV_REQ(CmServiceType serv_type, MobileIdentityLV mi_lv) := { discriminator := '0000'B, /* overwritten */ tiOrSkip := { skipIndicator := '0000'B @@ -114,7 +117,7 @@ template (value) PDU_ML3_MS_NW ts_CM_SERV_REQ(BIT4 serv_type, MobileIdentityLV m cMServiceRequest := { messageType := '000000'B, /* overwritten */ nsd := '00'B, - cm_ServiceType := serv_type, + cm_ServiceType := int2bit(enum2int(serv_type), 4), cipheringKeySequenceNumber := { '000'B, '0'B }, mobileStationClassmark2 := ts_CM2, mobileIdentity := mi_lv, diff --git a/msc_tests/BSC_ConnectionHandler.ttcn b/msc_tests/BSC_ConnectionHandler.ttcn index 25f8daf30..330f25aa6 100644 --- a/msc_tests/BSC_ConnectionHandler.ttcn +++ b/msc_tests/BSC_ConnectionHandler.ttcn @@ -101,7 +101,7 @@ runs on BSC_ConnHdlr { /* helper function to fully establish a dedicated channel */ function f_establish_fully(MobileIdentityLV mi, boolean expect_auth) runs on BSC_ConnHdlr { - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0001'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); var PDU_DTAP_MT dtap_mt; /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ diff --git a/msc_tests/MSC_Tests.ttcn b/msc_tests/MSC_Tests.ttcn index 5976b45e0..566999b1c 100644 --- a/msc_tests/MSC_Tests.ttcn +++ b/msc_tests/MSC_Tests.ttcn @@ -475,7 +475,7 @@ runs on BSC_ConnHdlr { var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '042'H, 23, 42)); - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0001'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); f_create_gsup_expect(hex2str(g_pars.imsi)); @@ -858,7 +858,7 @@ testcase TC_imsi_detach_by_imei() runs on MTC_CT { /* helper function for an emergency call. caller passes in mobile identity to use */ private function f_emerg_call(MobileIdentityLV mi) runs on BSC_ConnHdlr { - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0010'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_EMERG_CALL, mi)); f_bssap_compl_l3(l3_info); BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_ACC)); @@ -905,7 +905,7 @@ private function f_tc_emerg_call_imei_reject(charstring id, BSC_ConnHdlrPars par g_pars := pars; var MobileIdentityLV mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0010'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_EMERG_CALL, mi)); f_bssap_compl_l3(l3_info); BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ('05'O))); setverdict(pass); @@ -943,7 +943,7 @@ private function f_tc_cm_serv_req_vgcs_reject(charstring id, BSC_ConnHdlrPars pa f_perform_lu(false, true, true); var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('1001'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_VGCS, mi)); f_bssap_compl_l3(l3_info); BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ(int2oct(32,1)))); setverdict(pass); @@ -964,7 +964,7 @@ private function f_tc_cm_serv_req_vbs_reject(charstring id, BSC_ConnHdlrPars par f_perform_lu(false, true, true); var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('1010'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_VBS, mi)); f_bssap_compl_l3(l3_info); BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ(int2oct(32,1)))); setverdict(pass); @@ -985,7 +985,7 @@ private function f_tc_cm_serv_req_lcs_reject(charstring id, BSC_ConnHdlrPars par f_perform_lu(false, true, true); var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('1011'B, mi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_LCS, mi)); f_bssap_compl_l3(l3_info); BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ(int2oct(32,1)))); setverdict(pass);