blob: 21596f6f0d4205d411cd87f60035deff8e562b1b [file] [log] [blame]
Harald Welteb3414b22017-11-23 18:22:10 +01001module MSC_Simulation {
2
3import from IPL4asp_Types all;
4
5import from IPA_Emulation all;
6
7import from SCCP_Types all;
8import from SCCPasp_Types all;
9import from SCCP_Emulation all;
10
11/*
12import from MobileL3_Types all;
13import from MobileL3_CommonIE_Types all;
14import from L3_Templates all;
15
16import from BSSAP_Types all;
17import from BSSMAP_Templates all;
18*/
19import from BSSMAP_Emulation all;
20
21import from MSC_ConnectionHandler all;
22
23type component MSC_CT {
24 /* component references */
25 var IPA_Emulation_CT vc_IPA;
26 var SCCP_CT vc_SCCP;
27 var BSSMAP_Emulation_CT vc_BSSMAP;
28 /* test port to SCCP emulation */
29 port SCCPasp_PT SCCP;
30}
31
32function main(charstring local_ip, PortNumber local_port,
33 MSC_SCCP_MTP3_parameters sccp_pars,
Harald Weltebe620f62017-11-25 00:23:54 +010034 SCCP_PAR_Address sccp_addr_own, charstring id) runs on MSC_CT
Harald Welteb3414b22017-11-23 18:22:10 +010035{
36 /* create components */
Harald Weltebe620f62017-11-25 00:23:54 +010037 vc_IPA := IPA_Emulation_CT.create(id & "-IPA");
38 vc_SCCP := SCCP_CT.create(id & "-SCCP");
39 vc_BSSMAP := BSSMAP_Emulation_CT.create(id & "-BSSMAP");
Harald Welteb3414b22017-11-23 18:22:10 +010040
41 map(vc_IPA:IPA_PORT, system:IPA_CODEC_PT);
42
43 /* connect MTP3 service provider (IPA) to lower side of SCCP */
44 connect(vc_IPA:MTP3_SP_PORT, vc_SCCP:MTP3_SCCP_PORT);
45
46 /* connect BSSNAP dispatcher to upper side of SCCP */
47 connect(vc_BSSMAP:SCCP, vc_SCCP:SCCP_SP_PORT);
48
Harald Weltec82eef42017-11-24 20:40:12 +010049 /* connect BSSMAP dispatcher to IPA_Emulation MGCP */
50 connect(vc_BSSMAP:MGCP, vc_IPA:IPA_MGCP_PORT);
51
Harald Welteb3414b22017-11-23 18:22:10 +010052 vc_IPA.start(IPA_Emulation.main_server(local_ip, local_port));
53 vc_SCCP.start(SCCPStart(sccp_pars));
Harald Weltebe620f62017-11-25 00:23:54 +010054 vc_BSSMAP.start(BSSMAP_Emulation.main(MSC_BssmapOps, id & "-BSSMAP"));
Harald Welteb3414b22017-11-23 18:22:10 +010055
56 /* wait until termination of respective components */
57 vc_IPA.done;
58 vc_BSSMAP.done;
59 vc_SCCP.done;
60}
61
62}