ASCI: Rename handoverRequest to n_connect in RAN_Emulation.ttcnpp

The expectation table is used to deliver new connections with Handover
Request as well as with VGCS/VBS Setup and VGCS/VBS Assignment Request.
"handoverRequest" is renamed to "n_connect".

Related: OS#4854
Change-Id: I941c5db5235785841f3368ef908a409bbb12150e
This commit is contained in:
Andreas Eversberg 2023-07-28 10:45:20 +02:00
parent d9a348c3ac
commit e5a6ef1d31
3 changed files with 37 additions and 37 deletions

View File

@ -1266,9 +1266,9 @@ function main(RanOps ops, charstring id) runs on RAN_Emulation_CT {
PROC.reply(RAN_register:{l3_info, vc_hdlr}) to vc_hdlr; PROC.reply(RAN_register:{l3_info, vc_hdlr}) to vc_hdlr;
} }
[] PROC.getcall(RAN_register_handoverRequest:{?,?}) -> param(targetPointCode, vc_hdlr) { [] PROC.getcall(RAN_register_n_connect:{?,?}) -> param(targetPointCode, vc_hdlr) {
f_create_expect(omit, vc_hdlr, targetPointCode); f_create_expect(omit, vc_hdlr, targetPointCode);
PROC.reply(RAN_register_handoverRequest:{targetPointCode, vc_hdlr}) to vc_hdlr; PROC.reply(RAN_register_n_connect:{targetPointCode, vc_hdlr}) to vc_hdlr;
} }
[] PROC.getcall(RAN_register_sccp_cr_without_payload:{?}) -> param(vc_hdlr) { [] PROC.getcall(RAN_register_sccp_cr_without_payload:{?}) -> param(vc_hdlr) {
@ -1305,7 +1305,7 @@ private function f_mgcp_ep_extract_cic(charstring inp) return integer {
type record ExpectData { type record ExpectData {
/* L3 payload based on which we can match it */ /* L3 payload based on which we can match it */
octetstring l3_payload optional, octetstring l3_payload optional,
integer handoverRequestPointCode optional, integer n_connectPointCode optional,
boolean sccp_cr_without_payload, boolean sccp_cr_without_payload,
/* component reference for this connection */ /* component reference for this connection */
RAN_ConnHdlr vc_conn RAN_ConnHdlr vc_conn
@ -1313,7 +1313,7 @@ type record ExpectData {
/* procedure based port to register for incoming connections */ /* procedure based port to register for incoming connections */
signature RAN_register(in octetstring l3, in RAN_ConnHdlr hdlr); signature RAN_register(in octetstring l3, in RAN_ConnHdlr hdlr);
signature RAN_register_handoverRequest(in integer targetPointCode, in RAN_ConnHdlr hdlr); signature RAN_register_n_connect(in integer targetPointCode, in RAN_ConnHdlr hdlr);
signature RAN_register_sccp_cr_without_payload(in RAN_ConnHdlr hdlr); signature RAN_register_sccp_cr_without_payload(in RAN_ConnHdlr hdlr);
/* procedure based port to register for incoming IMSI/TMSI */ /* procedure based port to register for incoming IMSI/TMSI */
@ -1327,7 +1327,7 @@ signature RAN_last_n_sd(in RAN_ConnHdlr hdlr, out N_Sd_Array last_n_sd);
signature RAN_continue_after_n_sd(N_Sd_Array last_n_sd, in RAN_ConnHdlr hdlr); signature RAN_continue_after_n_sd(N_Sd_Array last_n_sd, in RAN_ConnHdlr hdlr);
type port RAN_PROC_PT procedure { type port RAN_PROC_PT procedure {
inout RAN_register, RAN_register_imsi, RAN_unregister_imsi, RAN_register_handoverRequest, inout RAN_register, RAN_register_imsi, RAN_unregister_imsi, RAN_register_n_connect,
RAN_register_sccp_cr_without_payload, RAN_last_n_sd, RAN_continue_after_n_sd; RAN_register_sccp_cr_without_payload, RAN_last_n_sd, RAN_continue_after_n_sd;
} with { extension "internal" }; } with { extension "internal" };
@ -1337,40 +1337,40 @@ function ExpectedCreateCallback(BSSAP_N_CONNECT_ind conn_ind, charstring id)
runs on RAN_Emulation_CT return RAN_ConnHdlr { runs on RAN_Emulation_CT return RAN_ConnHdlr {
var RAN_ConnHdlr ret := null; var RAN_ConnHdlr ret := null;
var octetstring l3_info; var octetstring l3_info;
var boolean handoverRequest := false; var boolean n_connect := false;
var integer handoverRequestPointCode; var integer n_connectPointCode;
var integer i; var integer i;
if (ischosen(conn_ind.userData.pdu.bssmap.completeLayer3Information)) { if (ischosen(conn_ind.userData.pdu.bssmap.completeLayer3Information)) {
l3_info := conn_ind.userData.pdu.bssmap.completeLayer3Information.layer3Information.layer3info; l3_info := conn_ind.userData.pdu.bssmap.completeLayer3Information.layer3Information.layer3info;
log("ExpectedCreateCallback completeLayer3Information"); log("ExpectedCreateCallback completeLayer3Information");
} else if (ischosen(conn_ind.userData.pdu.bssmap.handoverRequest)) { } else if (ischosen(conn_ind.userData.pdu.bssmap.handoverRequest)) {
handoverRequest := true; n_connect := true;
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode); n_connectPointCode := bit2int(conn_ind.calledAddress.signPointCode);
log("ExpectedCreateCallback handoverRequest ", handoverRequestPointCode); log("ExpectedCreateCallback handoverRequest ", n_connectPointCode);
} else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSSetup)) { } else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSSetup)) {
handoverRequest := true; n_connect := true;
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode); n_connectPointCode := bit2int(conn_ind.calledAddress.signPointCode);
log("ExpectedCreateCallback VGCS/VBS Setup ", handoverRequestPointCode); log("ExpectedCreateCallback VGCS/VBS Setup ", n_connectPointCode);
} else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSAssignmentRequest)) { } else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSAssignmentRequest)) {
handoverRequest := true; n_connect := true;
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode); n_connectPointCode := bit2int(conn_ind.calledAddress.signPointCode);
log("ExpectedCreateCallback VGCS/VBS Assignment ", handoverRequestPointCode); log("ExpectedCreateCallback VGCS/VBS Assignment ", n_connectPointCode);
} else { } else {
setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3 nor a Handover Request"); setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3 nor a new BSS connection");
mtc.stop; mtc.stop;
} }
for (i := 0; i < sizeof(ExpectTable); i:= i+1) { for (i := 0; i < sizeof(ExpectTable); i:= i+1) {
if (handoverRequest) { if (n_connect) {
log("ExpectTable[", i, "].handoverRequestPointCode = ", ExpectTable[i].handoverRequestPointCode, log("ExpectTable[", i, "].n_connectPointCode = ", ExpectTable[i].n_connectPointCode,
" ==? ", handoverRequestPointCode); " ==? ", n_connectPointCode);
if (ExpectTable[i].handoverRequestPointCode == handoverRequestPointCode) { if (ExpectTable[i].n_connectPointCode == n_connectPointCode) {
ret := ExpectTable[i].vc_conn; ret := ExpectTable[i].vc_conn;
/* release this entry to be used again */ /* release this entry to be used again */
ExpectTable[i].handoverRequestPointCode := omit; ExpectTable[i].n_connectPointCode := omit;
ExpectTable[i].vc_conn := null; ExpectTable[i].vc_conn := null;
log("Found Expect[", i, "] for handoverRequest handled at ", ret); log("Found Expect[", i, "] for N-CONNECT handled at ", ret);
return ret; return ret;
} else { } else {
continue; continue;
@ -1436,25 +1436,25 @@ runs on RAN_Emulation_CT return RAN_ConnHdlr {
#endif #endif
private function f_create_expect(template octetstring l3, RAN_ConnHdlr hdlr, private function f_create_expect(template octetstring l3, RAN_ConnHdlr hdlr,
template integer handoverRequestPointCode := omit) template integer n_connectPointCode := omit)
runs on RAN_Emulation_CT { runs on RAN_Emulation_CT {
var integer i; var integer i;
log("f_create_expect(l3 := ", l3, ", handoverRequest := ", handoverRequestPointCode); log("f_create_expect(l3 := ", l3, ", n_connectPointCode := ", n_connectPointCode);
for (i := 0; i < sizeof(ExpectTable); i := i+1) { for (i := 0; i < sizeof(ExpectTable); i := i+1) {
if (not ispresent(ExpectTable[i].l3_payload) if (not ispresent(ExpectTable[i].l3_payload)
and not ExpectTable[i].sccp_cr_without_payload and not ExpectTable[i].sccp_cr_without_payload
and not ispresent(ExpectTable[i].handoverRequestPointCode)) { and not ispresent(ExpectTable[i].n_connectPointCode)) {
if (ispresent(l3)) { if (ispresent(l3)) {
ExpectTable[i].l3_payload := valueof(l3); ExpectTable[i].l3_payload := valueof(l3);
} else { } else {
ExpectTable[i].sccp_cr_without_payload := true; ExpectTable[i].sccp_cr_without_payload := true;
} }
if (ispresent(handoverRequestPointCode)) { if (ispresent(n_connectPointCode)) {
ExpectTable[i].handoverRequestPointCode := valueof(handoverRequestPointCode); ExpectTable[i].n_connectPointCode := valueof(n_connectPointCode);
} }
ExpectTable[i].vc_conn := hdlr; ExpectTable[i].vc_conn := hdlr;
if (ispresent(handoverRequestPointCode)) { if (ispresent(n_connectPointCode)) {
log("Created Expect[", i, "] for handoverRequest to be handled at ", hdlr); log("Created Expect[", i, "] for N-CONNECT to be handled at ", hdlr);
} else { } else {
log("Created Expect[", i, "] for ", l3, " to be handled at ", hdlr); log("Created Expect[", i, "] for ", l3, " to be handled at ", hdlr);
} }
@ -1499,7 +1499,7 @@ private function f_expect_table_init()
runs on RAN_Emulation_CT { runs on RAN_Emulation_CT {
for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) {
ExpectTable[i].l3_payload := omit; ExpectTable[i].l3_payload := omit;
ExpectTable[i].handoverRequestPointCode := omit; ExpectTable[i].n_connectPointCode := omit;
ExpectTable[i].sccp_cr_without_payload := false; ExpectTable[i].sccp_cr_without_payload := false;
} }
} }

View File

@ -1969,9 +1969,9 @@ function f_expect_clear(float t := 5.0, boolean verify_vlr_cell_id := true) runs
} }
} }
function f_create_bssmap_exp_handoverRequest(integer targetPointCode) runs on BSC_ConnHdlr { function f_create_bssmap_exp_n_connect(integer targetPointCode) runs on BSC_ConnHdlr {
BSSAP_PROC.call(RAN_register_handoverRequest:{targetPointCode, self}) { BSSAP_PROC.call(RAN_register_n_connect:{targetPointCode, self}) {
[] BSSAP_PROC.getreply(RAN_register_handoverRequest:{?, ?}) {}; [] BSSAP_PROC.getreply(RAN_register_n_connect:{?, ?}) {};
} }
} }

View File

@ -5819,7 +5819,7 @@ private function f_tc_ho_inter_bsc0(charstring id, BSC_ConnHdlrPars pars) runs o
/* Ok, that went well, now the other BSC is handovering back here -- /* Ok, that went well, now the other BSC is handovering back here --
* from now on this here is the new BSS. */ * from now on this here is the new BSS. */
f_create_bssmap_exp_handoverRequest(193); f_create_bssmap_exp_n_connect(193);
var template BSSMAP_IE_EncryptionInformation encryptionInformation; var template BSSMAP_IE_EncryptionInformation encryptionInformation;
var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm;
@ -5883,7 +5883,7 @@ private function f_tc_ho_inter_bsc1(charstring id, BSC_ConnHdlrPars pars) runs o
bss_rtp_ip := "1.2.3.4"; bss_rtp_ip := "1.2.3.4";
} }
f_init_handler(pars); f_init_handler(pars);
f_create_bssmap_exp_handoverRequest(194); f_create_bssmap_exp_n_connect(194);
var template BSSMAP_IE_EncryptionInformation encryptionInformation; var template BSSMAP_IE_EncryptionInformation encryptionInformation;
var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm; var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm;
@ -6218,7 +6218,7 @@ private function f_tc_ho_inter_msc_out(charstring id, BSC_ConnHdlrPars pars) run
/* inter-MSC handover back to the first MSC */ /* inter-MSC handover back to the first MSC */
f_create_bssmap_exp_handoverRequest(193); f_create_bssmap_exp_n_connect(193);
cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('262'H, '42'H, 23, 42) } }; cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('262'H, '42'H, 23, 42) } };
/* old BSS sends Handover Required, via inter-MSC E link: like /* old BSS sends Handover Required, via inter-MSC E link: like