From add562ebfba6fdb3fbe13ee3c604ce375ba50d82 Mon Sep 17 00:00:00 2001 From: Triatmoko Date: Mon, 14 Nov 2011 16:19:19 +0100 Subject: add comment --- Code/Server-Code/ControllerClass.py | 43 +++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 7 deletions(-) (limited to 'Code') diff --git a/Code/Server-Code/ControllerClass.py b/Code/Server-Code/ControllerClass.py index a028dd9..4f4cef5 100755 --- a/Code/Server-Code/ControllerClass.py +++ b/Code/Server-Code/ControllerClass.py @@ -36,29 +36,34 @@ class controller: if self.callFrom =="GSMRZ3" or self.callFrom =="GSMRZ2": # wait until ssh connection establish if self.continues == 1: + #putting 6 seconds sleep to prevent unsuccess login using SSH since we have problem with duration time loging into beagle board sleep(6) self.callerGreeting() else: self.connected = 'NOT OK' else: + #waiting 2 seconds if doesnt use ssh connection until handler ready sleep(2) self.callerGreeting() if self.connected == 'OK': self.caller.sendData('CALLER|'+self.destNo) - callerHandler = self.caller.receiveData(25) + callerHandler = self.caller.receiveData(25) + #waiting ready message from caller if callerHandler == "CALLER READY": logger.logEvent('Caller handler : Ready') self.initReceiver() if self.dest =="GSMRZ3" or self.dest =="GSMRZ2": # wait until ssh connection establish if self.continues == 1: + #putting 6 seconds sleep to prevent unsuccess login using SSH since we have problem with duration time loging into beagle board sleep(6) self.receiverGreeting() else: self.connected = 'NOT OK' - else: + else: + #waiting 2 seconds if doesnt use ssh connection until handler ready sleep(2) self.receiverGreeting() @@ -66,12 +71,14 @@ class controller: self.receiver.sendData('RECEIVER') destHandler = self.receiver.receiveData(25) - + #waiting ready message from destination + if destHandler == 'RECEIVER READY': logger.logEvent('Receiver handler : Ready') self.startCall() self.waitingFeedback() + #Device destination having error after handler ready to receive call. elif destHandler == 'DEVICE NOT READY': self.testResult == 802 logger.logEvent('802 General Device Error: Destination device no respond timeout') @@ -81,6 +88,7 @@ class controller: logger.logEvent('604 General Handler Error: Destination handler no respond timeout') self.initTerminate() + #can connect to handler but device destination not ready to do the test. elif self.connected == 'DEVICE NOT READY': self.testResult = 802 logger.logEvent('802 General Device Error: Destination device no respond timeout') @@ -99,6 +107,7 @@ class controller: self.caller.closeConnection() self.initCancelTest() + #can connect to handler but device caller not ready to do the test. elif self.connected == 'DEVICE NOT READY': self.testResult = 801 self.caller.sendData('TERMINATE CONNECTION') @@ -139,6 +148,7 @@ class controller: self.testResult = 200 self.initTerminate() else: + #build specially only for Eplus card. since they use prepaid card. if self.dest == 'GSMExt.Eplus': if self.resultCaller == 'CALL OK' and self.resultDest <> 'TIME OUT': logger.logEvent('Test Failed - Eplus No credit on Eplus') @@ -150,6 +160,7 @@ class controller: self.initTerminate() else: + #one or both of the handler send un success test. assign failed to this test if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK': logger.logEvent('Test Failed') self.testResult = 486 @@ -187,6 +198,7 @@ class controller: self.boxCaller = SSHTunnelBoxClass.SSHTunneling(self.portCaller, 50008, self.server, self.username, self.password) status = self.boxCaller.startTunneling() + #check whether the SSH tunneling succes or not, 0 is failed! if status!= 0: self.continues = 1 else: @@ -195,6 +207,7 @@ class controller: self.initGSM(self.portCaller, self.callPortName, self.callFrom) else: + #open the SIP handler subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)]) # define the destination configuration such as port name and port caller. @@ -211,7 +224,8 @@ class controller: #open SSH tunneling self.boxDest = SSHTunnelBoxClass.SSHTunneling(self.portDest, 50008, self.server, self.username, self.password) status = self.boxDest.startTunneling() - #print self.boxCaller.__tunnelStarted + + #check whether the SSH tunneling succes or not, 0 is failed! if status!= 0: self.continues = 1 else: @@ -229,6 +243,7 @@ class controller: logger.logEvent('TERMINATE CONNECTION') self.caller.sendData('TERMINATE CONNECTION') self.receiver.sendData('TERMINATE CONNECTION') + if self.callFrom[0:5] == 'GSMRZ': if self.callFrom != 'GSMRZ1': # close SSH tunneling @@ -237,6 +252,8 @@ class controller: if self.dest != 'GSMRZ1': # close SSH tunneling self.boxDest.killTunneling() + + #close port communication self.receiver.closeConnection() self.caller.closeConnection() @@ -246,21 +263,27 @@ class controller: #open connection to the Handler self.caller = ClientClass.Connection('localhost',self.portCaller) self.caller.connect() + if self.caller.connected == 1: - + #connection establish and send hallo message to handler logger.logEvent('Connected to Caller Handler') self.caller.sendData('HELLO HANDLER') + #waiting handler respond message = self.caller.receiveData(20) + if message == 'HELLO CONTROLLER': + # caller handler send hello message logger.logEvent('Caller Handler respond') self.connected = 'OK' elif message == 'DEVICE NOT READY': + # the handler found the device not ready to making test. logger.logEvent('Connect to Caller but device doesnt work') self.connected = 'DEVICE NOT READY' else: logger.logEvent('Cannt connect to Caller') self.connected = 'NOT OK' else: + #can't connect to caller handler logger.logEvent('Cannt connect to Caller') self.connected = 'NOT OK' @@ -272,20 +295,26 @@ class controller: self.receiver.connect() if self.receiver.connected == 1: + #connection establish and send hallo message to handler logger.logEvent('Connected to Receiver Handler') self.receiver.sendData('HELLO HANDLER') + #waiting handler respond message = self.receiver.receiveData(20) + + # destination handler send hello message if message == 'HELLO CONTROLLER': logger.logEvent('Receiver Handler respond') self.connected = 'OK' - + + # the handler found the device not ready to making test. elif message == 'DEVICE NOT READY': logger.logEvent('Connect to Caller but device doesnt work') self.connected = 'DEVICE NOT READY' else: - logger.logEvent('Cannt connect to Caller') + logger.logEvent('receiver handler not respond') self.connected = 'NOT OK' else: + #can't connect to destintaion handler logger.logEvent('Cannt connect to Receiver') self.connected = 'NOT OK' -- cgit v1.2.3-55-g7522