ASCI: Allow incoming VGCS/VBS connections at RAN_Emulation.ttcnpp

Similar to Handover Requests the RAN Emulation can accept new SCCP
connections with VGCS/VBS Setup message and VGCS/VBS Assignment Request
message. The point code for the incoming connection can be registered
in the same way as for the Handover Request.

In order to allow multiple connections with the same point code, the
table entry in the ExpectTable must be released after receiving the
message. VGCS/VBS calls have multiple connections to the same BSC.
This patch does not break existing MSC handover tests.

Related: OS#4854
Change-Id: I3fc0c5efe7d9f270804e7295aeb65cfe7898bd7e
This commit is contained in:
Andreas Eversberg 2023-07-27 16:08:23 +02:00
parent 7452806626
commit d9a348c3ac
1 changed files with 11 additions and 0 deletions

View File

@ -1348,6 +1348,14 @@ runs on RAN_Emulation_CT return RAN_ConnHdlr {
handoverRequest := true;
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode);
log("ExpectedCreateCallback handoverRequest ", handoverRequestPointCode);
} else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSSetup)) {
handoverRequest := true;
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode);
log("ExpectedCreateCallback VGCS/VBS Setup ", handoverRequestPointCode);
} else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSAssignmentRequest)) {
handoverRequest := true;
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode);
log("ExpectedCreateCallback VGCS/VBS Assignment ", handoverRequestPointCode);
} else {
setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3 nor a Handover Request");
mtc.stop;
@ -1359,6 +1367,9 @@ runs on RAN_Emulation_CT return RAN_ConnHdlr {
" ==? ", handoverRequestPointCode);
if (ExpectTable[i].handoverRequestPointCode == handoverRequestPointCode) {
ret := ExpectTable[i].vc_conn;
/* release this entry to be used again */
ExpectTable[i].handoverRequestPointCode := omit;
ExpectTable[i].vc_conn := null;
log("Found Expect[", i, "] for handoverRequest handled at ", ret);
return ret;
} else {