I'm trying to test inter-BSC Handover in ttcn3.
At first I had problems grasping the concepts, but in the end it worked pretty
nicely to start two distinct BSC handlers like this:
testcase TC_ho_inter_bsc() runs on MTC_CT {
var BSC_ConnHdlr vc_conn0;
var BSC_ConnHdlr vc_conn1;
f_init(2);
vc_conn0 := f_start_handler(refers(f_tc_ho_inter_bsc0), 53, 0);
vc_conn1 := f_start_handler(refers(f_tc_ho_inter_bsc1), 53, 1);
vc_conn0.done;
vc_conn1.done;
}
It's walking all the way through inter-BSC Handover now (!) up until the point
where I want to discard the call.
Now I'm facing the simple problem that I want to call f_call_hangup() in the
second f_tc_ho_inter_bsc1() -- but I have no cpars (CallParameters) with a
valid MNCC callref nor the CC transaction ID, those are in the first function.
How can I share cpars between those functions?
The transaction_id and callref determined by the MNCC and CC messages that
happened in f_tc_ho_inter_bsc0 need to move over to f_tc_ho_inter_bsc1, much
like the MS has moved to the other BSC.
So it would make sense to have some global struct representing the MS which
both BSC_ConnHdlr instances can access, if that is at all possible ... ?
As a bit of a weak workaround, I could inter-BSC handover right back to the
first BSC and then f_call_hangup() there :P
~N
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte