diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 2fba50ac4..99753da9a 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -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 {