Support signalling BVC to send/receive messages
Change-Id: Icbe9f918d16efd01ede4e060f8af53a5e2c9253f
Related: SYS#5210
diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index 5e4555d..dce1ef3 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -537,20 +537,32 @@
/* Send 'tx' on PTP-BVCI from PCU; expect 'rx' on SGSN */
friend function f_pcu2sgsn(template (value) PDU_BSSGP tx, template (present) PDU_BSSGP exp_rx,
- integer pcu_idx := 0, integer sgsn_idx := 0) runs on BSSGP_ConnHdlr {
+ integer pcu_idx := 0, integer sgsn_idx := 0, boolean use_sig := false) runs on BSSGP_ConnHdlr {
var PDU_BSSGP rx;
timer T := 1.0;
- PCU[pcu_idx].send(tx);
+ if (use_sig) {
+ PCU_SIG[pcu_idx].send(tx);
+ } else {
+ PCU[pcu_idx].send(tx);
+ }
+
T.start;
alt {
- [] SGSN[sgsn_idx].receive(exp_rx) {
+ [use_sig] SGSN_SIG[sgsn_idx].receive(exp_rx) {
+ setverdict(pass);
+ }
+ [not use_sig] SGSN[sgsn_idx].receive(exp_rx) {
setverdict(pass);
}
[] SGSN[sgsn_idx].receive(PDU_BSSGP:?) -> value rx {
setverdict(fail, "Unexpected BSSGP on SGSN side: ", rx);
mtc.stop;
}
+ [] SGSN_SIG[sgsn_idx].receive(PDU_BSSGP:?) -> value rx {
+ setverdict(fail, "Unexpected SIG BSSGP on SGSN side: ", rx);
+ mtc.stop;
+ }
[] T.timeout {
setverdict(fail, "Timeout waiting for BSSGP on SGSN side: ", rx);
mtc.stop;
@@ -560,20 +572,32 @@
/* Send 'tx' on PTP-BVCI from SGSN; expect 'rx' on PCU */
friend function f_sgsn2pcu(template (value) PDU_BSSGP tx, template (present) PDU_BSSGP exp_rx,
- integer sgsn_idx:= 0, integer pcu_idx := 0) runs on BSSGP_ConnHdlr {
+ integer sgsn_idx:= 0, integer pcu_idx := 0, boolean use_sig := false) runs on BSSGP_ConnHdlr {
var PDU_BSSGP rx;
timer T := 1.0;
- SGSN[sgsn_idx].send(tx);
+ if (use_sig) {
+ SGSN_SIG[sgsn_idx].send(tx);
+ } else {
+ SGSN[sgsn_idx].send(tx);
+ }
+
T.start;
alt {
- [] PCU[pcu_idx].receive(exp_rx) {
+ [use_sig] PCU_SIG[pcu_idx].receive(exp_rx) {
+ setverdict(pass);
+ }
+ [not use_sig] PCU[pcu_idx].receive(exp_rx) {
setverdict(pass);
}
[] PCU[pcu_idx].receive(PDU_BSSGP:?) -> value rx {
setverdict(fail, "Unexpected BSSGP on PCU side: ", rx);
mtc.stop;
}
+ [] PCU_SIG[pcu_idx].receive(PDU_BSSGP:?) -> value rx {
+ setverdict(fail, "Unexpected SIG BSSGP on PCU side: ", rx);
+ mtc.stop;
+ }
[] T.timeout {
setverdict(fail, "Timeout waiting for BSSGP on PCU side: ", rx);
mtc.stop;