From 65f77cecb143af61d87f1cc04d10a3e032413853 Mon Sep 17 00:00:00 2001 From: tt41 Date: Sun, 11 Sep 2011 11:12:15 +0200 Subject: new file for advance software --- For Weekly Test/Advance/.DS_Store | Bin 0 -> 6148 bytes For Weekly Test/Advance/ClientClass.py | 123 ++++ For Weekly Test/Advance/ClientClass.pyc | Bin 0 -> 3655 bytes For Weekly Test/Advance/ControllerClass.py | 205 ++++++ For Weekly Test/Advance/ControllerClass.pyc | Bin 0 -> 7406 bytes For Weekly Test/Advance/DbClass.py | 215 ++++++ For Weekly Test/Advance/DbClass.pyc | Bin 0 -> 6287 bytes For Weekly Test/Advance/GSMClass.py | 304 ++++++++ For Weekly Test/Advance/GSMClass.pyc | Bin 0 -> 7202 bytes For Weekly Test/Advance/GSMHandler.py | 270 ++++++++ For Weekly Test/Advance/Landline handler.log | 252 +++++++ For Weekly Test/Advance/LogFileClass.py | 21 + For Weekly Test/Advance/LogFileClass.pyc | Bin 0 -> 1524 bytes For Weekly Test/Advance/PingClass.py | 28 + For Weekly Test/Advance/PingClass.pyc | Bin 0 -> 1275 bytes For Weekly Test/Advance/SIP handler.log | 768 +++++++++++++++++++++ For Weekly Test/Advance/SIPHandler.py | 233 +++++++ For Weekly Test/Advance/SSHTunnelBoxClass.py | 45 ++ For Weekly Test/Advance/SSHTunnelClass.py | 47 ++ For Weekly Test/Advance/ServerClass.py | 152 ++++ For Weekly Test/Advance/ServerClass.pyc | Bin 0 -> 4629 bytes For Weekly Test/Advance/University SIP handler.log | 184 +++++ For Weekly Test/Advance/gsmselftest.py | 382 ++++++++++ For Weekly Test/Advance/help.txt | 15 + For Weekly Test/Advance/initTestClass.py | 147 ++++ For Weekly Test/Advance/initTestClass.pyc | Bin 0 -> 4266 bytes For Weekly Test/Advance/sshtest.py | 15 + For Weekly Test/Advance/trueTableClass.py | 198 ++++++ For Weekly Test/Advance/trueTableClass.pyc | Bin 0 -> 3344 bytes For Weekly Test/Advance/usbDetectClass.py | 88 +++ For Weekly Test/Advance/usbDetectClass.pyc | Bin 0 -> 3492 bytes 31 files changed, 3692 insertions(+) create mode 100644 For Weekly Test/Advance/.DS_Store create mode 100644 For Weekly Test/Advance/ClientClass.py create mode 100644 For Weekly Test/Advance/ClientClass.pyc create mode 100644 For Weekly Test/Advance/ControllerClass.py create mode 100644 For Weekly Test/Advance/ControllerClass.pyc create mode 100644 For Weekly Test/Advance/DbClass.py create mode 100644 For Weekly Test/Advance/DbClass.pyc create mode 100644 For Weekly Test/Advance/GSMClass.py create mode 100644 For Weekly Test/Advance/GSMClass.pyc create mode 100644 For Weekly Test/Advance/GSMHandler.py create mode 100644 For Weekly Test/Advance/Landline handler.log create mode 100644 For Weekly Test/Advance/LogFileClass.py create mode 100644 For Weekly Test/Advance/LogFileClass.pyc create mode 100644 For Weekly Test/Advance/PingClass.py create mode 100644 For Weekly Test/Advance/PingClass.pyc create mode 100644 For Weekly Test/Advance/SIP handler.log create mode 100644 For Weekly Test/Advance/SIPHandler.py create mode 100644 For Weekly Test/Advance/SSHTunnelBoxClass.py create mode 100644 For Weekly Test/Advance/SSHTunnelClass.py create mode 100644 For Weekly Test/Advance/ServerClass.py create mode 100644 For Weekly Test/Advance/ServerClass.pyc create mode 100644 For Weekly Test/Advance/University SIP handler.log create mode 100644 For Weekly Test/Advance/gsmselftest.py create mode 100644 For Weekly Test/Advance/help.txt create mode 100644 For Weekly Test/Advance/initTestClass.py create mode 100644 For Weekly Test/Advance/initTestClass.pyc create mode 100644 For Weekly Test/Advance/sshtest.py create mode 100644 For Weekly Test/Advance/trueTableClass.py create mode 100644 For Weekly Test/Advance/trueTableClass.pyc create mode 100644 For Weekly Test/Advance/usbDetectClass.py create mode 100644 For Weekly Test/Advance/usbDetectClass.pyc (limited to 'For Weekly Test/Advance') diff --git a/For Weekly Test/Advance/.DS_Store b/For Weekly Test/Advance/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/For Weekly Test/Advance/.DS_Store differ diff --git a/For Weekly Test/Advance/ClientClass.py b/For Weekly Test/Advance/ClientClass.py new file mode 100644 index 0000000..46c3b00 --- /dev/null +++ b/For Weekly Test/Advance/ClientClass.py @@ -0,0 +1,123 @@ +import socket +import sys +import os +import string +import signal + +class TimeoutException(Exception): + pass + +class Connection: + def __init__(self, h, p): + self.host = h + self.port = p + self.s = None + self.connected = 0 + + self.debugMode = 0 + + def connect(self): + self.s = None + + for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM): + af, socktype, proto, canonname, sa = res + try: + self.s = socket.socket(af, socktype, proto) + self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets + except socket.error, msg: + self.s = None + self.connected = 0 + continue + try: + self.s.connect(sa) + except socket.error, msg: + self.s.close() + self.connected = 0 + self.s = None + continue + break + if self.s is None: + self.connected = 0 + return 0 #couldn't connect to the server + else: + self.connected = 1 + return 1 #successfully connected to the server + + def sendData(self, data): + if self.connected == 1: + try: + self.s.send(data) + return 1 + except Exception, e: + if self.debugMode == 1: + import traceback + print traceback.format_exc() + print e + self.connected = 0 + return 2 + + else: + return 0 + + def receiveData(self, timeout): + if self.connected == 1: + + def timeout_handler(signum, frame): + raise TimeoutException() + + old_handler = signal.signal(signal.SIGALRM, timeout_handler) + signal.alarm(timeout) #start the timeout alarm, for timeout seconds + try: + data = self.s.recv(1024) + + #stop the timeout function + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + + return data + + + except TimeoutException: + #timeout happened + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'TIMEOUT' + + except Exception, e: + + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + + error = str(e) + if self.debugMode == 1: + import traceback + print traceback.format_exc() + print e + self.connected = 0 + if error[0:11] == '[Errno 104]': + return 3 #the other side reset the connection,[Errno 104] Connection reset by peer + + return 2 + else: + return 0 + + def closeConnection(self): + if self.connected == 1: + try: + self.connected = 0 + SHUT_RDWR = 2 + self.s.shutdown(SHUT_RDWR) + self.s.close() + return 1 + except Exception, e: + self.connected = 0 + error = str(e) + if self.debugMode == 1: + import traceback + print traceback.format_exc() + print e + if error[0:11] == '[Errno 107]': + return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected + return 2 + else: + return 0 diff --git a/For Weekly Test/Advance/ClientClass.pyc b/For Weekly Test/Advance/ClientClass.pyc new file mode 100644 index 0000000..6dcbc7f Binary files /dev/null and b/For Weekly Test/Advance/ClientClass.pyc differ diff --git a/For Weekly Test/Advance/ControllerClass.py b/For Weekly Test/Advance/ControllerClass.py new file mode 100644 index 0000000..db9ac70 --- /dev/null +++ b/For Weekly Test/Advance/ControllerClass.py @@ -0,0 +1,205 @@ +import sys +import os +import subprocess +import SSHTunnelBoxClass +import ClientClass +import random + +import LogFileClass +logger = LogFileClass.Logging('TestProcessLog.log') + +from time import sleep + + +class doTheTest: + + def __init__(self, callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest): + + self.callFrom = callFrom + self.dest = callTo + self.destNo = destNo + self.accDest = accDest + self.accCaller = accCaller + self.callPortName = callPortName + self.destPortName = destPortName + self.portCaller = None + self.portDest = None + self.resultCaller = None + self.resultDest = None + self.testResult = None + + def FuncTest(self): + + logger.logEvent('') + + self.initCaller() + sleep(2) + + self.callerGreeting() + + if self.connected == 'OK': + + self.caller.sendData('CALLER|'+self.destNo) + callerHandler = self.caller.receiveData(10) + + if callerHandler == "CALLER READY": + logger.logEvent('Caller handler : Ready') + + self.initReceiver() + sleep(2) + self.receiverGreeting() + + if self.connected == 'OK': + + self.receiver.sendData('RECEIVER') + destHandler = self.receiver.receiveData(10) + + if destHandler == 'RECEIVER READY': + logger.logEvent('Receiver handler : Ready') + + self.startCall() + self.waitingFeedback() + + else: + self.testResult = 604 + logger.logEvent('604 General Handler Error: Destination handler no respond timeout') + self.caller.sendData('TERMINATE CONNECTION') + self.receiver.closeConnection() + + else: + logger.logEvent('998 General Handler Error: Could not connect Destination handler') + self.testResult = 998 + self.caller.sendData('TERMINATE CONNECTION') + self.caller.closeConnection() + else: + self.testResult = 605 + logger.logEvent('605 General Handler Error: caller handler no respond timeout') + + self.caller.closeConnection() + + else: + self.testResult = 999 + logger.logEvent('999 General Handler Error: Could not connect to Caller handler') + + + + def waitingFeedback(self): + logger.logEvent('Waiting Feedback') + self.resultCaller = self.caller.receiveData(15) + self.resultDest = self.receiver.receiveData(15) + + if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK': + + logger.logEvent('Test Failed') + self.testResult = 486 + self.initTerminate() + + else: + logger.logEvent('Test Succeed') + self.testResult = 200 + self.initTerminate() + + def startCall(self): + logger.logEvent('Start Call') + self.receiver.sendData('RECEIVE START') + self.caller.sendData('CALL START') + + def initAccount(self,account): + + accConf = account + self.username = accConf[0:accConf.find(':')] + + line = accConf[accConf.find(':')+1:] + self.password = line[0:line.find(':')] + + newLine = line[line.find(':')+1:] + self.server = newLine[0:newLine.find(':')] + + def initCaller(self): + logger.logEvent('init Caller') + logger.logEvent(self.callFrom) + self.portCaller = random.randint(30000,60000) + + if self.callFrom[0:3] == 'GSMR': + if self.callFrom =="GSMRZ1": + self.initGSM(self.portCaller, self.callPortName) + else: + initAccount(self.account) + self.boxCaller = SHHTunnelBoxClass.SSHTunneling(self.portCaller, 50008, self.server, self.username, self.password) + self.boxCaller.startTunneling() + + elif self.callFrom[0:3] == 'GSME': + self.initGSM(self.portCaller, self.callPortName) + + else: + subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)]) + + def initReceiver(self): + logger.logEvent('init Receiver') + logger.logEvent(self.dest) + self.portDest = random.randint(30000,60000) + + if self.dest[0:3] == 'GSMR': + if self.dest =="GSMRZ1": + self.initGSM(self.portDest, self.destPortName) + else: + initAccount(self.account) + self.boxDest = SHHTunnelBoxClass.SSHTunneling(self.portCaller, 50008, self.server, self.username, self.password) + self.boxDest.startTunneling() + + elif self.dest[0:3] == 'GSME': + self.initGSM(self.portDest, self.destPortName) + + else: + self.portDest = 50100 + subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.accDest+ ' ' +str(self.portDest)]) + + def initTerminate(self): + self.caller.sendData('TERMINATE CONNECTION') + self.receiver.sendData('TERMINATE CONNECTION') + if self.callFrom[0:3] == 'GSMR' or self.callTo[0:3] == 'GSMR': + if self.callFrom[0:4] != 'GSMR1': + self.boxCaller.killTunneling() + if self.callTo[0:4] != 'GSMR1': + self.boxDest.killTunneling() + else: + self.receiver.closeConnection() + self.caller.closeConnection() + + def callerGreeting(self): + self.connected = None + self.caller = ClientClass.Connection('localhost',self.portCaller) + self.caller.connect() + + if self.caller.connected == 1: + logger.logEvent('Connected to Caller Handler') + self.caller.sendData('HELLO HANDLER') + if self.caller.receiveData(10) == 'HELLO CONTROLLER': + logger.logEvent('Caller Handler respond') + self.connected = 'OK' + else: + logger.logEvent('Cannt connect to Caller') + self.connected = 'NOT OK' + + def receiverGreeting(self): + self.connected = None + self.receiver = ClientClass.Connection('localhost', self.portDest) + self.receiver.connect() + + if self.receiver.connected == 1: + logger.logEvent('Connected to Receiver Handler') + self.receiver.sendData('HELLO HANDLER') + if self.receiver.receiveData(10) == 'HELLO CONTROLLER': + logger.logEvent('Receiver Handler respond') + self.connected = 'OK' + else: + logger.logEvent('Cannt connect to Receiver') + self.connected = 'NOT OK' + + def initGSM(self, portCommunication, portDevice, handler): + + subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice) ' '+str(handler)]) + + + + diff --git a/For Weekly Test/Advance/ControllerClass.pyc b/For Weekly Test/Advance/ControllerClass.pyc new file mode 100644 index 0000000..e6ffd79 Binary files /dev/null and b/For Weekly Test/Advance/ControllerClass.pyc differ diff --git a/For Weekly Test/Advance/DbClass.py b/For Weekly Test/Advance/DbClass.py new file mode 100644 index 0000000..3e4a610 --- /dev/null +++ b/For Weekly Test/Advance/DbClass.py @@ -0,0 +1,215 @@ +import MySQLdb +import string + +class DBMySQLConnection: + def __init__(self, username, password, host, dbname): + #initialize at the start all the user parameters + self.usern = username + self.passw = password + self.host = host + self.db = dbname + self.connectionCreated = 0 + self.tasksList = list() + self.callerLists = list() + self.errCode = None + self.deviceUpdate = None + global debugMode + debugMode = 0 + + def connectDB(self): + try: + #try the connection + self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db) + self.datBaseConn.paramstyle = 'format' + self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries + self.connectionCreated = 1 #use it as an indicator that the connection was created + return 1 + + except MySQLdb.Error, e: + #if we have an error then try to catch it + error=str(e) + if error[1:5] == '1045': + #wrong username or password + return 0 + elif error[1:5] == '2002': + #can't connect to mysql, mysql shutdown or wrong host + return 2 + else: + if debugMode == 1: + print error + return 3 + + def closeDBConn(self): + #close the connection to the database here + if self.connectionCreated == 1: + try: + #close the cursor and then the connection to the DB + self.cur.close() + self.datBaseConn.close() + return 1 + except MySQLdb.Error, e: + #in case of an error + if debugMode == 1: + error = str(e) + print error + return 3 + else: + #I never really had a connection + return 0 + + def anyTasksToDo(self): + #see are there any jobs to be executed and make a list out of it + if self.connectionCreated == 1: + try: + self.cur.execute("SELECT * FROM TempTaskTable") + output = self.cur.fetchall() #get the mysql response + #parse the output from the mysql by creating a list + #with lists where each attribue(column) gets independent + #element of the list + for record in output: + columns = list() + for entry in record: + columns.append(str(entry)) + #columns.append(str(0)) + self.tasksList.append(columns) + + if not self.tasksList: + return 0 + else: + return 1 + except MySQLdb.Error, e: + error = str(e) + if error[1:5] == '1146': + return 2 #the table doesn't exist + if debugMode == 1: + print str(e) + return 3 + else: + return 0 + + def cleanTasksList(self): + if self.connectionCreated == 1: + del self.tasksList[:] + return 1 + else: + return 0 + + + def deviceAddress(self,deviceName): + if self.connectionCreated == 1: + try: + successful = self.cur.execute("SELECT `portName`,`number`, `username`, `password`, `server` FROM DeviceAddressTable where `deviceName`=%s", deviceName) + output = self.cur.fetchall() + deviceAddr = '' + for record in output: + columns = list() + for entry in record: + columns.append(str(entry)) + deviceAddr = columns + + return deviceAddr + except MySQLdb.Error, e: + error = str(e) + if error[1:5] == '1146': + return 2 #the table doesn't exist + if debugMode == 1: + print str(e) + return 3 #some error happened + else: + return 0 #I am not connected + + def updateGSMDevice(self, deviceName, newPortName, newNumber): + if self.connectionCreated == 1: + try: + stmt = "UPDATE DeviceAddressTable SET portName = '"+ newPortName + "', number = '"+ newNumber+ "' WHERE deviceName = '" + deviceName+ "'" + self.cur.execute(stmt) + + except MySQLdb.Error, e: + if debugMode == 1: + print str(e) + return 3 + else: + return 0 + + def updatePingResult(self, taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2): + if self.connectionCreated == 1: + try: + successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, unisip=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(unisip), int(gsmBox1), int(gsmBox2), int(taskNo))) + output = self.cur.fetchone() + + if debugMode == 1: + print output + if successful == 0: + return 1 #ping table updated + else: + return 4 #the taskNo didn't exist + + + except MySQLdb.Error, e: + if debugMode == 1: + print str(e) + return 3 + else: + return 0 + + def deleteTempTask(self, taskID): + if self.connectionCreated == 1: + try: + successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID))) + output = self.cur.fetchone() + + if debugMode == 1: + print output + + if successful == 1: + return 1 #deleted it + else: + return 4 #that taskID didn't exist or something else + except MySQLdb.Error, e: + if debugMode == 1: + print str(e) + return 3 + + else: + return 0 + + def addResult(self, taskID, result): + if self.connectionCreated == 1: + try: + successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result))) + output = self.cur.fetchone() + + if debugMode == 1: + print output + if successful == 1: + return 1 #successfully added the result + else: + return 4 #hmmm + except MySQLdb.Error, e: + error = str(e) + if error[1:5] == '1062': + return 2 #duplicate entry for the key + if debugMode == 1: + print str(e) + return 3 + else: + return 0 + + + def errorCode(self,code): + if self.connectionCreated == 1: + try: + successful = self.cur.execute("SELECT description FROM ErrorCodeTable where `errorcode`=%s", code) + data = self.cur.fetchone() + self.errCode = data[0] + return self.errCode + + except MySQLdb.Error, e: + error = str(e) + if error[1:5] == '1146': + return 2 #the table doesn't exist + if debugMode == 1: + print str(e) + return 3 #some error happened + else: + return 0 #I am not connected diff --git a/For Weekly Test/Advance/DbClass.pyc b/For Weekly Test/Advance/DbClass.pyc new file mode 100644 index 0000000..4c25ce4 Binary files /dev/null and b/For Weekly Test/Advance/DbClass.pyc differ diff --git a/For Weekly Test/Advance/GSMClass.py b/For Weekly Test/Advance/GSMClass.py new file mode 100644 index 0000000..e994814 --- /dev/null +++ b/For Weekly Test/Advance/GSMClass.py @@ -0,0 +1,304 @@ +from serial import * #serial port library +import string +import sys +import signal + +class TimeoutException(Exception): + pass + +class serialPort(): + + def __init__(self, portAddress, baudRate, timeout): + self.portAddress = portAddress + self.portExist = 0 + self.ser = 0 + self.baudRate = baudRate + self.signalStrength = 0 + #self.callerConnected = -1 + self.timer = timeout + + self.debugMode = 0 + + def portInit(self): + portName = self.portAddress[-4:] + portExist = os.popen('dmesg | grep ' + portName).read() + + if portExist == '': + return 0 + else: + try: + self.ser = Serial( + port=self.portAddress, + baudrate=self.baudRate, + bytesize=EIGHTBITS, + parity=PARITY_NONE, + stopbits=STOPBITS_ONE + #timeout=0, + #writeTimeout=0 + #xonxoff=0, + #rtscts=0 + #interCharTimeout=None + #I didn't need to set these variables :) + ) + + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('AT\r') + + received = self.__receiveData() + + if received == 'OK': + self.portExist = 1 + return 1 #cellphone is OK, receives commands + elif received == 'TIMEOUT': + return 'TIMEOUT' + else: + return 2 #cellphone has an error + + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + + self.portExist = 3 + return 3 + + def callNumber(self,numberToCall): + if self.portExist == 1: + try: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('ATD'+str(numberToCall)+';\r') + if self.__receiveData() == 'OK': + return 1 + else: + return 4 + + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + + return 3 + else: + return 0 + + + def hangUp(self): + if self.portExist == 1: + try: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('AT+CHUP\r') + received = self.__receiveData() + if received == 'OK': + return 1 + elif received == 'ERROR': + return 2 #other side hang up the call + else: + return 4 + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + return 3 + else: + return 0 + + + def closePort(self): + if self.portExist == 1: + try: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.close() + return 1 + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + return 3 + else: + return 0 + + def getSignalQuality(self): + if self.portExist == 1: + try: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('AT+CSQ\r') + if self.__receiveData() == 'OK': + if self.__receiveData == 'SIGNAL': + return 1 + else: + return 4 + else: + return 2 + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + return 3 + + else: + return 0 + + def receiveCall(self): + if self.portExist == 1: + try: + self.ser.flushInput() #clean the input buffer for serial port + if self.__receiveData() == 'RING': + self.ser.write('ATA\r') + if self.__receiveData()=='OK': + return 1 + else: + return 4 + else: + return 2 + + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + return 3 + else: + return 0 + + def currentCall(self): + if self.portExist == 1: + try: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('AT+CLCC\r') + received = self.__receiveData() + if received == 'OK': + return 2 #not yet in a call + elif received == 'ACTIVE': + return 1 #in a call + elif received == 'HELD': + return 5 #held call + elif received == 'DIALING': + return 6 #dialing + elif received == 'ALERTING': + return 7 #alerting the call + elif received == 'INCOMING': + return 8 #incoming call + elif received == 'WAITING': + return 9 #waiting for a call + + else: + return received #in some other state + except Exception, e: + import traceback + if self.debugMode == 1: + print e + print traceback.format_exc() + return 3 + else: + return 0 + + def __receiveData(self): + def timeout_handler(signum, frame): + raise TimeoutException() + + old_handler = signal.signal(signal.SIGALRM, timeout_handler) + signal.alarm(self.timer) + + bufferData = '' + lines = '' + line = '' + + try: + while True: + bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable + if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something + lines = bufferData.split('\n') #parse the buffer variable with the new line character + last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO) + + bufferData = '\n'.join(lines) #add a new line to the buffer variable + + last_received=last_received.split('\n') #parse the last received value with new lines + line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :) + if self.debugMode == 1: + if len(line) > 0: + print line + + if line == 'OK': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'OK' + + elif line == 'ERROR': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'ERROR' + + elif line[0:11] == '+CME ERROR:': + if self.debugMode == 1: + print 'ERROR:', line + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'ERROR' + + elif line == 'RING': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'RING' + + elif line[0:5] == '+CSQ:': #+CSQ: + space = int(string.find(line,' '))+1 #find the (space) sign + coma = int(string.find(line,',')) #find the , (coma) sign + self.signalStrength = (int(line[space:coma])*2)-113 + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'SIGNAL' + + elif line == 'NO CARRIER': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'NO CARRIER' + + elif line == 'BUSY': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'BUSY' + + elif line[0:6] == '+CLCC:': + #+CLCC: 1,0, + #self.ser.flushInput() + if line[11:12] == '0': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'ACTIVE' + elif line[11:12] == '1': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'HELD' + elif line[11:12] == '2': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'DIALING' + elif line[11:12] == '3': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'ALERTING' + elif line[11:12] == '4': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'INCOMING' + elif line[11:12] == '5': + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'WAITING' + + except TimeoutException: + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'TIMEOUT' + + except Exception, e: + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + print 'NO GOOD' + print e + return 3 diff --git a/For Weekly Test/Advance/GSMClass.pyc b/For Weekly Test/Advance/GSMClass.pyc new file mode 100644 index 0000000..40017fd Binary files /dev/null and b/For Weekly Test/Advance/GSMClass.pyc differ diff --git a/For Weekly Test/Advance/GSMHandler.py b/For Weekly Test/Advance/GSMHandler.py new file mode 100644 index 0000000..499984f --- /dev/null +++ b/For Weekly Test/Advance/GSMHandler.py @@ -0,0 +1,270 @@ +import ServerClass +import GSMClass +import LogFileClass +from time import sleep +import sys + +global portListen +global portAddress + + +if len(sys.argv) <> 3: + print "Error given command" + sys.exit(2) + + +handler = int(sys.argv[3]) +portAddress = sys.argv[2] + +def initLogfile(): + global nameOfLogFile + + nameOfLogFile = str(handler)+' handler.log' + +baudRate = 19200 + +initLogfile() +logger = LogFileClass.Logging(nameOfLogFile) + +errorCount = 0 + +logger.logEvent('') + +whileCounter =0 + +#define global varibales +global lastState +global resetState +lastState = 0 +resetState = 0 + + +def initSystem(): + print 'init system' + + global handlerSocket + global gsmDevice + global initTalkVar + global lastState + + global numberToCall + global resetState + + initTalkVar = 0 #variable used to know if we initialized the start talk + lastState = 0 #variable used to know + numberToCall = '000' #number to call + resetState = 0 + + handlerSocket = ServerClass.ServerHandler(portListen) + logger.logEvent('LISTEN ON PORT: '+str(portListen)) + + #add this if you need it + gsmDevice = GSMClass.serialPort(portAddress, baudRate, 35) + + initDevice = gsmDevice.portInit() + ######################################################## + + #add nice formating to the log file :) + anyConnection = handlerSocket.openSocket() + + + if anyConnection == 1 and initDevice == 1: + logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo())) + return 1 + + elif anyConnection == 1 and initDevice == 0: + logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo())) + terminateConnection() + return 2 + else: + logger.logEvent('$no connection') + sys.exit(1) + return 0 + +def receiveMessage(timeout): + + message = str(handlerSocket.receiveData(timeout)) + + if message != '0' and message !='NO DATA': + print 'in receive message', message, lastState + + if message == 'HELLO HANDLER' and lastState == 0: + outcome = initTalk() + if outcome == 1: + logger.logEvent('TALK INITIALIZATION SENT') + else: + logger.logEvent('$talk initialization not sent: ' + str(outcome)) + + elif message == 'RECEIVER' and lastState == 1: + outcome = initReceiver() + if outcome == 1: + logger.logEvent('RECEIVER READY SENT') + else: + logger.logEvent('$receiver ready not sent: ' + str(outcome)) + + elif message == 'RECEIVE START' and lastState == 2: + outcome = receiveStart() + if outcome == 1: + logger.logEvent('RECEIVE STATUS REPORTED') + else: + logger.logEvent('$receive status not reported: ' + str(outcome)) + + elif message[0:6] == 'CALLER' and lastState == 1: + outcome = initCaller() + + global numberToCall + numberToCall = message[7:] + if outcome == 1: + logger.logEvent('CALLER READY SENT') + else: + logger.logEvent('$caller ready not sent: ' + str(outcome)) + + elif message == 'CALL START' and lastState == 4: + outcome = callStart(numberToCall) + if outcome == 1: + logger.logEvent('CALLER STATUS SENT') + else: + logger.logEvent('$caller status not sent: ' + str(outcome)) + + elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3): + outcome = terminateConnection() + if outcome == 1: + logger.logEvent('TERMINATED THE CONNECTION AFTER TEST') + else: + logger.logEvent('$connection could not be terminated after the test: ' + str(outcome)) + + elif message == 'TERMINATE CONNECTION': + outcome = terminateConnection() + if outcome == 1: + logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) ) + else: + logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState)) + else: + outcome = other() + logger.logEvent('other appeared') + terminateConnection() + + + return 1 + #return 0 + +########INIT TALK PART######## +def initTalk(): + print 'init talk' + + #initialize the talk between handler and controller + global lastState + lastState = 1 + sendMessage = handlerSocket.sendData('HELLO CONTROLLER') + return sendMessage +############################## + + +########RECEIVE PART######## +def initReceiver(): + print 'initReceiver' + + #init function to initialize the receiver + global lastState + lastState = 2 + sendMessage = handlerSocket.sendData('RECEIVER READY') + return sendMessage + +def receiveStart(): + print 'receiveStart' + + #wait for a call and report if you received it and it was successfull or not + global lastState + lastState = 3 + receiveCall = gsmDevice.receiveCall() + + if receiveCall == 1: + callSuccess = 'CALL OK' + else: + callSuccess = 'CALL NOT OK' + + tryHangUp = gsmDevice.hangUp() + + sendMessage = handlerSocket.sendData(callSuccess) + return sendMessage +############################ + + +########CALL PART######## +def initCaller(): + print 'initCaller' + + #initialize caller here + global lastState + lastState = 4 + sendMessage = handlerSocket.sendData('CALLER READY') + return sendMessage + +def callStart(numberToCall): + print 'initCaller' + + #call the number here + global lastState + lastState = 5 + + callSuccess = 'CALL NOT OK' + + tryCall = gsmDevice.callNumber(numberToCall) + if tryCall != 1: + callSuccess = 'CALL NOT OK' + else: + sleep(2) + activeCall = gsmDevice.currentCall() + counter = 0 + while(activeCall!=1): + sleep(1) + activeCall = gsmDevice.currentCall() + if counter == 6: + break + counter += 1 + + if activeCall == 1: + callSuccess = 'CALL OK' + else: + callSuccess = 'CALL NOT OK' + + tryHangUp = gsmDevice.hangUp() + + return handlerSocket.sendData(callSuccess) +######################### + + +########TERMINATE PART######## +def terminateConnection(): + print 'terminate connection' + global resetState + close = handlerSocket.closeConnection() + resetState = 1 + sys.exit(0.5) + return close +############################## + +########TERMINATE PART######## +def other(): + print 'other' + global lastState + global resetState + + close = handlerSocket.closeConnection() + lastState = 8 + resetState = 1 + return 1 +############################## + + + +while 1: + test = initSystem() + if test == 1: + print 'initialized system' + receivedMessage = 0 + while receivedMessage < 4 and resetState!= 1: + receivedMessage += receiveMessage(10) + + del handlerSocket + del gsmDevice diff --git a/For Weekly Test/Advance/Landline handler.log b/For Weekly Test/Advance/Landline handler.log new file mode 100644 index 0000000..9df2628 --- /dev/null +++ b/For Weekly Test/Advance/Landline handler.log @@ -0,0 +1,252 @@ + + +------------------STARTED THE LOGGING 2011-09-02 12:52:18.607406 ------------------ +On: 2011-09-02 12:52:18.630918 Event: try to Connect to Controller +On: 2011-09-02 12:52:19.825005 Event: init state +On: 2011-09-02 12:52:19.825252 Event: Register Account to SIP server +On: 2011-09-02 12:52:19.827301 Event: 100 +On: 2011-09-02 12:52:19.827695 Event: Receiver Handler Ready +On: 2011-09-02 12:52:19.827758 Event: RECEIVE START +On: 2011-09-02 12:52:25.854718 Event: {Call "anonymous" } +On: 2011-09-02 12:52:25.855212 Event: Call Connecting +On: 2011-09-02 12:52:25.855251 Event: 200 +On: 2011-09-02 12:52:25.855397 Event: Answer call +On: 2011-09-02 12:52:25.855429 Event: Hangup call +On: 2011-09-02 12:52:25.855582 Event: CALL OK +On: 2011-09-02 12:52:25.906299 Event: Call Disconnected +On: 2011-09-02 12:52:26.635047 Event: Terminate +On: 2011-09-02 12:52:26.635111 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:04:21.554606 ------------------ +On: 2011-09-02 13:04:21.575322 Event: try to Connect to Controller +On: 2011-09-02 13:04:22.858718 Event: init state +On: 2011-09-02 13:04:22.858946 Event: Register Account to SIP server +On: 2011-09-02 13:04:22.860443 Event: 100 +On: 2011-09-02 13:04:22.860784 Event: Receiver Handler Ready +On: 2011-09-02 13:04:22.860838 Event: RECEIVE START +On: 2011-09-02 13:04:28.893785 Event: {Call "anonymous" } +On: 2011-09-02 13:04:28.894283 Event: Call Connecting +On: 2011-09-02 13:04:28.894322 Event: 200 +On: 2011-09-02 13:04:28.894465 Event: Answer call +On: 2011-09-02 13:04:28.894496 Event: Hangup call +On: 2011-09-02 13:04:28.894648 Event: CALL OK +On: 2011-09-02 13:04:28.945299 Event: Call Disconnected +On: 2011-09-02 13:04:29.581365 Event: Terminate +On: 2011-09-02 13:04:29.581424 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:09:05.499955 ------------------ +On: 2011-09-02 13:09:05.520757 Event: try to Connect to Controller +On: 2011-09-02 13:09:06.657084 Event: init state +On: 2011-09-02 13:09:06.657313 Event: Register Account to SIP server +On: 2011-09-02 13:09:06.659550 Event: 100 +On: 2011-09-02 13:09:06.659647 Event: Receiver Handler Ready +On: 2011-09-02 13:09:06.659955 Event: RECEIVE START +On: 2011-09-02 13:09:12.539174 Event: {Call "anonymous" } +On: 2011-09-02 13:09:12.539661 Event: Call Connecting +On: 2011-09-02 13:09:12.539700 Event: 200 +On: 2011-09-02 13:09:12.539844 Event: Answer call +On: 2011-09-02 13:09:12.539876 Event: Hangup call +On: 2011-09-02 13:09:12.540029 Event: CALL OK +On: 2011-09-02 13:09:12.590670 Event: Call Disconnected +On: 2011-09-02 13:09:13.239354 Event: Terminate +On: 2011-09-02 13:09:13.239412 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:15:40.364573 ------------------ +On: 2011-09-02 13:15:40.385233 Event: try to Connect to Controller +On: 2011-09-02 13:15:41.649241 Event: init state +On: 2011-09-02 13:15:41.649477 Event: Register Account to SIP server +On: 2011-09-02 13:15:41.651355 Event: 100 +On: 2011-09-02 13:15:41.651703 Event: Receiver Handler Ready +On: 2011-09-02 13:15:41.651760 Event: RECEIVE START +On: 2011-09-02 13:15:48.166113 Event: {Call "anonymous" } +On: 2011-09-02 13:15:48.166609 Event: Call Connecting +On: 2011-09-02 13:15:48.166648 Event: 200 +On: 2011-09-02 13:15:48.166795 Event: Answer call +On: 2011-09-02 13:15:48.166827 Event: Hangup call +On: 2011-09-02 13:15:48.166985 Event: CALL OK +On: 2011-09-02 13:15:48.217641 Event: Call Disconnected +On: 2011-09-02 13:15:50.013696 Event: {Call "anonymous" } +On: 2011-09-02 13:15:50.014310 Event: Call Connecting +On: 2011-09-02 13:15:50.014351 Event: 200 +On: 2011-09-02 13:15:50.014501 Event: Answer call +On: 2011-09-02 13:15:50.014529 Event: Hangup call +On: 2011-09-02 13:15:50.014674 Event: CALL OK +On: 2011-09-02 13:15:50.065382 Event: Call Disconnected +On: 2011-09-02 13:15:50.633895 Event: Terminate +On: 2011-09-02 13:15:50.633956 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:04:13.402457 ------------------ +On: 2011-09-09 12:04:13.423005 Event: try to Connect to Controller +On: 2011-09-09 12:04:14.626365 Event: init state +On: 2011-09-09 12:04:14.626599 Event: Register Account to SIP server +On: 2011-09-09 12:04:14.628265 Event: 100 +On: 2011-09-09 12:04:14.628609 Event: Receiver Handler Ready +On: 2011-09-09 12:04:14.628669 Event: RECEIVE START +On: 2011-09-09 12:04:20.692145 Event: {Call "anonymous" } +On: 2011-09-09 12:04:20.692639 Event: Call Connecting +On: 2011-09-09 12:04:20.692678 Event: 200 +On: 2011-09-09 12:04:20.692825 Event: Answer call +On: 2011-09-09 12:04:20.692858 Event: Hangup call +On: 2011-09-09 12:04:20.693013 Event: CALL OK +On: 2011-09-09 12:04:20.743692 Event: Call Disconnected +On: 2011-09-09 12:04:21.365368 Event: Terminate +On: 2011-09-09 12:04:21.365436 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:46:03.859314 ------------------ +On: 2011-09-09 12:46:03.879880 Event: try to Connect to Controller +On: 2011-09-09 12:46:05.154437 Event: init state +On: 2011-09-09 12:46:05.154665 Event: Register Account to SIP server +On: 2011-09-09 12:46:05.156405 Event: 100 +On: 2011-09-09 12:46:05.156501 Event: Receiver Handler Ready +On: 2011-09-09 12:46:05.156814 Event: RECEIVE START +On: 2011-09-09 12:46:12.993331 Event: {Call "anonymous" } +On: 2011-09-09 12:46:12.993883 Event: Call Connecting +On: 2011-09-09 12:46:12.993928 Event: 200 +On: 2011-09-09 12:46:12.994076 Event: Answer call +On: 2011-09-09 12:46:12.994108 Event: Hangup call +On: 2011-09-09 12:46:12.994260 Event: CALL OK +On: 2011-09-09 12:46:13.044912 Event: Call Disconnected +On: 2011-09-09 12:46:13.518160 Event: Terminate +On: 2011-09-09 12:46:13.518225 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:49:32.523406 ------------------ +On: 2011-09-09 12:49:32.543709 Event: try to Connect to Controller +On: 2011-09-09 12:49:33.806652 Event: init state +On: 2011-09-09 12:49:33.806878 Event: Register Account to SIP server +On: 2011-09-09 12:49:33.808777 Event: 100 +On: 2011-09-09 12:49:33.808873 Event: Receiver Handler Ready +On: 2011-09-09 12:49:33.809184 Event: RECEIVE START +On: 2011-09-09 12:49:39.767163 Event: {Call "anonymous" } +On: 2011-09-09 12:49:39.767661 Event: Call Connecting +On: 2011-09-09 12:49:39.767702 Event: 200 +On: 2011-09-09 12:49:39.767853 Event: Answer call +On: 2011-09-09 12:49:39.767885 Event: Hangup call +On: 2011-09-09 12:49:39.768044 Event: CALL OK +On: 2011-09-09 12:49:39.818702 Event: Call Disconnected +On: 2011-09-09 12:49:40.461803 Event: Terminate +On: 2011-09-09 12:49:40.461843 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:50:00.424514 ------------------ +On: 2011-09-09 12:50:00.445863 Event: try to Connect to Controller +On: 2011-09-09 12:50:01.624553 Event: init state +On: 2011-09-09 12:50:01.624780 Event: Register Account to SIP server +On: 2011-09-09 12:50:01.626454 Event: 100 +On: 2011-09-09 12:50:01.629675 Event: Receiver Handler Ready +On: 2011-09-09 12:50:01.629749 Event: RECEIVE START +On: 2011-09-09 12:50:05.984948 Event: {Call "anonymous" } +On: 2011-09-09 12:50:05.985490 Event: Call Connecting +On: 2011-09-09 12:50:05.985534 Event: 200 +On: 2011-09-09 12:50:05.985714 Event: Answer call +On: 2011-09-09 12:50:05.985747 Event: Hangup call +On: 2011-09-09 12:50:05.985917 Event: CALL OK +On: 2011-09-09 12:50:06.036590 Event: Call Disconnected +On: 2011-09-09 12:50:07.097850 Event: Terminate +On: 2011-09-09 12:50:07.097890 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:50:25.754304 ------------------ +On: 2011-09-09 12:50:25.774778 Event: try to Connect to Controller +On: 2011-09-09 12:50:26.968180 Event: init state +On: 2011-09-09 12:50:26.968417 Event: Register Account to SIP server +On: 2011-09-09 12:50:26.970431 Event: 100 +On: 2011-09-09 12:50:26.972636 Event: Caller Handler Ready +On: 2011-09-09 12:50:31.977419 Event: CALL START +On: 2011-09-09 12:50:31.977472 Event: Make a call to: 07612034661447 +On: 2011-09-09 12:50:41.588213 Event: Call Disconnected +On: 2011-09-09 12:50:58.976542 Event: Terminate +On: 2011-09-09 12:50:58.976585 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:07:16.481749 ------------------ +On: 2011-09-09 13:07:16.502112 Event: try to Connect to Controller +On: 2011-09-09 13:07:17.789958 Event: init state +On: 2011-09-09 13:07:17.790193 Event: Register Account to SIP server +On: 2011-09-09 13:07:17.792481 Event: 100 +On: 2011-09-09 13:07:17.792829 Event: Receiver Handler Ready +On: 2011-09-09 13:07:17.792886 Event: RECEIVE START +On: 2011-09-09 13:07:23.872615 Event: {Call "anonymous" } +On: 2011-09-09 13:07:23.873116 Event: Call Connecting +On: 2011-09-09 13:07:23.873157 Event: 200 +On: 2011-09-09 13:07:23.873306 Event: Answer call +On: 2011-09-09 13:07:23.873337 Event: Hangup call +On: 2011-09-09 13:07:23.873542 Event: CALL OK +On: 2011-09-09 13:07:23.924191 Event: Call Disconnected +On: 2011-09-09 13:07:24.560455 Event: Terminate +On: 2011-09-09 13:07:24.560513 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:07:44.432287 ------------------ +On: 2011-09-09 13:07:44.452745 Event: try to Connect to Controller +On: 2011-09-09 13:07:45.733130 Event: init state +On: 2011-09-09 13:07:45.733364 Event: Register Account to SIP server +On: 2011-09-09 13:07:45.734871 Event: 100 +On: 2011-09-09 13:07:45.737681 Event: Receiver Handler Ready +On: 2011-09-09 13:07:45.737757 Event: RECEIVE START +On: 2011-09-09 13:07:51.067366 Event: {Call "anonymous" } +On: 2011-09-09 13:07:51.067862 Event: Call Connecting +On: 2011-09-09 13:07:51.067903 Event: 200 +On: 2011-09-09 13:07:51.068051 Event: Answer call +On: 2011-09-09 13:07:51.068082 Event: Hangup call +On: 2011-09-09 13:07:51.068238 Event: CALL OK +On: 2011-09-09 13:07:51.118875 Event: Call Disconnected +On: 2011-09-09 13:07:52.373796 Event: Terminate +On: 2011-09-09 13:07:52.373836 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:08:10.420396 ------------------ +On: 2011-09-09 13:08:10.440680 Event: try to Connect to Controller +On: 2011-09-09 13:08:11.707489 Event: init state +On: 2011-09-09 13:08:11.707723 Event: Register Account to SIP server +On: 2011-09-09 13:08:11.709786 Event: 100 +On: 2011-09-09 13:08:11.712030 Event: Caller Handler Ready +On: 2011-09-09 13:08:16.720169 Event: CALL START +On: 2011-09-09 13:08:16.720225 Event: Make a call to: 07612034661447 +On: 2011-09-09 13:08:22.021697 Event: Call Connecting +On: 2011-09-09 13:08:22.021750 Event: 200 +On: 2011-09-09 13:08:22.025668 Event: Terminate +On: 2011-09-09 13:08:22.025730 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:27:44.548708 ------------------ +On: 2011-09-09 16:27:44.569970 Event: try to Connect to Controller +On: 2011-09-09 16:27:45.884718 Event: init state +On: 2011-09-09 16:27:45.884946 Event: Register Account to SIP server +On: 2011-09-09 16:27:45.886676 Event: 100 +On: 2011-09-09 16:27:45.886773 Event: Receiver Handler Ready +On: 2011-09-09 16:27:45.887092 Event: RECEIVE START +On: 2011-09-09 16:27:54.508082 Event: {Call "anonymous" } +On: 2011-09-09 16:27:54.508585 Event: Call Connecting +On: 2011-09-09 16:27:54.508627 Event: 200 +On: 2011-09-09 16:27:54.508773 Event: Answer call +On: 2011-09-09 16:27:54.508805 Event: Hangup call +On: 2011-09-09 16:27:54.508962 Event: CALL OK +On: 2011-09-09 16:27:54.559680 Event: Call Disconnected +On: 2011-09-09 16:27:55.022441 Event: Terminate +On: 2011-09-09 16:27:55.022481 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:28:19.816093 ------------------ +On: 2011-09-09 16:28:19.837183 Event: try to Connect to Controller +On: 2011-09-09 16:28:21.181980 Event: init state +On: 2011-09-09 16:28:21.182208 Event: Register Account to SIP server +On: 2011-09-09 16:28:21.184143 Event: 100 +On: 2011-09-09 16:28:21.184237 Event: Caller Handler Ready +On: 2011-09-09 16:28:23.194234 Event: Terminate +On: 2011-09-09 16:28:23.194275 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 21:09:03.763605 ------------------ +On: 2011-09-09 21:09:03.807874 Event: try to Connect to Controller +On: 2011-09-09 21:09:04.504740 Event: init state +On: 2011-09-09 21:09:04.504968 Event: Register Account to SIP server +On: 2011-09-09 21:09:04.506507 Event: 100 +On: 2011-09-09 21:09:04.506597 Event: Caller Handler Ready +On: 2011-09-09 21:09:08.512560 Event: Terminate +On: 2011-09-09 21:09:08.512597 Event: Goodbye diff --git a/For Weekly Test/Advance/LogFileClass.py b/For Weekly Test/Advance/LogFileClass.py new file mode 100644 index 0000000..cb152f4 --- /dev/null +++ b/For Weekly Test/Advance/LogFileClass.py @@ -0,0 +1,21 @@ +import string +import datetime + +class Logging: + + def __init__(self, logFileName): + self.writeToFile = open(logFileName, 'a') + self.justStarted = 1 + + def logEvent(self, event): + now = str(datetime.datetime.now()) + if self.justStarted == 1: + self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n') + self.justStarted = 0 + else: + self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n') + + def closeLogging(self): + now = str(datetime.datetime.now()) + self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------') + self.writeToFile.close() diff --git a/For Weekly Test/Advance/LogFileClass.pyc b/For Weekly Test/Advance/LogFileClass.pyc new file mode 100644 index 0000000..697f94a Binary files /dev/null and b/For Weekly Test/Advance/LogFileClass.pyc differ diff --git a/For Weekly Test/Advance/PingClass.py b/For Weekly Test/Advance/PingClass.py new file mode 100644 index 0000000..e13b32b --- /dev/null +++ b/For Weekly Test/Advance/PingClass.py @@ -0,0 +1,28 @@ +import subprocess +import string + +class Ping: + + def __init__(self, pingAddress): + self.pingAddress = pingAddress + + def ping(self,numberTries): + tried = 1 + while numberTries >= tried: + tried += 1 + #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds + ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0] + + pingAlive = int(string.find(ping_cmd, '1 received')) + unknownHost = int(string.find(ping_cmd, 'unknown host')) + + + if pingAlive != -1: + break + + if unknownHost != -1: + return 2 #unknown host + if pingAlive != -1: + return 1 #ping works fine + else: + return 0 #no ping response diff --git a/For Weekly Test/Advance/PingClass.pyc b/For Weekly Test/Advance/PingClass.pyc new file mode 100644 index 0000000..c611576 Binary files /dev/null and b/For Weekly Test/Advance/PingClass.pyc differ diff --git a/For Weekly Test/Advance/SIP handler.log b/For Weekly Test/Advance/SIP handler.log new file mode 100644 index 0000000..f9374d9 --- /dev/null +++ b/For Weekly Test/Advance/SIP handler.log @@ -0,0 +1,768 @@ + + +------------------STARTED THE LOGGING 2011-09-02 12:52:16.569462 ------------------ +On: 2011-09-02 12:52:16.590556 Event: try to Connect to Controller +On: 2011-09-02 12:52:17.818389 Event: init state +On: 2011-09-02 12:52:17.818926 Event: Register Account to SIP server +On: 2011-09-02 12:52:17.819346 Event: 100 +On: 2011-09-02 12:52:17.819430 Event: Caller Handler Ready +On: 2011-09-02 12:52:22.830562 Event: CALL START +On: 2011-09-02 12:52:22.830621 Event: Make a call to: 076145875681 +On: 2011-09-02 12:52:26.633015 Event: Call Connecting +On: 2011-09-02 12:52:26.633066 Event: 200 +On: 2011-09-02 12:52:26.635568 Event: Terminate +On: 2011-09-02 12:52:26.635620 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:04:19.521527 ------------------ +On: 2011-09-02 13:04:19.542334 Event: try to Connect to Controller +On: 2011-09-02 13:04:20.853864 Event: init state +On: 2011-09-02 13:04:20.854098 Event: Register Account to SIP server +On: 2011-09-02 13:04:20.854507 Event: 100 +On: 2011-09-02 13:04:20.854585 Event: Caller Handler Ready +On: 2011-09-02 13:04:25.862590 Event: CALL START +On: 2011-09-02 13:04:25.862647 Event: Make a call to: 076145875681 +On: 2011-09-02 13:04:29.575870 Event: Call Connecting +On: 2011-09-02 13:04:29.575919 Event: 200 +On: 2011-09-02 13:04:29.579191 Event: Terminate +On: 2011-09-02 13:04:29.579251 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:04:30.400558 ------------------ +On: 2011-09-02 13:04:30.426054 Event: try to Connect to Controller +On: 2011-09-02 13:04:31.589851 Event: init state +On: 2011-09-02 13:04:31.590091 Event: Register Account to SIP server +On: 2011-09-02 13:04:31.590501 Event: 100 +On: 2011-09-02 13:04:31.590582 Event: Caller Handler Ready +On: 2011-09-02 13:04:33.595630 Event: No number to call +On: 2011-09-02 13:04:33.595665 Event: CALL NOT OK + + +------------------STARTED THE LOGGING 2011-09-02 13:09:03.332562 ------------------ +On: 2011-09-02 13:09:03.353588 Event: try to Connect to Controller +On: 2011-09-02 13:09:04.647294 Event: init state +On: 2011-09-02 13:09:04.647968 Event: Register Account to SIP server +On: 2011-09-02 13:09:04.648454 Event: 100 +On: 2011-09-02 13:09:04.648542 Event: Caller Handler Ready +On: 2011-09-02 13:09:09.660442 Event: CALL START +On: 2011-09-02 13:09:09.660500 Event: Make a call to: 076145875681 +On: 2011-09-02 13:09:13.238056 Event: Call Connecting +On: 2011-09-02 13:09:13.238106 Event: 200 +On: 2011-09-02 13:09:13.239830 Event: Terminate +On: 2011-09-02 13:09:13.239882 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:09:14.079176 ------------------ +On: 2011-09-02 13:09:14.111735 Event: try to Connect to Controller +On: 2011-09-02 13:09:15.252127 Event: init state +On: 2011-09-02 13:09:15.252359 Event: Register Account to SIP server +On: 2011-09-02 13:09:15.252768 Event: 100 +On: 2011-09-02 13:09:15.252850 Event: Caller Handler Ready +On: 2011-09-02 13:09:20.260518 Event: CALL START +On: 2011-09-02 13:09:20.260572 Event: Make a call to: 076120397898 +On: 2011-09-02 13:09:20.312559 Event: Call Connecting +On: 2011-09-02 13:09:20.312602 Event: 200 +On: 2011-09-02 13:09:20.317870 Event: Terminate +On: 2011-09-02 13:09:20.317929 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:15:38.321140 ------------------ +On: 2011-09-02 13:15:38.342105 Event: try to Connect to Controller +On: 2011-09-02 13:15:39.643146 Event: init state +On: 2011-09-02 13:15:39.643373 Event: Register Account to SIP server +On: 2011-09-02 13:15:39.643790 Event: 100 +On: 2011-09-02 13:15:39.643872 Event: Caller Handler Ready +On: 2011-09-02 13:15:44.652007 Event: CALL START +On: 2011-09-02 13:15:44.652063 Event: Make a call to: 076145875681 +On: 2011-09-02 13:15:50.628202 Event: Call Connecting +On: 2011-09-02 13:15:50.628251 Event: 200 +On: 2011-09-02 13:15:50.631622 Event: Terminate +On: 2011-09-02 13:15:50.631677 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:15:51.475577 ------------------ +On: 2011-09-02 13:15:51.511402 Event: try to Connect to Controller +On: 2011-09-02 13:15:52.640715 Event: init state +On: 2011-09-02 13:15:52.640948 Event: Register Account to SIP server +On: 2011-09-02 13:15:52.641361 Event: 100 +On: 2011-09-02 13:15:52.641438 Event: Caller Handler Ready +On: 2011-09-02 13:15:57.647572 Event: CALL START +On: 2011-09-02 13:15:57.647631 Event: Make a call to: 076120397898 +On: 2011-09-02 13:15:57.758051 Event: Call Connecting +On: 2011-09-02 13:15:57.758099 Event: 200 +On: 2011-09-02 13:15:57.762095 Event: Terminate +On: 2011-09-02 13:15:57.762156 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:19:14.235203 ------------------ +On: 2011-09-02 13:19:14.255845 Event: try to Connect to Controller +On: 2011-09-02 13:19:15.513986 Event: init state +On: 2011-09-02 13:19:15.514215 Event: Register Account to SIP server +On: 2011-09-02 13:19:15.514634 Event: 100 +On: 2011-09-02 13:19:15.514714 Event: Caller Handler Ready +On: 2011-09-02 13:19:20.521761 Event: CALL START +On: 2011-09-02 13:19:20.521815 Event: Make a call to: 017678038038 +On: 2011-09-02 13:19:24.029595 Event: Call Connecting +On: 2011-09-02 13:19:24.029643 Event: 200 +On: 2011-09-02 13:19:39.030951 Event: Terminate +On: 2011-09-02 13:19:39.031002 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:20:10.793411 ------------------ +On: 2011-09-02 13:20:10.814030 Event: try to Connect to Controller +On: 2011-09-02 13:20:12.082004 Event: init state +On: 2011-09-02 13:20:12.082234 Event: Register Account to SIP server +On: 2011-09-02 13:20:12.082649 Event: 100 +On: 2011-09-02 13:20:12.082731 Event: Caller Handler Ready +On: 2011-09-02 13:20:17.092943 Event: CALL START +On: 2011-09-02 13:20:17.092999 Event: Make a call to: 017678038038 +On: 2011-09-02 13:20:20.135349 Event: Call Connecting +On: 2011-09-02 13:20:20.135396 Event: 200 +On: 2011-09-02 13:20:35.136635 Event: Terminate +On: 2011-09-02 13:20:35.136685 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:21:02.335449 ------------------ +On: 2011-09-02 13:21:02.356332 Event: try to Connect to Controller +On: 2011-09-02 13:21:03.616157 Event: init state +On: 2011-09-02 13:21:03.616388 Event: Register Account to SIP server +On: 2011-09-02 13:21:03.616815 Event: 100 +On: 2011-09-02 13:21:03.616894 Event: Caller Handler Ready +On: 2011-09-02 13:21:08.628942 Event: CALL START +On: 2011-09-02 13:21:08.628995 Event: Make a call to: 017678038038 +On: 2011-09-02 13:21:11.214323 Event: Call Connecting +On: 2011-09-02 13:21:11.214371 Event: 200 +On: 2011-09-02 13:21:26.215654 Event: Terminate +On: 2011-09-02 13:21:26.215704 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:29:18.535751 ------------------ +On: 2011-09-02 13:29:18.556882 Event: try to Connect to Controller +On: 2011-09-02 13:29:19.818174 Event: init state +On: 2011-09-02 13:29:19.818503 Event: Register Account to SIP server +On: 2011-09-02 13:29:19.818926 Event: 100 +On: 2011-09-02 13:29:19.819009 Event: Caller Handler Ready +On: 2011-09-02 13:29:24.825761 Event: CALL START +On: 2011-09-02 13:29:24.825816 Event: Make a call to: 017678038038 +On: 2011-09-02 13:29:32.222022 Event: Call Connecting +On: 2011-09-02 13:29:32.222069 Event: 200 +On: 2011-09-02 13:29:47.223206 Event: Terminate +On: 2011-09-02 13:29:47.223249 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:45:58.666059 ------------------ +On: 2011-09-02 13:45:58.686845 Event: try to Connect to Controller +On: 2011-09-02 13:45:59.948541 Event: init state +On: 2011-09-02 13:45:59.948778 Event: Register Account to SIP server +On: 2011-09-02 13:45:59.949189 Event: 100 +On: 2011-09-02 13:45:59.949271 Event: Caller Handler Ready +On: 2011-09-02 13:46:04.960957 Event: CALL START +On: 2011-09-02 13:46:04.961018 Event: Make a call to: 017678038038 +On: 2011-09-02 13:46:08.725986 Event: Call Connecting +On: 2011-09-02 13:46:08.726034 Event: 200 +On: 2011-09-02 13:46:23.727944 Event: Terminate +On: 2011-09-02 13:46:23.727996 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:49:53.956104 ------------------ +On: 2011-09-02 13:49:53.976967 Event: try to Connect to Controller +On: 2011-09-02 13:49:55.218183 Event: init state +On: 2011-09-02 13:49:55.218439 Event: Register Account to SIP server +On: 2011-09-02 13:49:55.218849 Event: 100 +On: 2011-09-02 13:49:55.218931 Event: Caller Handler Ready +On: 2011-09-02 13:50:00.228948 Event: CALL START +On: 2011-09-02 13:50:00.229003 Event: Make a call to: 017678038038 +On: 2011-09-02 13:50:03.854561 Event: Call Connecting +On: 2011-09-02 13:50:03.854608 Event: 200 +On: 2011-09-02 13:50:18.855761 Event: Terminate +On: 2011-09-02 13:50:18.855801 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:55:02.607072 ------------------ +On: 2011-09-02 13:55:02.628231 Event: try to Connect to Controller +On: 2011-09-02 13:55:03.894910 Event: init state +On: 2011-09-02 13:55:03.895136 Event: Register Account to SIP server +On: 2011-09-02 13:55:03.895551 Event: 100 +On: 2011-09-02 13:55:03.895634 Event: Caller Handler Ready +On: 2011-09-02 13:55:08.908330 Event: CALL START +On: 2011-09-02 13:55:08.908385 Event: Make a call to: 017678038038 +On: 2011-09-02 13:55:13.119741 Event: Call Connecting +On: 2011-09-02 13:55:13.119787 Event: 200 +On: 2011-09-02 13:55:28.120884 Event: Terminate +On: 2011-09-02 13:55:28.120926 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:01:06.420185 ------------------ +On: 2011-09-09 12:01:06.441073 Event: try to Connect to Controller +On: 2011-09-09 12:01:07.624045 Event: init state +On: 2011-09-09 12:01:07.624285 Event: Register Account to SIP server +On: 2011-09-09 12:01:07.625055 Event: 100 +On: 2011-09-09 12:01:07.625137 Event: Caller Handler Ready +On: 2011-09-09 12:01:12.640588 Event: CALL START +On: 2011-09-09 12:01:12.640715 Event: Make a call to: 017678038038 +On: 2011-09-09 12:01:22.265854 Event: Call Connecting +On: 2011-09-09 12:01:22.265902 Event: 200 +On: 2011-09-09 12:01:22.269543 Event: Terminate +On: 2011-09-09 12:01:22.269602 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:01:27.972292 ------------------ +On: 2011-09-09 12:01:27.992997 Event: try to Connect to Controller +On: 2011-09-09 12:01:29.282631 Event: init state +On: 2011-09-09 12:01:29.282872 Event: Register Account to SIP server +On: 2011-09-09 12:01:29.283281 Event: 100 +On: 2011-09-09 12:01:29.283364 Event: Caller Handler Ready +On: 2011-09-09 12:01:34.289743 Event: CALL START +On: 2011-09-09 12:01:34.289799 Event: Make a call to: 015252423662 +On: 2011-09-09 12:01:43.808484 Event: Call Connecting +On: 2011-09-09 12:01:43.808533 Event: 200 +On: 2011-09-09 12:01:43.812409 Event: Terminate +On: 2011-09-09 12:01:43.812469 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:04:11.310443 ------------------ +On: 2011-09-09 12:04:11.331278 Event: try to Connect to Controller +On: 2011-09-09 12:04:12.620596 Event: init state +On: 2011-09-09 12:04:12.620841 Event: Register Account to SIP server +On: 2011-09-09 12:04:12.621254 Event: 100 +On: 2011-09-09 12:04:12.621337 Event: Caller Handler Ready +On: 2011-09-09 12:04:17.630856 Event: CALL START +On: 2011-09-09 12:04:17.630920 Event: Make a call to: 076145875681 +On: 2011-09-09 12:04:21.364288 Event: Call Connecting +On: 2011-09-09 12:04:21.364340 Event: 200 +On: 2011-09-09 12:04:21.365852 Event: Terminate +On: 2011-09-09 12:04:21.365905 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:04:27.072709 ------------------ +On: 2011-09-09 12:04:27.093893 Event: try to Connect to Controller +On: 2011-09-09 12:04:28.386696 Event: init state +On: 2011-09-09 12:04:28.386933 Event: Register Account to SIP server +On: 2011-09-09 12:04:28.387349 Event: 100 +On: 2011-09-09 12:04:28.387431 Event: Caller Handler Ready +On: 2011-09-09 12:04:33.394162 Event: CALL START +On: 2011-09-09 12:04:33.394221 Event: Make a call to: 076120397898 +On: 2011-09-09 12:04:33.442576 Event: Call Connecting +On: 2011-09-09 12:04:33.442622 Event: 200 +On: 2011-09-09 12:04:33.443707 Event: Terminate +On: 2011-09-09 12:04:33.443768 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:09:02.294476 ------------------ +On: 2011-09-09 12:09:02.314819 Event: try to Connect to Controller +On: 2011-09-09 12:09:03.542291 Event: init state +On: 2011-09-09 12:09:03.542526 Event: Register Account to SIP server +On: 2011-09-09 12:09:03.542939 Event: 100 +On: 2011-09-09 12:09:03.543023 Event: Caller Handler Ready +On: 2011-09-09 12:09:08.549418 Event: CALL START +On: 2011-09-09 12:09:08.549474 Event: Make a call to: 07612034661447 +On: 2011-09-09 12:09:10.146099 Event: Call Connecting +On: 2011-09-09 12:09:10.146148 Event: 200 +On: 2011-09-09 12:09:10.345788 Event: Terminate +On: 2011-09-09 12:09:10.345831 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:46:01.821854 ------------------ +On: 2011-09-09 12:46:01.842126 Event: try to Connect to Controller +On: 2011-09-09 12:46:03.149724 Event: init state +On: 2011-09-09 12:46:03.149956 Event: Register Account to SIP server +On: 2011-09-09 12:46:03.150372 Event: 100 +On: 2011-09-09 12:46:03.150456 Event: Caller Handler Ready +On: 2011-09-09 12:46:08.157069 Event: CALL START +On: 2011-09-09 12:46:08.157127 Event: Make a call to: 076145875681 +On: 2011-09-09 12:46:13.516165 Event: Call Connecting +On: 2011-09-09 12:46:13.516213 Event: 200 +On: 2011-09-09 12:46:13.516633 Event: Terminate +On: 2011-09-09 12:46:13.516673 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:46:19.200607 ------------------ +On: 2011-09-09 12:46:19.221192 Event: try to Connect to Controller +On: 2011-09-09 12:46:20.538553 Event: init state +On: 2011-09-09 12:46:20.538784 Event: Register Account to SIP server +On: 2011-09-09 12:46:20.539209 Event: 100 +On: 2011-09-09 12:46:20.539293 Event: Caller Handler Ready +On: 2011-09-09 12:46:25.546196 Event: CALL START +On: 2011-09-09 12:46:25.546257 Event: Make a call to: 076120397898 +On: 2011-09-09 12:46:25.620261 Event: Call Connecting +On: 2011-09-09 12:46:25.620311 Event: 200 +On: 2011-09-09 12:46:25.620673 Event: Terminate +On: 2011-09-09 12:46:25.620708 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:47:36.818688 ------------------ +On: 2011-09-09 12:47:36.838962 Event: try to Connect to Controller +On: 2011-09-09 12:47:38.093716 Event: init state +On: 2011-09-09 12:47:38.093947 Event: Register Account to SIP server +On: 2011-09-09 12:47:38.094345 Event: 100 +On: 2011-09-09 12:47:38.094424 Event: Caller Handler Ready +On: 2011-09-09 12:47:43.104501 Event: CALL START +On: 2011-09-09 12:47:43.104558 Event: Make a call to: 017678038038 +On: 2011-09-09 12:47:54.243504 Event: Call Connecting +On: 2011-09-09 12:47:54.243553 Event: 200 +On: 2011-09-09 12:47:54.248176 Event: Terminate +On: 2011-09-09 12:47:54.248240 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:47:59.948642 ------------------ +On: 2011-09-09 12:47:59.972325 Event: try to Connect to Controller +On: 2011-09-09 12:48:01.261000 Event: init state +On: 2011-09-09 12:48:01.261228 Event: Register Account to SIP server +On: 2011-09-09 12:48:01.261688 Event: 100 +On: 2011-09-09 12:48:01.261775 Event: Caller Handler Ready +On: 2011-09-09 12:48:06.272095 Event: CALL START +On: 2011-09-09 12:48:06.272150 Event: Make a call to: 015252423662 +On: 2011-09-09 12:48:19.537769 Event: Terminate +On: 2011-09-09 12:48:19.537809 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:48:25.257085 ------------------ +On: 2011-09-09 12:48:25.277858 Event: try to Connect to Controller +On: 2011-09-09 12:48:26.554221 Event: init state +On: 2011-09-09 12:48:26.554449 Event: Register Account to SIP server +On: 2011-09-09 12:48:26.554863 Event: 100 +On: 2011-09-09 12:48:26.554945 Event: Caller Handler Ready +On: 2011-09-09 12:48:31.561418 Event: CALL START +On: 2011-09-09 12:48:31.561470 Event: Make a call to: 015782677224 +On: 2011-09-09 12:48:42.790005 Event: Call Connecting +On: 2011-09-09 12:48:42.790053 Event: 200 +On: 2011-09-09 12:48:42.793676 Event: Terminate +On: 2011-09-09 12:48:42.793741 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:48:48.496361 ------------------ +On: 2011-09-09 12:48:48.516769 Event: try to Connect to Controller +On: 2011-09-09 12:48:49.807782 Event: init state +On: 2011-09-09 12:48:49.808010 Event: Register Account to SIP server +On: 2011-09-09 12:48:49.808428 Event: 100 +On: 2011-09-09 12:48:49.808513 Event: Caller Handler Ready +On: 2011-09-09 12:48:54.820514 Event: CALL START +On: 2011-09-09 12:48:54.820566 Event: Make a call to: 015128040906 +On: 2011-09-09 12:49:06.817545 Event: Terminate +On: 2011-09-09 12:49:06.817607 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:49:12.538517 ------------------ +On: 2011-09-09 12:49:12.558970 Event: try to Connect to Controller +On: 2011-09-09 12:49:13.830382 Event: init state +On: 2011-09-09 12:49:13.830609 Event: Register Account to SIP server +On: 2011-09-09 12:49:13.831028 Event: 100 +On: 2011-09-09 12:49:13.831112 Event: Caller Handler Ready +On: 2011-09-09 12:49:18.839366 Event: CALL START +On: 2011-09-09 12:49:18.839421 Event: Make a call to: 07612034661447 +On: 2011-09-09 12:49:20.543018 Event: Call Connecting +On: 2011-09-09 12:49:20.543066 Event: 200 +On: 2011-09-09 12:49:20.733764 Event: Terminate +On: 2011-09-09 12:49:20.733805 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:49:30.502233 ------------------ +On: 2011-09-09 12:49:30.522419 Event: try to Connect to Controller +On: 2011-09-09 12:49:31.801363 Event: init state +On: 2011-09-09 12:49:31.801840 Event: Register Account to SIP server +On: 2011-09-09 12:49:31.802279 Event: 100 +On: 2011-09-09 12:49:31.802366 Event: Caller Handler Ready +On: 2011-09-09 12:49:36.809543 Event: CALL START +On: 2011-09-09 12:49:36.809603 Event: Make a call to: 076145875681 +On: 2011-09-09 12:49:40.460699 Event: Call Connecting +On: 2011-09-09 12:49:40.460753 Event: 200 +On: 2011-09-09 12:49:40.462290 Event: Terminate +On: 2011-09-09 12:49:40.462345 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:49:46.198801 ------------------ +On: 2011-09-09 12:49:46.219626 Event: try to Connect to Controller +On: 2011-09-09 12:49:47.486204 Event: init state +On: 2011-09-09 12:49:47.486444 Event: Register Account to SIP server +On: 2011-09-09 12:49:47.486859 Event: 100 +On: 2011-09-09 12:49:47.486941 Event: Caller Handler Ready +On: 2011-09-09 12:49:52.491671 Event: CALL START +On: 2011-09-09 12:49:52.491731 Event: Make a call to: 076120397898 +On: 2011-09-09 12:49:52.569288 Event: Call Connecting +On: 2011-09-09 12:49:52.569338 Event: 200 +On: 2011-09-09 12:49:52.569742 Event: Terminate +On: 2011-09-09 12:49:52.569777 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:58:20.174197 ------------------ +On: 2011-09-09 12:58:20.195014 Event: try to Connect to Controller +On: 2011-09-09 12:58:21.458654 Event: init state +On: 2011-09-09 12:58:21.458892 Event: Register Account to SIP server +On: 2011-09-09 12:58:21.459311 Event: 100 +On: 2011-09-09 12:58:21.459398 Event: Caller Handler Ready +On: 2011-09-09 12:58:26.472479 Event: CALL START +On: 2011-09-09 12:58:26.472535 Event: Make a call to: 015252423662 +On: 2011-09-09 12:58:37.114342 Event: Call Connecting +On: 2011-09-09 12:58:37.114393 Event: 200 +On: 2011-09-09 12:58:37.117854 Event: Terminate +On: 2011-09-09 12:58:37.117915 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:58:42.916843 ------------------ +On: 2011-09-09 12:58:42.937147 Event: try to Connect to Controller +On: 2011-09-09 12:58:44.132837 Event: init state +On: 2011-09-09 12:58:44.133066 Event: Register Account to SIP server +On: 2011-09-09 12:58:44.133523 Event: 100 +On: 2011-09-09 12:58:44.133611 Event: Caller Handler Ready +On: 2011-09-09 12:58:49.138793 Event: CALL START +On: 2011-09-09 12:58:49.138850 Event: Make a call to: 017678038038 +On: 2011-09-09 12:58:59.126113 Event: Call Connecting +On: 2011-09-09 12:58:59.126165 Event: 200 +On: 2011-09-09 12:58:59.129673 Event: Terminate +On: 2011-09-09 12:58:59.129736 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:59:04.942801 ------------------ +On: 2011-09-09 12:59:04.990449 Event: try to Connect to Controller +On: 2011-09-09 12:59:06.152581 Event: init state +On: 2011-09-09 12:59:06.152824 Event: Register Account to SIP server +On: 2011-09-09 12:59:06.153236 Event: 100 +On: 2011-09-09 12:59:06.153322 Event: Caller Handler Ready +On: 2011-09-09 12:59:11.161419 Event: CALL START +On: 2011-09-09 12:59:11.161474 Event: Make a call to: 015782677224 +On: 2011-09-09 12:59:21.541457 Event: Call Connecting +On: 2011-09-09 12:59:21.541510 Event: 200 +On: 2011-09-09 12:59:21.545672 Event: Terminate +On: 2011-09-09 12:59:21.545735 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:59:27.340187 ------------------ +On: 2011-09-09 12:59:27.360782 Event: try to Connect to Controller +On: 2011-09-09 12:59:28.561500 Event: init state +On: 2011-09-09 12:59:28.561749 Event: Register Account to SIP server +On: 2011-09-09 12:59:28.562158 Event: 100 +On: 2011-09-09 12:59:28.562241 Event: Caller Handler Ready +On: 2011-09-09 12:59:33.576600 Event: CALL START +On: 2011-09-09 12:59:33.576660 Event: Make a call to: 015128040906 +On: 2011-09-09 12:59:45.569369 Event: Terminate +On: 2011-09-09 12:59:45.569441 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:04:58.421962 ------------------ +On: 2011-09-09 13:04:58.442647 Event: try to Connect to Controller +On: 2011-09-09 13:04:59.728794 Event: init state +On: 2011-09-09 13:04:59.729021 Event: Register Account to SIP server +On: 2011-09-09 13:04:59.729834 Event: 100 +On: 2011-09-09 13:04:59.729922 Event: Caller Handler Ready +On: 2011-09-09 13:05:04.740606 Event: CALL START +On: 2011-09-09 13:05:04.740660 Event: Make a call to: 015128040906 +On: 2011-09-09 13:05:15.030801 Event: Call Connecting +On: 2011-09-09 13:05:15.030851 Event: 200 +On: 2011-09-09 13:05:15.033546 Event: Terminate +On: 2011-09-09 13:05:15.033606 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:05:26.648660 ------------------ +On: 2011-09-09 13:05:26.669361 Event: try to Connect to Controller +On: 2011-09-09 13:05:27.985769 Event: init state +On: 2011-09-09 13:05:27.986002 Event: Register Account to SIP server +On: 2011-09-09 13:05:27.986407 Event: 100 +On: 2011-09-09 13:05:27.986491 Event: Caller Handler Ready +On: 2011-09-09 13:05:32.996493 Event: CALL START +On: 2011-09-09 13:05:32.996545 Event: Make a call to: 017678038038 +On: 2011-09-09 13:05:42.643592 Event: Call Connecting +On: 2011-09-09 13:05:42.643644 Event: 200 +On: 2011-09-09 13:05:42.647437 Event: Terminate +On: 2011-09-09 13:05:42.647501 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:05:48.327361 ------------------ +On: 2011-09-09 13:05:48.348139 Event: try to Connect to Controller +On: 2011-09-09 13:05:49.660344 Event: init state +On: 2011-09-09 13:05:49.660579 Event: Register Account to SIP server +On: 2011-09-09 13:05:49.661345 Event: 100 +On: 2011-09-09 13:05:49.663653 Event: Caller Handler Ready +On: 2011-09-09 13:05:54.672639 Event: CALL START +On: 2011-09-09 13:05:54.672694 Event: Make a call to: 015252423662 +On: 2011-09-09 13:06:05.667086 Event: Call Connecting +On: 2011-09-09 13:06:05.667136 Event: 200 +On: 2011-09-09 13:06:05.671226 Event: Terminate +On: 2011-09-09 13:06:05.671290 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:06:11.405119 ------------------ +On: 2011-09-09 13:06:11.425872 Event: try to Connect to Controller +On: 2011-09-09 13:06:12.683847 Event: init state +On: 2011-09-09 13:06:12.684074 Event: Register Account to SIP server +On: 2011-09-09 13:06:12.684493 Event: 100 +On: 2011-09-09 13:06:12.684578 Event: Caller Handler Ready +On: 2011-09-09 13:06:17.696611 Event: CALL START +On: 2011-09-09 13:06:17.696665 Event: Make a call to: 015782677224 +On: 2011-09-09 13:06:28.728114 Event: Call Connecting +On: 2011-09-09 13:06:28.728164 Event: 200 +On: 2011-09-09 13:06:28.732045 Event: Terminate +On: 2011-09-09 13:06:28.732110 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:06:34.452717 ------------------ +On: 2011-09-09 13:06:34.474895 Event: try to Connect to Controller +On: 2011-09-09 13:06:35.745335 Event: init state +On: 2011-09-09 13:06:35.745603 Event: Register Account to SIP server +On: 2011-09-09 13:06:35.746018 Event: 100 +On: 2011-09-09 13:06:35.746104 Event: Caller Handler Ready +On: 2011-09-09 13:06:40.760614 Event: CALL START +On: 2011-09-09 13:06:40.760671 Event: Make a call to: 015128040906 +On: 2011-09-09 13:06:50.907716 Event: Call Connecting +On: 2011-09-09 13:06:50.907768 Event: 200 +On: 2011-09-09 13:06:50.911592 Event: Terminate +On: 2011-09-09 13:06:50.911654 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:06:56.605366 ------------------ +On: 2011-09-09 13:06:56.625913 Event: try to Connect to Controller +On: 2011-09-09 13:06:57.921131 Event: init state +On: 2011-09-09 13:06:57.921367 Event: Register Account to SIP server +On: 2011-09-09 13:06:57.921806 Event: 100 +On: 2011-09-09 13:06:57.921892 Event: Caller Handler Ready +On: 2011-09-09 13:07:02.929420 Event: CALL START +On: 2011-09-09 13:07:02.929473 Event: Make a call to: 07612034661447 +On: 2011-09-09 13:07:04.508943 Event: Call Connecting +On: 2011-09-09 13:07:04.508991 Event: 200 +On: 2011-09-09 13:07:04.713844 Event: Terminate +On: 2011-09-09 13:07:04.713885 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:07:14.452722 ------------------ +On: 2011-09-09 13:07:14.473633 Event: try to Connect to Controller +On: 2011-09-09 13:07:15.783664 Event: init state +On: 2011-09-09 13:07:15.784093 Event: Register Account to SIP server +On: 2011-09-09 13:07:15.784532 Event: 100 +On: 2011-09-09 13:07:15.784617 Event: Caller Handler Ready +On: 2011-09-09 13:07:20.793868 Event: CALL START +On: 2011-09-09 13:07:20.793927 Event: Make a call to: 076145875681 +On: 2011-09-09 13:07:24.558896 Event: Call Connecting +On: 2011-09-09 13:07:24.558946 Event: 200 +On: 2011-09-09 13:07:24.559967 Event: Terminate +On: 2011-09-09 13:07:24.560005 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:07:30.255299 ------------------ +On: 2011-09-09 13:07:30.275748 Event: try to Connect to Controller +On: 2011-09-09 13:07:31.584377 Event: init state +On: 2011-09-09 13:07:31.584611 Event: Register Account to SIP server +On: 2011-09-09 13:07:31.585019 Event: 100 +On: 2011-09-09 13:07:31.585102 Event: Caller Handler Ready +On: 2011-09-09 13:07:36.591716 Event: CALL START +On: 2011-09-09 13:07:36.591776 Event: Make a call to: 076120397898 +On: 2011-09-09 13:07:36.676807 Event: Call Connecting +On: 2011-09-09 13:07:36.676854 Event: 200 +On: 2011-09-09 13:07:36.677205 Event: Terminate +On: 2011-09-09 13:07:36.677239 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:38:38.862334 ------------------ +On: 2011-09-09 15:38:38.883937 Event: try to Connect to Controller +On: 2011-09-09 15:38:40.171851 Event: init state +On: 2011-09-09 15:38:40.172085 Event: Register Account to SIP server +On: 2011-09-09 15:38:40.172494 Event: 100 +On: 2011-09-09 15:38:40.172579 Event: Caller Handler Ready +On: 2011-09-09 15:38:42.178095 Event: Terminate +On: 2011-09-09 15:38:42.178134 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:39:17.710963 ------------------ +On: 2011-09-09 15:39:17.731386 Event: try to Connect to Controller +On: 2011-09-09 15:39:19.018300 Event: init state +On: 2011-09-09 15:39:19.018532 Event: Register Account to SIP server +On: 2011-09-09 15:39:19.018958 Event: 100 +On: 2011-09-09 15:39:19.019036 Event: Caller Handler Ready +On: 2011-09-09 15:39:21.025863 Event: Terminate +On: 2011-09-09 15:39:21.025902 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:41:19.074634 ------------------ +On: 2011-09-09 15:41:19.095189 Event: try to Connect to Controller +On: 2011-09-09 15:41:20.360841 Event: init state +On: 2011-09-09 15:41:20.361067 Event: Register Account to SIP server +On: 2011-09-09 15:41:20.361537 Event: 100 +On: 2011-09-09 15:41:20.361621 Event: Caller Handler Ready +On: 2011-09-09 15:41:22.370715 Event: Terminate +On: 2011-09-09 15:41:22.370764 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:42:15.189735 ------------------ +On: 2011-09-09 15:42:15.210301 Event: try to Connect to Controller +On: 2011-09-09 15:42:16.404871 Event: init state +On: 2011-09-09 15:42:16.405539 Event: Register Account to SIP server +On: 2011-09-09 15:42:16.405967 Event: 100 +On: 2011-09-09 15:42:16.406055 Event: Caller Handler Ready +On: 2011-09-09 15:42:18.414642 Event: Terminate +On: 2011-09-09 15:42:18.414681 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:43:05.543327 ------------------ +On: 2011-09-09 15:43:05.564248 Event: try to Connect to Controller +On: 2011-09-09 15:43:06.842160 Event: init state +On: 2011-09-09 15:43:06.842401 Event: Register Account to SIP server +On: 2011-09-09 15:43:06.842824 Event: 100 +On: 2011-09-09 15:43:06.842905 Event: Caller Handler Ready +On: 2011-09-09 15:43:08.853668 Event: Terminate +On: 2011-09-09 15:43:08.853708 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:44:22.249976 ------------------ +On: 2011-09-09 15:44:22.270438 Event: try to Connect to Controller +On: 2011-09-09 15:44:23.538514 Event: init state +On: 2011-09-09 15:44:23.538769 Event: Register Account to SIP server +On: 2011-09-09 15:44:23.539189 Event: 100 +On: 2011-09-09 15:44:23.539271 Event: Caller Handler Ready +On: 2011-09-09 15:44:25.545562 Event: Terminate +On: 2011-09-09 15:44:25.545604 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:44:53.336432 ------------------ +On: 2011-09-09 15:44:53.356993 Event: try to Connect to Controller +On: 2011-09-09 15:44:54.551974 Event: init state +On: 2011-09-09 15:44:54.552203 Event: Register Account to SIP server +On: 2011-09-09 15:44:54.552621 Event: 100 +On: 2011-09-09 15:44:54.552706 Event: Caller Handler Ready +On: 2011-09-09 15:44:56.562051 Event: Terminate +On: 2011-09-09 15:44:56.562100 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:46:14.749046 ------------------ +On: 2011-09-09 15:46:14.770803 Event: try to Connect to Controller +On: 2011-09-09 15:46:15.974206 Event: init state +On: 2011-09-09 15:46:15.974433 Event: Register Account to SIP server +On: 2011-09-09 15:46:15.974854 Event: 100 +On: 2011-09-09 15:46:15.974936 Event: Caller Handler Ready +On: 2011-09-09 15:46:17.981376 Event: Terminate +On: 2011-09-09 15:46:17.981446 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 15:47:37.228684 ------------------ +On: 2011-09-09 15:47:37.249277 Event: try to Connect to Controller +On: 2011-09-09 15:47:38.525094 Event: init state +On: 2011-09-09 15:47:38.525330 Event: Register Account to SIP server +On: 2011-09-09 15:47:38.525783 Event: 100 +On: 2011-09-09 15:47:38.525871 Event: Caller Handler Ready +On: 2011-09-09 15:47:40.534503 Event: Terminate +On: 2011-09-09 15:47:40.534550 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:25:12.215770 ------------------ +On: 2011-09-09 16:25:12.236503 Event: try to Connect to Controller +On: 2011-09-09 16:25:13.507069 Event: init state +On: 2011-09-09 16:25:13.507301 Event: Register Account to SIP server +On: 2011-09-09 16:25:13.507719 Event: 100 +On: 2011-09-09 16:25:13.507800 Event: Caller Handler Ready +On: 2011-09-09 16:25:18.516795 Event: CALL START +On: 2011-09-09 16:25:18.516851 Event: Make a call to: 017678038038 +On: 2011-09-09 16:25:45.514445 Event: Terminate +On: 2011-09-09 16:25:45.514489 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:25:51.281243 ------------------ +On: 2011-09-09 16:25:51.302095 Event: try to Connect to Controller +On: 2011-09-09 16:25:52.533635 Event: init state +On: 2011-09-09 16:25:52.533906 Event: Register Account to SIP server +On: 2011-09-09 16:25:52.534322 Event: 100 +On: 2011-09-09 16:25:52.534406 Event: Caller Handler Ready +On: 2011-09-09 16:25:57.541638 Event: CALL START +On: 2011-09-09 16:25:57.541699 Event: Make a call to: 015252423662 +On: 2011-09-09 16:26:24.539587 Event: Terminate +On: 2011-09-09 16:26:24.539627 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:26:30.307947 ------------------ +On: 2011-09-09 16:26:30.329095 Event: try to Connect to Controller +On: 2011-09-09 16:26:31.557342 Event: init state +On: 2011-09-09 16:26:31.557574 Event: Register Account to SIP server +On: 2011-09-09 16:26:31.558034 Event: 100 +On: 2011-09-09 16:26:31.558122 Event: Caller Handler Ready +On: 2011-09-09 16:26:36.565637 Event: CALL START +On: 2011-09-09 16:26:36.565699 Event: Make a call to: 015782677224 +On: 2011-09-09 16:26:46.616524 Event: Call Connecting +On: 2011-09-09 16:26:46.616576 Event: 200 +On: 2011-09-09 16:26:46.620666 Event: Terminate +On: 2011-09-09 16:26:46.620732 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:26:52.259958 ------------------ +On: 2011-09-09 16:26:52.280364 Event: try to Connect to Controller +On: 2011-09-09 16:26:53.634030 Event: init state +On: 2011-09-09 16:26:53.634261 Event: Register Account to SIP server +On: 2011-09-09 16:26:53.634680 Event: 100 +On: 2011-09-09 16:26:53.634766 Event: Caller Handler Ready +On: 2011-09-09 16:26:58.641649 Event: CALL START +On: 2011-09-09 16:26:58.641713 Event: Make a call to: 015128040906 +On: 2011-09-09 16:27:25.606837 Event: Call Connecting +On: 2011-09-09 16:27:25.606888 Event: 200 +On: 2011-09-09 16:27:25.639857 Event: Terminate +On: 2011-09-09 16:27:25.639901 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:27:31.408855 ------------------ +On: 2011-09-09 16:27:31.429888 Event: try to Connect to Controller +On: 2011-09-09 16:27:32.659182 Event: init state +On: 2011-09-09 16:27:32.659415 Event: Register Account to SIP server +On: 2011-09-09 16:27:32.660211 Event: 100 +On: 2011-09-09 16:27:32.660293 Event: Caller Handler Ready +On: 2011-09-09 16:27:34.670023 Event: Terminate +On: 2011-09-09 16:27:34.670079 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:27:42.491745 ------------------ +On: 2011-09-09 16:27:42.512376 Event: try to Connect to Controller +On: 2011-09-09 16:27:43.865970 Event: init state +On: 2011-09-09 16:27:43.866200 Event: Register Account to SIP server +On: 2011-09-09 16:27:43.866626 Event: 100 +On: 2011-09-09 16:27:43.866712 Event: Caller Handler Ready +On: 2011-09-09 16:27:48.889806 Event: CALL START +On: 2011-09-09 16:27:48.889866 Event: Make a call to: 076145875681 +On: 2011-09-09 16:27:55.021303 Event: Call Connecting +On: 2011-09-09 16:27:55.021355 Event: 200 +On: 2011-09-09 16:27:55.022924 Event: Terminate +On: 2011-09-09 16:27:55.022977 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:28:00.672211 ------------------ +On: 2011-09-09 16:28:00.692884 Event: try to Connect to Controller +On: 2011-09-09 16:28:02.044754 Event: init state +On: 2011-09-09 16:28:02.044982 Event: Register Account to SIP server +On: 2011-09-09 16:28:02.045399 Event: 100 +On: 2011-09-09 16:28:02.045484 Event: Caller Handler Ready +On: 2011-09-09 16:28:07.053669 Event: CALL START +On: 2011-09-09 16:28:07.053731 Event: Make a call to: 076120397898 +On: 2011-09-09 16:28:07.102375 Event: Call Connecting +On: 2011-09-09 16:28:07.102424 Event: 200 +On: 2011-09-09 16:28:07.102788 Event: Terminate +On: 2011-09-09 16:28:07.102824 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 21:13:08.268235 ------------------ +On: 2011-09-09 21:13:08.288873 Event: try to Connect to Controller +On: 2011-09-09 21:13:09.522915 Event: init state +On: 2011-09-09 21:13:09.523144 Event: Register Account to SIP server +On: 2011-09-09 21:13:09.523552 Event: 100 +On: 2011-09-09 21:13:09.523632 Event: Caller Handler Ready +On: 2011-09-09 21:13:13.533965 Event: Terminate +On: 2011-09-09 21:13:13.534002 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 21:14:01.155335 ------------------ +On: 2011-09-09 21:14:01.176101 Event: try to Connect to Controller +On: 2011-09-09 21:14:02.425716 Event: init state +On: 2011-09-09 21:14:02.426285 Event: Register Account to SIP server +On: 2011-09-09 21:14:02.427064 Event: 100 +On: 2011-09-09 21:14:02.427144 Event: Caller Handler Ready +On: 2011-09-09 21:14:09.445645 Event: CALL START +On: 2011-09-09 21:14:09.445712 Event: Make a call to: 07612034661447 +On: 2011-09-09 21:14:11.160668 Event: Call Connecting +On: 2011-09-09 21:14:11.160719 Event: 200 +On: 2011-09-09 21:14:11.370512 Event: Terminate +On: 2011-09-09 21:14:11.370573 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 21:14:57.856204 ------------------ +On: 2011-09-09 21:14:57.877032 Event: try to Connect to Controller +On: 2011-09-09 21:14:59.130334 Event: init state +On: 2011-09-09 21:14:59.130571 Event: Register Account to SIP server +On: 2011-09-09 21:14:59.130983 Event: 100 +On: 2011-09-09 21:14:59.131066 Event: Caller Handler Ready +On: 2011-09-09 21:15:06.148501 Event: CALL START +On: 2011-09-09 21:15:06.148559 Event: Make a call to: 07612034661447 +On: 2011-09-09 21:15:08.884062 Event: Call Connecting +On: 2011-09-09 21:15:08.884111 Event: 200 +On: 2011-09-09 21:15:09.068798 Event: Terminate +On: 2011-09-09 21:15:09.068860 Event: Goodbye diff --git a/For Weekly Test/Advance/SIPHandler.py b/For Weekly Test/Advance/SIPHandler.py new file mode 100644 index 0000000..8802a09 --- /dev/null +++ b/For Weekly Test/Advance/SIPHandler.py @@ -0,0 +1,233 @@ +import sys +import string +import pjsua as pj +import ServerClass +import LogFileClass + +from time import sleep + +def log_cb(level, str, len): + print '\n' + print "--------starting Handler--------" + +# Receive events from incoming Call +class Account(pj.AccountCallback): + + def on_incoming_call(self, call): + global current_call + + current_call = call + call_cb = Calling(current_call) + current_call.set_callback(call_cb) + + logger.logEvent(current_call) + + call.answer(200) + logger.logEvent("Answer call") + + if current_call <> None: + logger.logEvent("Hangup call") + call.hangup() + + logger.logEvent('CALL OK') + +class Calling(pj.CallCallback): + + def __init__(self, call=None): + pj.CallCallback.__init__(self, call) + + def on_state(self): + global current_call + + if self.call.info().state <> pj.CallState.DISCONNECTED: + if self.call.info().state_text == "CONNECTING": + logger.logEvent("Call Connecting") + logger.logEvent('200') + server.sendData('CALL OK') + + if self.call.info().last_reason == "Busy Here": + logger.logEvent('Number busy or Offline') + server.sendData('CALL NOT OK') + logger.logEvent('CALL NOT OK') + + if self.call.info().state == pj.CallState.DISCONNECTED: + logger.logEvent('Call Disconnected') + current_call = None + + +def make_call(uri): + + try: + + cb=Calling() + return acc.make_call(uri, cb) + + except pj.Error, e: + print "408 " + str(e) + logger.logEvent('408') + return None + +def greeting(): + global server + global status + global port + + port = sys.argv[2] + server = None + status = None + + server = ServerClass.ServerHandler(port) + logger.logEvent('try to Connect to Controller') + conn = server.openSocket() + + if server.connected == 1: + if server.receiveData(30) == 'HELLO HANDLER': + server.sendData('HELLO CONTROLLER') + status = 'OK' + else: + status = 'NOT OK' + logger.logEvent('Cant connect to Controller') + sys.exit(1) + +def initLogFile(sipServer): + + global logger + + if sipServer == '132.230.4.8': + nameOfLogFile = 'SIP handler.log' + print '--SIP Asterisk--' + + elif sipServer == 'sipgate.de': + nameOfLogFile = 'Landline handler.log' + print '--Landline--' + + elif sipServer == '132.230.252.228': + nameOfLogFile = 'University SIP handler.log' + print '--university tephone network--' + + logger = LogFileClass.Logging(nameOfLogFile) + +def initState(): + global message + global state + global num + + logger.logEvent('init state') + message = server.receiveData(30) + + if message == 'RECEIVER': + state = 'RECEIVER' + + elif message[0:6] == 'CALLER': + state = 'CALLER' + num = message[7:] + +def initHandler(): + global sipServer + global username + global password + + + accConf = sys.argv[1] + username = accConf[0:accConf.find(':')] + + line = accConf[accConf.find(':')+1:] + password = line[0:line.find(':')] + + newLine = line[line.find(':')+1:] + sipServer = newLine[0:newLine.find(':')] + + +lib = pj.Lib() +stop = False + +initHandler() + +initLogFile(sipServer) + +logger.logEvent('') + +while stop <> True: + + acc_cfg = None + + lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb)) + transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0)) + + lib.start() + lib.set_null_snd_dev() + + greeting() + + + try: + initState() + acc_cfg = pj.AccountConfig(str(sipServer),str(username),str(password)) + logger.logEvent('Register Account to SIP server') + acc = lib.create_account(acc_cfg, cb=Account()) + + if acc.info().reg_status < 700: + + if state =='RECEIVER': + logger.logEvent(acc.info().reg_status) + server.sendData('RECEIVER READY') + logger.logEvent('Receiver Handler Ready') + + while 1: + + data = server.receiveData(1) + + if data == 'RECEIVE START': + logger.logEvent(data) + + if data == 'TERMINATE CONNECTION': + logger.logEvent('Terminate') + stop = True + break + + elif state =='CALLER': + logger.logEvent(acc.info().reg_status) + server.sendData('CALLER READY') + logger.logEvent('Caller Handler Ready') + + while 1: + + data = server.receiveData(1) + + if data == 'CALL START': + if num <> '': + sleep(3) + logger.logEvent(data) + logger.logEvent('Make a call to: ' + num) + number = "sip:"+num+"@"+sipServer + make_call(number) + else: + logger.logEvent('No number to call') + logger.logEvent('CALL NOT OK') + + if data == 'TERMINATE CONNECTION': + stop = True + logger.logEvent('Terminate') + break + + else: + logger.logEvent('Unknow Message') + server.sendData('Unknow Message') + server.closeConnection() + sys.exit(0.5) + + else: + logger.logEvent("488 Not Acceptable Here") + lib.destroy() + + except ValueError: + print "401 Unauthorized " + str(e) + logger.logEvent("401 Unauthorized ") + +logger.logEvent("Goodbye") +acc.delete() +lib.destroy() +server.closeConnection() +lib = None +acc = None + diff --git a/For Weekly Test/Advance/SSHTunnelBoxClass.py b/For Weekly Test/Advance/SSHTunnelBoxClass.py new file mode 100644 index 0000000..0447365 --- /dev/null +++ b/For Weekly Test/Advance/SSHTunnelBoxClass.py @@ -0,0 +1,45 @@ +#Here is a tutorial how to generate and copy your RSA SSH public key :) +#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/ +import subprocess +from time import sleep + +class SSHTunneling: + + def __init__(self, localPort, remotePort, remoteServer, username, password): + self.lPort = localPort + self.rPort = remotePort + self.rServer = remoteServer + + self.usern = username + self.passw = password + + self.__tunnelStarted = 0 + self.__sshTunnel = 1 + + def startTunneling(self): + if self.__tunnelStarted == 0: + command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort) + uad = self.usern + '@' + self.rServer + + try: + self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + #self.__sshTunnel = subprocess.Popen(['ssh','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + sleep(2) + self.__tunnelStarted = 1 + return 1 + except Exception, e: + print str(e) + return 0 + + def killTunneling(self): + if self.__tunnelStarted == 1: + try: + self.__sshTunnel.kill() + self.__tunnelStarted = 0 + return 1 + + except Exception, e: + print str(e) + return 0 + + diff --git a/For Weekly Test/Advance/SSHTunnelClass.py b/For Weekly Test/Advance/SSHTunnelClass.py new file mode 100644 index 0000000..12bedeb --- /dev/null +++ b/For Weekly Test/Advance/SSHTunnelClass.py @@ -0,0 +1,47 @@ +#Here is a tutorial how to generate and copy your RSA SSH public key :) +#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/ +import subprocess + +class SSHTunneling: + + def __init__(self, localPort, remotePort, remoteServer, username, password): + self.lPort = localPort + self.rPort = remotePort + self.rServer = remoteServer + + self.usern = username + self.passw = password + + self.__tunnelStarted = 0 + self.__sshTunnel = 1 + + def startTunneling(self): + if self.__tunnelStarted == 0: + command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort) + uad = self.usern + '@' + self.rServer + + try: + self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + self.__tunnelStarted = 1 + return 1 + except Exception, e: + print str(e) + return 0 + + def killTunneling(self): + if self.__tunnelStarted == 1: + try: + self.__sshTunnel.kill() + self.__tunnelStarted = 0 + return 1 + + except Exception, e: + print str(e) + return 0 + +x = SSHTunneling(50000, 50008, '10.4.58.241', 'lsfks', 'r') +print x.startTunneling() +print 'Tunnel started ' +sleep(50) +print x.killTunneling() +print 'kill tunnel' diff --git a/For Weekly Test/Advance/ServerClass.py b/For Weekly Test/Advance/ServerClass.py new file mode 100644 index 0000000..93c2f8e --- /dev/null +++ b/For Weekly Test/Advance/ServerClass.py @@ -0,0 +1,152 @@ +import socket +import sys +import os +import string +import signal + +class TimeoutException(Exception): + pass + +class ServerHandler: + + def __init__(self,p): + self.port = p + self.host = None #symbolic name meaning all available interfaces + self.s = None + self.connected = 0 + self.address = "127.0.0.1" #address of the main controller + self.onceConnected = 0 + self.error = 'No error' + + self.debugMode = 0 + + def openSocket(self): + self.error = 'No error' + for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, + socket.SOCK_STREAM, 0, socket.AI_PASSIVE): + af, socktype, proto, canonname, sa = res + + try: + self.s = socket.socket(af, socktype, proto) + self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets + except socket.error, msg: + self.s = None + self.connected = 0 + self.error = str(msg) + continue + + try: + self.s.bind(sa) + self.s.listen(1) + except socket.error, msg: + self.s.close() + self.s = None + self.connected = 0 + self.error = str(msg) + continue + break + + if self.s is None: + self.connected = 0 + return 0 + else: #accept the connection + self.connection, self.address = self.s.accept() + self.connected = 1 + self.onceConnected = 1 + return 1 + + def connectedTo(self): + return self.address + + def receiveData(self, timeout): + if self.connected == 1: + + def timeout_handler(signum, frame): + raise TimeoutException() + + try: + + old_handler = signal.signal(signal.SIGALRM, timeout_handler) + signal.alarm(timeout) #start the timeout alarm, for timeout seconds + + data = self.connection.recv(1024) + + #stop the timeout function + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + + if not data: + self.connected = 0 + return 'NO DATA' + else: + return data + + except TimeoutException: + #timeout happened + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + return 'TIMEOUT' + + except Exception, e: + #stop the timeout timer + signal.signal(signal.SIGALRM, old_handler) + signal.alarm(0) + + if self.debugMode == 1: + import traceback + print traceback.format_exc() + print e + self.connected = 0 + if error[0:11] == '[Errno 104]': + return 3 #the other side reset the connection,[Errno 104] Connection reset by peer + + return 2 + else: + return 0 + + def sendData(self, data): + if self.connected == 1: + try: + self.connection.send(data) + return 1 + + except Exception, e: + if self.debugMode == 1: + import traceback + print traceback.format_exc() + print e + self.connecected = 0 + return 2 + else: + return 0 + + def closeConnection(self): + if self.onceConnected == 1: + try: + self.connected = 0 + SHUT_RDWR = 2 + self.connection.shutdown(SHUT_RDWR) + self.connection.close() + return 1 + except Exception, e: + self.connected = 0 + error = str(e) + if self.debugMode == 1: + import traceback + print traceback.format_exc() + print e + if error[0:11] == '[Errno 107]': + return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected + return 2 + else: + return 0 + + def killPort(self): + killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read() + killResult = killResult.replace('\n','') + print killResult + if killResult!='': + print killResult + killPort = os.popen("kill -9 " + killResult).read() + return 1 + return 0 diff --git a/For Weekly Test/Advance/ServerClass.pyc b/For Weekly Test/Advance/ServerClass.pyc new file mode 100644 index 0000000..ca11fb5 Binary files /dev/null and b/For Weekly Test/Advance/ServerClass.pyc differ diff --git a/For Weekly Test/Advance/University SIP handler.log b/For Weekly Test/Advance/University SIP handler.log new file mode 100644 index 0000000..719aa51 --- /dev/null +++ b/For Weekly Test/Advance/University SIP handler.log @@ -0,0 +1,184 @@ + + +------------------STARTED THE LOGGING 2011-09-02 13:04:32.304692 ------------------ +On: 2011-09-02 13:04:32.326564 Event: try to Connect to Controller +On: 2011-09-02 13:04:33.594674 Event: init state +On: 2011-09-02 13:04:33.594893 Event: Register Account to SIP server +On: 2011-09-02 13:04:33.595281 Event: 100 +On: 2011-09-02 13:04:33.595360 Event: Receiver Handler Ready +On: 2011-09-02 13:04:33.595726 Event: RECEIVE START + + +------------------STARTED THE LOGGING 2011-09-02 13:09:15.977494 ------------------ +On: 2011-09-02 13:09:15.998474 Event: try to Connect to Controller +On: 2011-09-02 13:09:17.258282 Event: init state +On: 2011-09-02 13:09:17.258513 Event: Register Account to SIP server +On: 2011-09-02 13:09:17.258914 Event: 100 +On: 2011-09-02 13:09:17.258990 Event: Receiver Handler Ready +On: 2011-09-02 13:09:17.259293 Event: RECEIVE START +On: 2011-09-02 13:09:20.302293 Event: {Call "mpselftest1" } +On: 2011-09-02 13:09:20.302735 Event: Call Connecting +On: 2011-09-02 13:09:20.302771 Event: 200 +On: 2011-09-02 13:09:20.302916 Event: Answer call +On: 2011-09-02 13:09:20.302948 Event: Hangup call +On: 2011-09-02 13:09:20.303101 Event: CALL OK +On: 2011-09-02 13:09:20.318751 Event: Terminate +On: 2011-09-02 13:09:20.318809 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-02 13:15:53.384248 ------------------ +On: 2011-09-02 13:15:53.404888 Event: try to Connect to Controller +On: 2011-09-02 13:15:54.645917 Event: init state +On: 2011-09-02 13:15:54.646162 Event: Register Account to SIP server +On: 2011-09-02 13:15:54.646926 Event: 100 +On: 2011-09-02 13:15:54.647006 Event: Receiver Handler Ready +On: 2011-09-02 13:15:54.647317 Event: RECEIVE START +On: 2011-09-02 13:15:57.703829 Event: {Call "mpselftest1" } +On: 2011-09-02 13:15:57.704282 Event: Call Connecting +On: 2011-09-02 13:15:57.704321 Event: 200 +On: 2011-09-02 13:15:57.704467 Event: Answer call +On: 2011-09-02 13:15:57.704499 Event: Hangup call +On: 2011-09-02 13:15:57.704653 Event: CALL OK +On: 2011-09-02 13:15:57.762627 Event: Terminate +On: 2011-09-02 13:15:57.762682 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:04:29.084275 ------------------ +On: 2011-09-09 12:04:29.105612 Event: try to Connect to Controller +On: 2011-09-09 12:04:30.392727 Event: init state +On: 2011-09-09 12:04:30.392956 Event: Register Account to SIP server +On: 2011-09-09 12:04:30.393369 Event: 100 +On: 2011-09-09 12:04:30.393492 Event: Receiver Handler Ready +On: 2011-09-09 12:04:30.393794 Event: RECEIVE START +On: 2011-09-09 12:04:33.406739 Event: {Call "mpselftest1" } +On: 2011-09-09 12:04:33.407190 Event: Call Connecting +On: 2011-09-09 12:04:33.407228 Event: 200 +On: 2011-09-09 12:04:33.407372 Event: Answer call +On: 2011-09-09 12:04:33.407404 Event: Hangup call +On: 2011-09-09 12:04:33.407554 Event: CALL OK +On: 2011-09-09 12:04:33.442980 Event: Terminate +On: 2011-09-09 12:04:33.443020 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:46:21.313738 ------------------ +On: 2011-09-09 12:46:21.334312 Event: try to Connect to Controller +On: 2011-09-09 12:46:22.544750 Event: init state +On: 2011-09-09 12:46:22.544990 Event: Register Account to SIP server +On: 2011-09-09 12:46:22.545449 Event: 100 +On: 2011-09-09 12:46:22.545533 Event: Receiver Handler Ready +On: 2011-09-09 12:46:22.545841 Event: RECEIVE START +On: 2011-09-09 12:46:25.582830 Event: {Call "mpselftest1" } +On: 2011-09-09 12:46:25.583290 Event: Call Connecting +On: 2011-09-09 12:46:25.583330 Event: 200 +On: 2011-09-09 12:46:25.583479 Event: Answer call +On: 2011-09-09 12:46:25.583511 Event: Hangup call +On: 2011-09-09 12:46:25.583669 Event: CALL OK +On: 2011-09-09 12:46:25.621186 Event: Terminate +On: 2011-09-09 12:46:25.621244 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:49:48.195086 ------------------ +On: 2011-09-09 12:49:48.215338 Event: try to Connect to Controller +On: 2011-09-09 12:49:49.490355 Event: init state +On: 2011-09-09 12:49:49.490592 Event: Register Account to SIP server +On: 2011-09-09 12:49:49.491014 Event: 100 +On: 2011-09-09 12:49:49.491099 Event: Receiver Handler Ready +On: 2011-09-09 12:49:49.491411 Event: RECEIVE START +On: 2011-09-09 12:49:52.517371 Event: {Call "mpselftest1" } +On: 2011-09-09 12:49:52.517908 Event: Call Connecting +On: 2011-09-09 12:49:52.517951 Event: 200 +On: 2011-09-09 12:49:52.518098 Event: Answer call +On: 2011-09-09 12:49:52.518129 Event: Hangup call +On: 2011-09-09 12:49:52.518284 Event: CALL OK +On: 2011-09-09 12:49:52.570535 Event: Terminate +On: 2011-09-09 12:49:52.570596 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 12:50:14.891424 ------------------ +On: 2011-09-09 12:50:14.936914 Event: try to Connect to Controller +On: 2011-09-09 12:50:16.124750 Event: init state +On: 2011-09-09 12:50:16.124983 Event: Register Account to SIP server +On: 2011-09-09 12:50:16.125436 Event: 100 +On: 2011-09-09 12:50:16.125523 Event: Receiver Handler Ready +On: 2011-09-09 12:50:16.129709 Event: RECEIVE START +On: 2011-09-09 12:50:18.370496 Event: {Call "RZ-GSM" } +On: 2011-09-09 12:50:18.370955 Event: Call Connecting +On: 2011-09-09 12:50:18.370992 Event: 200 +On: 2011-09-09 12:50:18.371140 Event: Answer call +On: 2011-09-09 12:50:18.371172 Event: Hangup call +On: 2011-09-09 12:50:18.371328 Event: CALL OK +On: 2011-09-09 12:50:18.472220 Event: Call Disconnected +On: 2011-09-09 12:50:19.921802 Event: Terminate +On: 2011-09-09 12:50:19.921842 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:07:32.278782 ------------------ +On: 2011-09-09 13:07:32.299423 Event: try to Connect to Controller +On: 2011-09-09 13:07:33.590429 Event: init state +On: 2011-09-09 13:07:33.590655 Event: Register Account to SIP server +On: 2011-09-09 13:07:33.591069 Event: 100 +On: 2011-09-09 13:07:33.591151 Event: Receiver Handler Ready +On: 2011-09-09 13:07:33.591458 Event: RECEIVE START +On: 2011-09-09 13:07:36.649672 Event: {Call "mpselftest1" } +On: 2011-09-09 13:07:36.650122 Event: Call Connecting +On: 2011-09-09 13:07:36.650161 Event: 200 +On: 2011-09-09 13:07:36.650309 Event: Answer call +On: 2011-09-09 13:07:36.650340 Event: Hangup call +On: 2011-09-09 13:07:36.650497 Event: CALL OK +On: 2011-09-09 13:07:36.678333 Event: Terminate +On: 2011-09-09 13:07:36.678394 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 13:08:00.165614 ------------------ +On: 2011-09-09 13:08:00.186025 Event: try to Connect to Controller +On: 2011-09-09 13:08:01.398081 Event: init state +On: 2011-09-09 13:08:01.398313 Event: Register Account to SIP server +On: 2011-09-09 13:08:01.398714 Event: 100 +On: 2011-09-09 13:08:01.398800 Event: Receiver Handler Ready +On: 2011-09-09 13:08:01.401705 Event: RECEIVE START +On: 2011-09-09 13:08:03.207171 Event: {Call "RZ-GSM" } +On: 2011-09-09 13:08:03.207631 Event: Call Connecting +On: 2011-09-09 13:08:03.207667 Event: 200 +On: 2011-09-09 13:08:03.207816 Event: Answer call +On: 2011-09-09 13:08:03.207847 Event: Hangup call +On: 2011-09-09 13:08:03.208004 Event: CALL OK +On: 2011-09-09 13:08:03.309111 Event: Call Disconnected +On: 2011-09-09 13:08:04.657806 Event: Terminate +On: 2011-09-09 13:08:04.657845 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 16:28:02.715191 ------------------ +On: 2011-09-09 16:28:02.735656 Event: try to Connect to Controller +On: 2011-09-09 16:28:04.050616 Event: init state +On: 2011-09-09 16:28:04.050846 Event: Register Account to SIP server +On: 2011-09-09 16:28:04.051267 Event: 100 +On: 2011-09-09 16:28:04.051354 Event: Receiver Handler Ready +On: 2011-09-09 16:28:04.051668 Event: RECEIVE START +On: 2011-09-09 16:28:07.090304 Event: {Call "mpselftest1" } +On: 2011-09-09 16:28:07.090768 Event: Call Connecting +On: 2011-09-09 16:28:07.090805 Event: 200 +On: 2011-09-09 16:28:07.090952 Event: Answer call +On: 2011-09-09 16:28:07.090983 Event: Hangup call +On: 2011-09-09 16:28:07.091140 Event: CALL OK +On: 2011-09-09 16:28:07.103922 Event: Terminate +On: 2011-09-09 16:28:07.103986 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 21:08:01.714588 ------------------ +On: 2011-09-09 21:08:01.735512 Event: try to Connect to Controller +On: 2011-09-09 21:08:02.981051 Event: init state +On: 2011-09-09 21:08:02.981281 Event: Register Account to SIP server +On: 2011-09-09 21:08:02.981731 Event: 100 +On: 2011-09-09 21:08:02.981817 Event: Caller Handler Ready +On: 2011-09-09 21:08:04.986563 Event: Terminate +On: 2011-09-09 21:08:04.986601 Event: Goodbye + + +------------------STARTED THE LOGGING 2011-09-09 21:08:54.198907 ------------------ +On: 2011-09-09 21:08:54.219863 Event: try to Connect to Controller +On: 2011-09-09 21:08:55.451295 Event: init state +On: 2011-09-09 21:08:55.451563 Event: Register Account to SIP server +On: 2011-09-09 21:08:55.451977 Event: 100 +On: 2011-09-09 21:08:55.452058 Event: Caller Handler Ready +On: 2011-09-09 21:08:57.466097 Event: Terminate +On: 2011-09-09 21:08:57.466137 Event: Goodbye diff --git a/For Weekly Test/Advance/gsmselftest.py b/For Weekly Test/Advance/gsmselftest.py new file mode 100644 index 0000000..3e47018 --- /dev/null +++ b/For Weekly Test/Advance/gsmselftest.py @@ -0,0 +1,382 @@ +#! /usr/bin/env python +from serial import * #serial port library +import sys +import ControllerClass +import DbClass +import PingClass +import trueTableClass +import initTestClass +import usbDetectClass +from time import sleep + +global resultsList +resultsList = list() + +GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']] + + +def allPing(): + + global sipGate + global sipServer + global unisip + global gsmBox1 + global gsmBox2 + + server = PingClass.Ping('sipgate.de') + sipGate = server.ping(1) + + server = PingClass.Ping('132.230.4.8') + sipServer = server.ping(1) + + server = PingClass.Ping('132.230.252.228') + unisip = server.ping(1) + + server = PingClass.Ping('localhost') + gsmBox1 = server.ping(1) + + server = PingClass.Ping('10.4.58.241') + gsmBox2 = server.ping(1) + +def initDB(): + global dbStatus + global db + + db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting') + db.connectDB() + dbStatus = db.connectDB() + + +def initTrueTable(x): + initResult = trueTableClass.trueTable(x) + initResult.initTrueTable() + print '\n' + if initResult.o2Card == False and initResult.eplusCard == False and initResult.vodaCard == False and initResult.tmobileCard == False: + print 'GSM BOX Modem down' + else: + if initResult.o2Card == False: + print "O2 card indicate having problem" + if initResult.eplusCard == False: + print "eplus card indicate having problem" + if initResult.vodaCard == False: + print "vodaphone card indicate having problem" + if initResult.tmobileCard == False: + print "T-Mobile card indicate having problem" + print '\n' + + if initResult.nanoBTS1 == True or initResult.nanoBTS2 == True or initResult.nanoBTS3 == True: + print 'openBSC working' + + if initResult.nanoBTS1 == False and initResult.nanoBTS2 == False and initResult.nanoBTS3 == False: + print 'openBSC down' + else: + if initResult.nanoBTS1 == False: + print "nanoBTS 1 indicate having problem" + if initResult.nanoBTS2 == False: + print "nanoBTS 2 indicate having problem" + if initResult.nanoBTS3 == False: + print "nanoBTS 3 indicate having problem" + + if initResult.outgoingLandline == False: + print 'outgoing call to outside network having problem' + print '\n' + + if initResult.asteriskServer == False: + print "Asterisk server indicate having problem" + elif initResult.asteriskServer == True: + print 'Asterisk server working good' + print '\n' + +def doSipTest(): + + destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ] + doTest = initTestClass.doTest() + for callTo in destList: + + callFrom = 'sip' + doTest.initTest(callFrom,callTo) + resultsList.append([callFrom, callTo, doTest.result]) + +def doLandlineTest(): + + destList = ['GSMRZ1','unisip', 'sip'] + doTest = initTestClass.doTest() + for callTo in destList: + + callFrom = 'landline' + doTest.initTest(callFrom,callTo) + resultsList.append([callFrom, callTo, doTest.result]) + initTrueTable(resultsList) + +def doGsmrzTest(): + + destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3'] + callList = ['sip'] + doTest = initTestClass.doTest() + + for callFrom in callList: + + for callTo in destList: + doTest.initTest(callFrom,callTo) + resultsList.append([callFrom, callTo, doTest.result]) + initTrueTable(resultsList) + +def doGsmExtTest(): + + destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm'] + callList = ['sip'] + + doTest = initTestClass.doTest() + + for callFrom in callList: + for callTo in destList: + doTest.initTest(callFrom,callTo) + resultsList.append([callFrom, callTo, doTest.result]) + initTrueTable(resultsList) + +def doAllTest(): + + doSipTest() + doLandlineTest() + doGsmrzTest() + doGsmExtTest() + +def regularTest(): + regulartest = initTestClass.doTest() + regulartest.smartTest() + initTrueTable(regulartest.smartResultList) + +def findPort(portName): + global connect + global prefix + global num + global IMEI + global portClass + sleep(0.5) + portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read() + sleep(0.5) + if portLog != '': + connect = 1 + portClass = usbDetectClass.serialPort(portName) + portClass.findNumber() + portClass.findIMEI() + IMEI = portClass.IMEI + num = portClass.number + number = portClass.number + prefix = number[0:4] + else: + connect = 0 + +def initDevice(deviceName): + print 'Device Name :',deviceName + print ' Device IMEI : ', + imei = sys.stdin.readline().rstrip("\r\n") + print 'Phone number : ', + number = sys.stdin.readline().rstrip("\r\n") + print 'Port Name : /dev/', + portName = sys.stdin.readline().rstrip("\r\n") + print '' + + if deviceName == 'GSMRZ2' or deviceName == 'GSMRZ2': + if number =='': + print ' == cant save device configuration, number missing ==' + else: + portClass.initUpdate(deviceName, portName, number) + else: + if imei == '' or portName == '': + print ' == cant save device configuration, please fill IMEI / port name of the device ==' + else: + findPort(portName) + if connect == 1: + if str(IMEI) != str(imei) and str(num) != str(number): + print '== error, device not found ==' + elif str(IMEI) == str(imei): + portClass.initUpdate(deviceName, portName, number) + print '== Device succeced added ==' + elif str(num) == str(number) and str(IMEI) != str(imei): + portClass.initUpdate(deviceName, portName, number) + print '== Device succeced added, but have different IMEI ==' + else: + print '== error, no device connected ==' + + +def updateDevice(): + quit = False + while quit != True: + print '' + print "Mobile device configuration" + print "Menu: s = automatic device configuration, m = Manual configuration, q = quit : ", + input = sys.stdin.readline().rstrip("\r\n") + print '' + if input == 'm': + + while True: + print '' + print "Mobile device name: " + print " 1. GSM O2" + print " 2. GSM Vodafone" + print " 3. GSM Eplus" + print " 4. GSM T-Mobile" + print " 5. GSM RZ 1" + print " 6. GSM RZ 2" + print " 7. GSM RZ 3" + print " 8. Back to menu" + print "" + print "you choise : ", + input = sys.stdin.readline().rstrip("\r\n") + + if input == '8': + break + elif input == '1': + initDevice('GSMExt.O2') + elif input == '2': + initDevice('GSMExt.Voda') + elif input == '3': + initDevice('GSMExt.Eplus') + elif input == '4': + initDevice('GSMExt.Tm') + elif input == '5': + initDevice('GSMRZ1') + elif input == '6': + initDevice('GSMRZ2') + elif input == '7': + initDevice('GSMRZ3') + else: + print 'please choose between 1-8' + if input == 's': + i = 0 + x = 0 + while i !=10: + portName ='ttyUSB'+str(i) + findPort(portName) + i=i+1 + if connect == 1: + for listNum in GSMListPrefix: + if prefix == listNum[1]: + print 'Device Name :',listNum[0] + print 'IMEI :',IMEI + print 'Phone Number :',num + print 'Port Name : /dev/'+portName + x=x+1 + newPortName = '/dev/'+portName + portClass.initUpdate(listNum[0], newPortName, num) + print '\n' + + print '== FINISH ==' + print 'Found '+str(x)+' devices' + + if input == "q": + break + sys.exit() + +if len(sys.argv) > 1: + + command = sys.argv[1] + print ' ' + + if command == '--all': + resultsList = list() + doAllTest() + + elif command == '--sip': + resultsList = list() + doSipTest() + + elif command == '--gsmrz': + resultsList = list() + doGsmrzTest() + + elif command == '--gsmext': + resultsList = list() + doGsmExtTest() + + elif command == '--landline': + resultsList = list() + doLandlineTest() + + elif command == '--smart': + resultsList = list() + regularTest() + + elif command == '--devconf': + updateDevice() + + elif command == '--help': + file = open('help.txt', 'r') + print file.read() + + else: + print "command not found, Type '--help', '--credits' for more information." + print '\n' +else: + + initDB() + resultsList = list() + if dbStatus == 1: + + if db.anyTasksToDo() == 1: + + #allPing() + i=0 + makeTest = initTestClass.doTest() + for item in db.tasksList: + + taskID = item[0] + taskNo = item[1] + callFrom = item[2] + callTo = item[3] + + #if i == 0: + #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2) + print '\n' + print 'Task ID :', taskID + print 'Calling From :', callFrom + print 'To :', callTo + + + makeTest.initTest(callFrom,callTo) + + db.addResult(taskID, makeTest.result) + + resultsList.append([callFrom, callTo, makeTest.result]) + + db.errorCode(makeTest.result) + print 'Result : ' +makeTest.result+ ' ' +db.errCode + + db.deleteTempTask(taskID) + i = i+1 + + db.cleanTasksList() + + + print '\n' + initTrueTable(resultsList) # fetch result list and make adjustment about the result + else: + print "--- No job at all ---" + else: + sys.exit(1) + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/For Weekly Test/Advance/help.txt b/For Weekly Test/Advance/help.txt new file mode 100644 index 0000000..5a9062e --- /dev/null +++ b/For Weekly Test/Advance/help.txt @@ -0,0 +1,15 @@ + + +Usage: python gsmselftest.py [option] + +Options and arguments (and corresponding environment variables): + +--all : To execute all test case +--sip : To execute ALL test case +--gsmrz : To check whether GSM RZ network having problem or not +--gsmext : To check whether GSM BOX modem having problem or not +--landline : To check incoming call from Landline +--smart : To test only important point in the network and identify which part having problem. +--devconf : To configuration USB device + + example : gsmselftest.py --devconf diff --git a/For Weekly Test/Advance/initTestClass.py b/For Weekly Test/Advance/initTestClass.py new file mode 100644 index 0000000..8552e20 --- /dev/null +++ b/For Weekly Test/Advance/initTestClass.py @@ -0,0 +1,147 @@ +import sys +import ControllerClass +import DbClass +import PingClass +import random +from time import sleep + +class doTest: + + def ping(self,handler): + + if handler == 'landline': + server = PingClass.Ping('sipgate.de') + self.serverStatus = server.ping(2) + + elif handler == 'sip': + server = PingClass.Ping('132.230.4.8') + self.serverStatus = server.ping(2) + + elif handler == 'unisip': + server = PingClass.Ping('132.230.252.228') + self.serverStatus = server.ping(2) + + elif handler == 'GSMRZ3': + server = PingClass.Ping('localhost') + self.serverStatus = server.ping(2) + + elif handler == 'GSMRZ2': + server = PingClass.Ping('10.4.58.241') + self.serverStatus = server.ping(2) + else: + self.serverStatus = 1 + + + def initDB(self): + + self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting') + self.db.connectDB() + self.dbStatus = self.db.connectDB() + + def initaccount(self,account,handler): + if handler == 'sip' or handler == 'unisip' or handler == 'landline': + if account[1] != '' or account[2] != '' or account[3] != '' or account[4] != '': # checking available sip account, is there enough information about the account such as username, password,server + self.status = 1 + else: + self.status = 0 + else: + if account[0] != '' or account[1] != '': + self.status = 1 + else: + self.status = 0 + + def initTest(self, callFrom, callTo): + + self.initDB() + + if self.dbStatus != 0: + + self.ping(callFrom) + if self.serverStatus <> 0: + self.ping(callTo) + if self.serverStatus <> 0: + + dest = self.db.deviceAddress(str(callTo)) + caller = self.db.deviceAddress(str(callFrom)) + + self.initaccount(caller,callFrom) + if self.status == 1: + self.initaccount(dest,callTo) + if self.status == 1: + callPortName = caller[0] + accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':' + + destPortName = dest[0] + destNo = dest[1] + accDest = dest[2]+':'+dest[3]+':'+dest[4]+':' + + makeTest = ControllerClass.doTheTest(callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest) + makeTest.FuncTest() + self.result = str(makeTest.testResult) + else: + self.result = 100 + else: + self.result = 100 + + sleep(5) + else: + self.result = 500 + else: + self.result = 500 + + else: + self.result = 333 + + return self.result + + def isThere(keyword,lists): + x = 0 + for item in lists: + + if item == keyword: + return 1 + else: + x = x+1 + + def smartTest(self): + global handlerError + smartResultList = list() + testPendingList = list() + #callerList = ['sip'] + destList = ['GSMRZ1','GSMRZ2','GSMRZ3','GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm'] + gsmList = ['GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm'] + gsmRZList = ['GSMRZ1','GSMRZ2','GSMRZ3'] + + i = random.randint(0, len(gsmRZList)-1) + callTo = gsmRZList[i] + self.initTest('unisip',callTo) + gsmRZList.remove(callTo) + destList.remove(callTo) + openBSC = self.result + self.smartResultList.append(['unisip', callTo, self.result]) + + if openBSC == 200: + for callFrom in gsmRZList: + i = random.randint(3, len(destList)-1) # need to check wheter the caller and dest is same + callTo = destList[i] + self.initTest(callFrom,callTo) + destList.remove(callTo) + self.smartResultList.append([callFrom, callTo, self.result]) + + i = random.randint(0, len(gsmRZList)-1) # + callTo = gsmRZList[i] + self.initTest('landline',callTo) + gsmRZList.remove(callTo) + destList.remove(callTo) + self.smartResultList.append(['landline', callTo, self.result]) + + for callTo in destList: + callFrom = 'sip' + self.initTest(callFrom,callTo) + self.smartResultList.append([callFrom, callTo, self.result]) + + return self.smartResultList + + + + diff --git a/For Weekly Test/Advance/initTestClass.pyc b/For Weekly Test/Advance/initTestClass.pyc new file mode 100644 index 0000000..0a34a8c Binary files /dev/null and b/For Weekly Test/Advance/initTestClass.pyc differ diff --git a/For Weekly Test/Advance/sshtest.py b/For Weekly Test/Advance/sshtest.py new file mode 100644 index 0000000..f18139e --- /dev/null +++ b/For Weekly Test/Advance/sshtest.py @@ -0,0 +1,15 @@ +import sys +import os +import subprocess +import SSHTunnelBox1Class +import SSHTunnelBox2Class +import ClientClass +from time import sleep + +portDest = 46000#should be 9 +box2 = SSHTunnelBox2Class.SSHTunneling(portDest, 50008, '132.230.4.67', 'lsfks', 'r')#ip?? +print box2.startTunneling() +#sleep(2) +receiver = ClientClass.Connection('localhost', portDest) +print receiver.connect() +box2.killTunneling() diff --git a/For Weekly Test/Advance/trueTableClass.py b/For Weekly Test/Advance/trueTableClass.py new file mode 100644 index 0000000..0409527 --- /dev/null +++ b/For Weekly Test/Advance/trueTableClass.py @@ -0,0 +1,198 @@ + +class trueTable: + def __init__(self, resultsList): + + self.resultsList = resultsList + self.nanoBTS1 = None + self.nanoBTS2 = None + self.nanoBTS3 = None + self.o2Card = None + self.eplusCard = None + self.vodaCard = None + self.tmobileCard = None + self.outgoingLandline = None + self.asteriskServer = None + + def initTrueTable(self): + + + for x in self.resultsList: + + destination = x[1] + result = x[2] + caller = x[0] + + if destination == 'GSMRZ1': + if result =='486': + self.nanoBTS1 = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMRZ1': + if result == '200': + self.nanoBTS1 = True + self.asteriskServer = True + + if destination == 'GSMRZ1': + if result == '200': + self.nanoBTS1 = True + self.asteriskServer = True + elif result =='200': + self.nanoBTS1 = True + self.asteriskServer = True + + elif destination == 'GSMRZ2': + if result =='486': + self.nanoBTS2 = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMRZ2': + if result == '200': + self.nanoBTS2 = True + self.asteriskServer = True + + if destination == 'GSMRZ2': + if result == '200': + self.nanoBTS2 = True + self.asteriskServer = True + elif result =='200': + self.nanoBTS2 = True + self.asteriskServer = True + + elif destination == 'GSMRZ3': + if result =='486': + self.nanoBTS3 = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMRZ3': + if result == '200': + self.nanoBTS3 = True + self.asteriskServer = True + + if destination == 'GSMRZ2': + if result == '200': + self.nanoBTS3 = True + self.asteriskServer = True + elif result =='200': + self.nanoBTS3 = True + self.asteriskServer = True + + elif destination == 'GSMExt.O2': + if result =='486': + self.o2Card = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMExt.O2': + if result == '200': + self.o2Card = True + self.asteriskServer = True + + if destination == 'GSMExt.O2': + if result == '200': + self.o2Card = True + self.asteriskServer = True + elif result =='200': + self.o2Card = True + self.asteriskServer = True + + elif destination == 'GSMExt.Voda': + if result =='486': + self.vodaCard = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMExt.Voda': + if result == '200': + self.vodaCard = True + self.asteriskServer = True + + if destination == 'GSMExt.Voda': + if result == '200': + self.vodaCard = True + self.asteriskServer = True + elif result =='200': + self.vodaCard = True + self.asteriskServer = True + + elif destination == 'GSMExt.Eplus': + if result =='486': + self.eplusCard = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMExt.Eplus': + if result == '200': + self.eplusCard = True + self.asteriskServer = True + + if destination == 'GSMExt.Eplus': + if result == '200': + self.eplusCard = True + self.asteriskServer = True + elif result =='200': + self.eplusCard = True + self.asteriskServer = True + + elif destination == 'GSMExt.Tm': + if result =='486': + self.tmobileCard = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'GSMExt.Tm': + if result == '200': + self.tmobileCard = True + self.asteriskServer = True + + if destination == 'GSMExt.Tm': + if result == '200': + self.tmobileCard = True + self.asteriskServer = True + elif result =='200': + self.tmobileCard = True + self.asteriskServer = True + + elif destination == 'sip': + if result =='486': + self.asteriskServer = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if call == 'sip': + if result == '200': + self.asteriskServer = True + + if destination == 'sip': + if result == '200': + self.asteriskServer = True + + elif result =='200': + self.asteriskServer = True + + if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3': + + if destination == 'landline': + if result =='486': + self.outgoingLandline = False + for y in self.resultsList: + call = y[0] + destination = y[1] + result = y[2] + if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3': + if destination == 'landline': + if result == '200': + self.outgoingLandline = True + self.asteriskServer = True + + diff --git a/For Weekly Test/Advance/trueTableClass.pyc b/For Weekly Test/Advance/trueTableClass.pyc new file mode 100644 index 0000000..9255949 Binary files /dev/null and b/For Weekly Test/Advance/trueTableClass.pyc differ diff --git a/For Weekly Test/Advance/usbDetectClass.py b/For Weekly Test/Advance/usbDetectClass.py new file mode 100644 index 0000000..19ed52b --- /dev/null +++ b/For Weekly Test/Advance/usbDetectClass.py @@ -0,0 +1,88 @@ +from serial import * #serial port library +import sys +from time import sleep +import DbClass + + +class serialPort: + + def __init__(self, portAddress): + self.portAddress = portAddress + self.portExist = 0 + self.IMEI = 'IME not found' + self.number = 'number not found' + self.updateStatus = None + + def initDB(self): + self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting') + self.db.connectDB() + self.dbStatus = self.db.connectDB() + + def initUpdate(self, deviceName, newPortName, newNumber): + self.initDB() + + if self.dbStatus != 0: + self.db.updateGSMDevice(deviceName, newPortName, newNumber) + else: + print 'No connection to database' + + def portInit(self): + self.portExist = 0 + try: + self.ser = Serial( + port='/dev/'+self.portAddress, + baudrate=19200, + bytesize=EIGHTBITS, + parity=PARITY_NONE, + stopbits=STOPBITS_ONE) + self.ser.open() + self.ser.isOpen() + self.portExist = 1 + + except Exception, e: + print 'error' + return 0 + + def isInteger(self, x): + try: + int(x) + return True + except: + return False + + def findIMEI(self): + self.portInit() + if self.portExist == 1: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('AT+GSN\r') + sleep(0.5) + self.ser.write('AT+GSN\r') + result = self.ser.read(25) + self.IMEI = result[result.find('3'):15+result.find('3')] + + else: + self.IMEI = 'port not found' + return 0 + def findNumber(self): + self.portInit() + + if self.portExist == 1: + self.ser.flushInput() #clean the input buffer for serial port + self.ser.write('AT+CNUM\r') + sleep(0.5) + readNum = self.ser.read(35) + + self.ser.close() + firstQuote = readNum.find('"') + cutString = readNum [firstQuote:] + secondQuote = cutString.find(',') + number = cutString[1:secondQuote-1] + + if number != '': + self.number = number + else: + self.number = 'number not found' + + else: + self.number = 'port not found' + return 0 diff --git a/For Weekly Test/Advance/usbDetectClass.pyc b/For Weekly Test/Advance/usbDetectClass.pyc new file mode 100644 index 0000000..4cffa13 Binary files /dev/null and b/For Weekly Test/Advance/usbDetectClass.pyc differ -- cgit v1.2.3-55-g7522