osmo-ttcn3-hacks/bsc/BTS_Simulation.ttcn

45 lines
1.1 KiB
Plaintext

module BTS_Simulation {
/* Start an IPA client and bind the RSL Emulation on top; we assume that OML
* is handled elsewhere! */
import from IPL4asp_Types all;
import from IPA_Emulation all;
import from RSL_Emulation all;
import from RSL_Tests all;
type component BTS_CT {
var IPA_Emulation_CT vc_IPA;
var RSL_Emulation_CT vc_RSL;
var IPA_CCM_Parameters ccm_pars;
}
function main(charstring bsc_host, PortNumber bsc_port, charstring id) runs on BTS_CT
{
vc_IPA := IPA_Emulation_CT.create(id & "-IPA");
vc_RSL := RSL_Emulation_CT.create(id & "-RSL");
ccm_pars := c_IPA_default_ccm_pars;
ccm_pars.name := "Osmocom TTCN-3 BTS Simulator";
ccm_pars.unit_id := "1234/0/0";
map(vc_IPA:IPA_PORT, system:IPA_CODEC_PT);
connect(vc_IPA:IPA_RSL_PORT, vc_RSL:IPA_PT);
vc_IPA.start(IPA_Emulation.main_client(bsc_host, bsc_port, "", -1, ccm_pars));
vc_RSL.start(RSL_Emulation.main());
var RSL_Tests_CT vc_DCHAN;
vc_DCHAN := RSL_Tests_CT.create(id & "-DCHAN");
connect(vc_DCHAN:RSL, vc_RSL:CLIENT_PT);
vc_DCHAN.start(RSL_Tests.test_mahlzeit('901700123456789'H));
/* wait until termination of respective component */
vc_RSL.done;
vc_IPA.done;
}
}