MSC_Tests: Use enum instead of magic numbers for CM_SERVICE_TYPE

Change-Id: Ic90b4a0aa47821877a2d3566606b9c9dd5919968
This commit is contained in:
Harald Welte 2018-01-24 21:09:15 +01:00
parent ae1362544f
commit 6ed6bf9773
5 changed files with 15 additions and 12 deletions

View File

@ -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;

View File

@ -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 */

View File

@ -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,

View File

@ -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 */

View File

@ -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);