import sys import ClientClass import DbClass import ControllerClass import PingClass from time import sleep def ping(handler): global serverStatus if handler == 'landline': server = PingClass.Ping('sipgate.de') serverStatus = server.ping(3) elif handler == 'sip': server = PingClass.Ping('132.230.4.8') serverStatus = server.ping(3) elif handler == 'unisip': server = PingClass.Ping('132.230.252.228') serverStatus = server.ping(3) elif handler == 'gsmr1': server = PingClass.Ping('localhost') serverStatus = server.ping(3) elif handler == 'gsmr2': server = PingClass.Ping('132.230.4.64') serverStatus = server.ping(3) db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting') db.connectDB() dbStatus = db.connectDB() if dbStatus == 1: if db.anyTasksToDo() == 1: i=0 for item in db.tasksList: taskID = item[0] taskNo = item[1] callFrom = item[2] callTo = item[3] destination = db.deviceAddress(str(callTo)) caller = db.deviceAddress(str(callFrom)) callAdd = caller[0] recAdd = destination[0] destNo = destination[1] if callFrom == 'unisip': destNo = destNo[7:] print '\n' print "Task ID: ", taskID print "Calling From: ", callFrom print "To: ", callTo print "number: ", destNo ping(callFrom) if serverStatus <> 0: ping(callTo) if serverStatus <> 0: makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo) makeTest.FuncTest() db.addResult(taskID, makeTest.testResult) if makeTest.repeatTest == True: db.insertTaskIn2(callTo,callFrom,taskNo) print "Result :", makeTest.testResult db.deleteTempTask(taskID) db.tasksList.remove(item) db.tasksList.insert(i,'') i = i+1 sleep(3) else: print "[failed] 500 "+callTo+ " Server Internal Error" else: print "[failed] 500 "+callFrom+ " Server Internal Error" db.cleanTasksList() else: print "No job at all" else: sys.exit(5)