laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33976 )
Change subject: ASCI: Allow incoming VGCS/VBS connections at RAN_Emulation.ttcnpp ......................................................................
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 --- M library/RAN_Emulation.ttcnpp 1 file changed, 31 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 2fba50a..99753da 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1348,6 +1348,14 @@ 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 @@ " ==? ", 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 {