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:
parent
d9a348c3ac
commit
e5a6ef1d31
|
@ -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.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);
|
||||
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) {
|
||||
|
@ -1305,7 +1305,7 @@ private function f_mgcp_ep_extract_cic(charstring inp) return integer {
|
|||
type record ExpectData {
|
||||
/* L3 payload based on which we can match it */
|
||||
octetstring l3_payload optional,
|
||||
integer handoverRequestPointCode optional,
|
||||
integer n_connectPointCode optional,
|
||||
boolean sccp_cr_without_payload,
|
||||
/* component reference for this connection */
|
||||
RAN_ConnHdlr vc_conn
|
||||
|
@ -1313,7 +1313,7 @@ type record ExpectData {
|
|||
|
||||
/* procedure based port to register for incoming connections */
|
||||
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);
|
||||
|
||||
/* 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);
|
||||
|
||||
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;
|
||||
} 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 {
|
||||
var RAN_ConnHdlr ret := null;
|
||||
var octetstring l3_info;
|
||||
var boolean handoverRequest := false;
|
||||
var integer handoverRequestPointCode;
|
||||
var boolean n_connect := false;
|
||||
var integer n_connectPointCode;
|
||||
var integer i;
|
||||
|
||||
if (ischosen(conn_ind.userData.pdu.bssmap.completeLayer3Information)) {
|
||||
l3_info := conn_ind.userData.pdu.bssmap.completeLayer3Information.layer3Information.layer3info;
|
||||
log("ExpectedCreateCallback completeLayer3Information");
|
||||
} else if (ischosen(conn_ind.userData.pdu.bssmap.handoverRequest)) {
|
||||
handoverRequest := true;
|
||||
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode);
|
||||
log("ExpectedCreateCallback handoverRequest ", handoverRequestPointCode);
|
||||
n_connect := true;
|
||||
n_connectPointCode := bit2int(conn_ind.calledAddress.signPointCode);
|
||||
log("ExpectedCreateCallback handoverRequest ", n_connectPointCode);
|
||||
} else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSSetup)) {
|
||||
handoverRequest := true;
|
||||
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode);
|
||||
log("ExpectedCreateCallback VGCS/VBS Setup ", handoverRequestPointCode);
|
||||
n_connect := true;
|
||||
n_connectPointCode := bit2int(conn_ind.calledAddress.signPointCode);
|
||||
log("ExpectedCreateCallback VGCS/VBS Setup ", n_connectPointCode);
|
||||
} else if (ischosen(conn_ind.userData.pdu.bssmap.vGCS_VBSAssignmentRequest)) {
|
||||
handoverRequest := true;
|
||||
handoverRequestPointCode := bit2int(conn_ind.calledAddress.signPointCode);
|
||||
log("ExpectedCreateCallback VGCS/VBS Assignment ", handoverRequestPointCode);
|
||||
n_connect := true;
|
||||
n_connectPointCode := bit2int(conn_ind.calledAddress.signPointCode);
|
||||
log("ExpectedCreateCallback VGCS/VBS Assignment ", n_connectPointCode);
|
||||
} 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;
|
||||
}
|
||||
|
||||
for (i := 0; i < sizeof(ExpectTable); i:= i+1) {
|
||||
if (handoverRequest) {
|
||||
log("ExpectTable[", i, "].handoverRequestPointCode = ", ExpectTable[i].handoverRequestPointCode,
|
||||
" ==? ", handoverRequestPointCode);
|
||||
if (ExpectTable[i].handoverRequestPointCode == handoverRequestPointCode) {
|
||||
if (n_connect) {
|
||||
log("ExpectTable[", i, "].n_connectPointCode = ", ExpectTable[i].n_connectPointCode,
|
||||
" ==? ", n_connectPointCode);
|
||||
if (ExpectTable[i].n_connectPointCode == n_connectPointCode) {
|
||||
ret := ExpectTable[i].vc_conn;
|
||||
/* release this entry to be used again */
|
||||
ExpectTable[i].handoverRequestPointCode := omit;
|
||||
ExpectTable[i].n_connectPointCode := omit;
|
||||
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;
|
||||
} else {
|
||||
continue;
|
||||
|
@ -1436,25 +1436,25 @@ runs on RAN_Emulation_CT return RAN_ConnHdlr {
|
|||
#endif
|
||||
|
||||
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 {
|
||||
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) {
|
||||
if (not ispresent(ExpectTable[i].l3_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)) {
|
||||
ExpectTable[i].l3_payload := valueof(l3);
|
||||
} else {
|
||||
ExpectTable[i].sccp_cr_without_payload := true;
|
||||
}
|
||||
if (ispresent(handoverRequestPointCode)) {
|
||||
ExpectTable[i].handoverRequestPointCode := valueof(handoverRequestPointCode);
|
||||
if (ispresent(n_connectPointCode)) {
|
||||
ExpectTable[i].n_connectPointCode := valueof(n_connectPointCode);
|
||||
}
|
||||
ExpectTable[i].vc_conn := hdlr;
|
||||
if (ispresent(handoverRequestPointCode)) {
|
||||
log("Created Expect[", i, "] for handoverRequest to be handled at ", hdlr);
|
||||
if (ispresent(n_connectPointCode)) {
|
||||
log("Created Expect[", i, "] for N-CONNECT to be handled at ", hdlr);
|
||||
} else {
|
||||
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 {
|
||||
for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) {
|
||||
ExpectTable[i].l3_payload := omit;
|
||||
ExpectTable[i].handoverRequestPointCode := omit;
|
||||
ExpectTable[i].n_connectPointCode := omit;
|
||||
ExpectTable[i].sccp_cr_without_payload := false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
BSSAP_PROC.call(RAN_register_handoverRequest:{targetPointCode, self}) {
|
||||
[] BSSAP_PROC.getreply(RAN_register_handoverRequest:{?, ?}) {};
|
||||
function f_create_bssmap_exp_n_connect(integer targetPointCode) runs on BSC_ConnHdlr {
|
||||
BSSAP_PROC.call(RAN_register_n_connect:{targetPointCode, self}) {
|
||||
[] BSSAP_PROC.getreply(RAN_register_n_connect:{?, ?}) {};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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 --
|
||||
* 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_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";
|
||||
}
|
||||
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_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 */
|
||||
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) } };
|
||||
|
||||
/* old BSS sends Handover Required, via inter-MSC E link: like
|
||||
|
|
Loading…
Reference in New Issue