Пример #1
0
 def setUp(self):
     self.sgwPgwIoService = IoService("sgwPgw", 9000)
     self.sgwPgwIoService.start()
     self.mmeIoService = IoService("mme", 9001)
     self.mmeIoService.start()
     self.mmeResult, self.sgwPgwResult = 0, 0
     self.mmeSuccessCount, self.mmeFailureCount = 0, 0
Пример #2
0
 def setUp(self):
     self.enbIoService = IoService("enb", 9000)
     self.ueIoService = IoService("ue", 9001)
     [s.start() for s in self.enbIoService, self.ueIoService]
     self.enbProcedure = EnbInitialSecurityActivationProcedureHandler(
         self.enbIoService, self.__procedureCompleteCallback__)
     self.enbIoService.addIncomingMessageCallback(
         self.enbProcedure.handleIncomingMessage)
     self.result = None
Пример #3
0
 def setUp(self):
     self.ioService = IoService("service", 9000)
     self.ioService.start()
     self.cfg = Configuration(
         {
             "rrm": {
                 "t3212": 64,
                 "csEnabled": True,
                 "psEnabled": False
             },
             "son": {
                 "enabled": True,
                 "utrafdd": {
                     "enabled": True,
                     "scanOnBoot": True,
                     "freqs": [10787, 9137],
                 },
                 "gsm": {
                     "enabled": True,
                     "scanOnBoot": True,
                     "freqs": [514, 516]
                 }
             },
             "oam": {
                 "cliEnabled": True,
                 "username": "******",
                 "password": "******"
             }
         }, self.ioService)
     self.result = [None, None]
Пример #4
0
    def test_rrcConnectionSetupProcedureSuccessful(self):
        time.sleep(0.1)  # Wait for S1 Setup

        def rrcComplete(result):
            self.result = result

        self.result = None
        ueIoService = IoService("ue", 9001)
        ueIoService.start()
        rrcProcedure = RrcConnectionEstablishmentProcedure(
            {
                "maxPrachPreambleAttempts": 5,
                "prachPreambleRepeatDelay": 0.7,
                "macContentionResolutionTimeout": 0.5,
                "rrcConnectionSetupTimeoutT300": 2.0
            }, (localhost(), 9000), ueIoService, rrcComplete, {
                "ueIdentityType": "randomValue",
                "ueIdentityValue": 3434,
                "rrcEstablishmentCause": "moSignaling",
                "selectedPlmnIdentity": 2801,
                "initialNasMessage": {
                    "nasMessageType": "attachRequest"
                },
            })
        rrcProcedure.execute()
        time.sleep(2)
        self.assertEqual(self.result,
                         RrcConnectionEstablishmentProcedure.Success)
        ueIoService.stop()
Пример #5
0
 def setUp(self):
     self.mmeIoService = IoService("mme", 9000)
     self.mmeIoService.start()
     self.mmeParameters = {
         "mmeName":
         "Istanbul",
         "servedGummeis": [
             (("28603", "28604"), (0, 1, 2), (23, 58, 127)),
             (("00108"), (0, ), (12, 13, 14)),
         ],
         "timeToWait":
         1,
         "flags": {
             "rejectS1SetupRequestsFromRegisteredEnbs": True
         },
         "criticalityDiagnostics":
         None,
     }
     self.enbProcedureParameters = lambda globalEnbId, enbName, tac: {
         "globalEnbId": globalEnbId,
         "enbName": enbName,
         "supportedTas": [
             (tac, ("28603", "28604")),
         ],
         "csgIdList": [],
         "defaultPagingDrx": [32, 64, 128],
     }
     self.numEnbs = 2
     self.enbIoServices = [
         IoService("enb{}".format(i), 9001 + i) for i in range(self.numEnbs)
     ]
     self.enbProcedures = [
         EnbS1SetupProcedure(
             self.enbProcedureParameters(i, "enb{}".format(i),
                                         59900 + i), (localhost(), 9000), s,
             self.__enbS1SetupProcedureProgressCallback__)
         for i, s in enumerate(self.enbIoServices)
     ]
     [s.start() for s in self.enbIoServices]
     self.numSuccess, self.numWaitingForNextAttempt = 0, 0
Пример #6
0
 def setUp(self):
     self.enbIoService = IoService("enb", 9000)
     self.ueIoService = IoService("ue", 9001)
     [s.start() for s in self.enbIoService, self.ueIoService]
     procedureParameters = {
         "maxPrachPreambleAttempts": 5,
         "prachPreambleRepeatDelay": 0.7,
         "macContentionResolutionTimeout": 0.5,
         "rrcConnectionSetupTimeoutT300": 2.0
     }
     rrcEstablishmentInputParameters = {
         "ueIdentityType": "randomValue",
         "ueIdentityValue": 3434,
         "rrcEstablishmentCause": "moSignaling",
         "selectedPlmnIdentity": 2801,
         "initialNasMessage": {
             "nasMessageType": "attachRequest"
         }
     }
     self.procedure = RrcConnectionEstablishmentProcedure(
         procedureParameters, (localhost(), 9000), self.ueIoService,
         self.__procedureCompleteCallback__,
         rrcEstablishmentInputParameters)
Пример #7
0
 def setUp(self):
     self.sampleS1SetupRequestParameters = {
         "globalEnbId":
         345,
         "enbName":
         "Taksim",
         "supportedTas": [
             (41433, ("28603", "28604")),
             (41434, ("28603", "28604")),
         ],
         "csgIdList": [101, 122],
         "defaultPagingDrx": [32, 64, 128],
     }
     self.sampleS1SetupResponseParameters = {
         "mmeName":
         "Istanbul",
         "servedGummeis": [
             (("28603", "28604"), (0, 1, 2), (23, 58, 127)),
             (("00108"), (0, ), (12, 13, 14)),
         ],
         "relativeMmeCapacity":
         255,
         "criticalityDiagnostics":
         None,
     }
     self.enbIoService = IoService("enb", 9001)
     self.mmeIoService = IoService("mme", 9000)
     [s.start() for s in self.enbIoService, self.mmeIoService]
     self.procedure = S1SetupProcedure(self.sampleS1SetupRequestParameters,
                                       (localhost(), 9000),
                                       self.enbIoService,
                                       self.__procedureProgressCallback__)
     self.enbIoService.addIncomingMessageCallback(
         self.procedure.handleIncomingMessage)
     self.progress = None
     self.args = None
Пример #8
0
 def setUp(self):
     self.mme = Mme(
         "mme", 8999, {
             "system": {
                 "mmeName":
                 "Istanbul",
                 "servedGummeis": [
                     (("28603", "28604"), (0, 1, 2), (23, 58, 127)),
                     (("00108"), (0, ), (12, 13, 14)),
                 ],
                 "maximumEnbsAllowed":
                 2,
             },
             "s1": {
                 "s1SetupTimeToWait": 1,
             },
         })
     self.mme.execute()
     self.enb = Enb(
         "enb", 9000, {
             "control": {
                 "adminState": True,
             },
             "system": {
                 "globalEnbId": 345,
                 "enbName": "Taksim",
                 "supportedTas": [
                     (127, ("28603", "28604")),
                 ],
                 "csgIdList": [],
                 "defaultPagingDrx": [32, 64, 128],
             },
             "rrc": {
                 "maxRrcConnectionSetupAttempts": 5,
                 "rrcConnectionSetupTimeout": 0.7,
             },
             "mme": {
                 "address": (localhost(), 8999),
                 "s1SetupParameters": ConfigPath("system"),
                 "properties": None,
             },
         })
     self.enb.execute()
     self.numUes = 5
     self.ueIoServices = [
         IoService(str(i), 9001 + i) for i in range(self.numUes)
     ]
     [s.start() for s in self.ueIoServices]
Пример #9
0
 def setUp(self):
     self.ioservices = [IoService(str(i), 9000 + i) for i in range(2)] 
Пример #10
0
 def setUp(self):
     self.enbIoService = IoService("enb", 9001)
     self.mmeIoService = IoService("mme", 9000)
     [s.start() for s in self.enbIoService, self.mmeIoService]
Пример #11
0
 def __init__(self, name, port, configData):
     super(Mme, self).__init__()
     self.ioService = IoService(name, port)
     self.config = Configuration(configData, self.ioService)
     self.setContext({"config": self.config, "ioService": self.ioService})
Пример #12
0
 def setUp(self):
     self.enbIoService = IoService("enb", 9000)
     self.ueIoService = IoService("ue", 9001)
     [s.start() for s in self.enbIoService, self.ueIoService]
     self.enbProcedure = EnbRrcConnectionEstablishmentProcedure(
         3, 0.5, self.enbIoService, self.__procedureEnbCompleteCallback__)
Пример #13
0
 def setUp(self):
     self.hssIoService = IoService("hss", 9000)
     self.hssIoService.start()
     self.mmeIoService = IoService("mme", 9001)
     self.mmeIoService.start()
     self.mmeSuccess, self.hssSuccess = 0, 0
Пример #14
0
    def setUp(self):
        self.mme = Mme(
            "mme", 8999, {
                "system": {
                    "mmeName":
                    "Istanbul",
                    "servedGummeis": [
                        (("28603", "28604"), (0, 1, 2), (23, 58, 127)),
                        (("00108"), (0, ), (12, 13, 14)),
                    ],
                    "maximumEnbsAllowed":
                    2,
                },
                "s1": {
                    "s1SetupTimeToWait": 1,
                },
            })
        self.mme.execute()
        self.enb = Enb(
            "enb", 9000, {
                "control": {
                    "adminState": True,
                },
                "system": {
                    "globalEnbId": 345,
                    "enbName": "Taksim",
                    "supportedTas": [
                        (127, ("28603", "28604")),
                    ],
                    "csgIdList": [],
                    "defaultPagingDrx": [32, 64, 128],
                },
                "rrc": {
                    "maxRrcConnectionSetupAttempts": 5,
                    "rrcConnectionSetupTimeout": 0.7,
                },
                "mme": {
                    "address": (localhost(), 8999),
                    "s1SetupParameters": ConfigPath("system"),
                    "properties": None,
                },
            })
        self.enb.execute()
        procedureParameters = {
            "maxPrachPreambleAttempts": 5,
            "prachPreambleRepeatDelay": 0.7,
            "macContentionResolutionTimeout": 0.5,
            "rrcConnectionSetupTimeoutT300": 2.0
        }
        args = lambda i: {
            "ueIdentityType": "randomValue",
            "ueIdentityValue": 3434,
            "rrcEstablishmentCause": "moSignaling",
            "selectedPlmnIdentity": 2801,
            "initialNasMessage": {
                "nasMessageType": "attachRequest"
            },
        }

        self.ueIoServices = [IoService(str(i), 9001 + i) for i in range(20)]
        [s.start() for s in self.ueIoServices]
        self.ueProcedures = [
            UeRrcConnectionEstablishmentProcedure(
                procedureParameters,
                (localhost(), 9000), s, self.__procedureCompleteCallback__,
                args(i)) for i, s in enumerate(self.ueIoServices)
        ]
        self.numSuccess = 0
Пример #15
0
 def setUp(self):
     self.ioservice = IoService("service", 9000)
Пример #16
0
 def setUp(self):
     self.ioservice = IoService("timer", 9000)
     self.ioservice.start()
Пример #17
0
 def setUp(self):
     self.ioservices = [IoService(str(i), 9000 + i) for i in range(2)]
     [s.start() for s in self.ioservices]
     self.numSuccess = 0