| 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; |
| } |
| |
| |
| |
| } |