summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Controller/Controller.py129
-rw-r--r--Controller/ControllerClass.py177
-rw-r--r--Controller/classController.py222
-rwxr-xr-xController/gsmselftest.py271
-rw-r--r--Database/ErrorCodeTable.sql46
-rw-r--r--For Weekly Test/30-07-2011/Controller.py76
-rw-r--r--For Weekly Test/30-07-2011/ControllerClass.py138
-rw-r--r--For Weekly Test/30-07-2011/ControllerClass.pycbin5839 -> 6918 bytes
-rw-r--r--For Weekly Test/30-07-2011/DbClass.py8
-rw-r--r--For Weekly Test/30-07-2011/DbClass.pycbin0 -> 7589 bytes
-rw-r--r--For Weekly Test/30-07-2011/DeviceAddress.txt9
-rw-r--r--For Weekly Test/30-07-2011/DeviceAddressClass.py37
-rw-r--r--For Weekly Test/30-07-2011/DeviceAddressClass.pycbin0 -> 1211 bytes
-rw-r--r--For Weekly Test/30-07-2011/GSM O2 handler.log40
-rw-r--r--For Weekly Test/30-07-2011/GSMClass.py304
-rw-r--r--For Weekly Test/30-07-2011/GSMClass.pycbin0 -> 7176 bytes
-rw-r--r--For Weekly Test/30-07-2011/GSMHandler.py285
-rw-r--r--For Weekly Test/30-07-2011/SIP handler.log90
-rw-r--r--For Weekly Test/30-07-2011/SIPHandler.py (renamed from For Weekly Test/30-07-2011/sipHandler2.py)24
-rw-r--r--For Weekly Test/30-07-2011/classCheck.py28
-rw-r--r--For Weekly Test/30-07-2011/classCheck.pycbin1093 -> 0 bytes
-rw-r--r--For Weekly Test/30-07-2011/classController.log164
-rw-r--r--For Weekly Test/30-07-2011/client.py16
-rwxr-xr-xFor Weekly Test/30-07-2011/gsmselftest.py271
-rw-r--r--For Weekly Test/30-07-2011/help.txt11
-rw-r--r--For Weekly Test/30-07-2011/sipHandler2.log159
-rw-r--r--For Weekly Test/DBProblem/DbClass.pycbin0 -> 7074 bytes
-rw-r--r--For Weekly Test/DBProblem/inserte.py24
-rw-r--r--For Weekly Test/DBProblem/test3.py4
-rw-r--r--Handler/sipHandler.py131
-rw-r--r--Website/Result.php42
-rw-r--r--notFinishedCode/dbClass.pycbin7604 -> 7424 bytes
-rw-r--r--notFinishedCode/dbDemo.py28
33 files changed, 1970 insertions, 764 deletions
diff --git a/Controller/Controller.py b/Controller/Controller.py
deleted file mode 100644
index 0f8812f..0000000
--- a/Controller/Controller.py
+++ /dev/null
@@ -1,129 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-import classPing
-import classController
-from time import sleep
-
-
-
-sipNum = "4661929"
-landlnNum = "076145875681"
-unisipNum = "076120397897"
-
-# Main software
-
-# Check DB connection
-db = classDb.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-print ""
-dbStatus = db.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- sipServer = classPing.Ping('132.230.4.8')
- sipServerStatus = sipServer.ping(3)
-
- sipGateServer = classPing.Ping('sipgate.de')
- sipGateServerStatus = sipGateServer.ping(3)
-
- sipLocalServer = classPing.Ping('132.230.252.228')
- sipLocalServerStatus = sipLocalServer.ping(3)
-
-# Fetch The task information from DB
- db.anyTasksToDo()
- #x = ()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
-
- if callFrom == "sip":
- if sipServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
-
- if callTo == "gsmrz1":
-
- x = classController.test('-S',"gsmBox1","4661455")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test('-S', "gsmBox2", "4661404")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test('-S', "gsmBox3","4661405")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "landline":
-
- if sipGateServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test('-S', '-L',landlnNum)
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
- sleep(5)
-
- if callTo == "localsip":
- if sipLocalServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test('-S', '-U',unisipNum)
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
- sleep(5)
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/Controller/ControllerClass.py b/Controller/ControllerClass.py
new file mode 100644
index 0000000..04c9614
--- /dev/null
+++ b/Controller/ControllerClass.py
@@ -0,0 +1,177 @@
+import sys
+import os
+import subprocess
+
+import ClientClass
+
+import LogFileClass
+logger = LogFileClass.Logging('classController.log')
+
+from time import sleep
+
+
+class test:
+
+ def __init__(self, callFrom, callAdd, callTo, recAdd, destNo):
+
+ self.callFrom = callFrom
+ self.dest = callTo
+ self.destNo = destNo
+ self.repeatTest = None
+ self.portCaller = None
+ self.portDest = None
+ self.resultCaller = None
+ self.resultDest = None
+ self.testResult = None
+ self.callAdd = callAdd
+ self.recAdd = recAdd
+ self.receiver = None
+ self.caller = None
+ self.connected = None
+
+
+ def FuncTest(self):
+
+ logger.logEvent('')
+
+ self.initCaller()
+ sleep(3)
+
+ self.callerGreeting()
+
+ if self.connected == 'OK':
+
+ self.caller.sendData('CALLER|'+self.destNo)
+ callerHandler = self.caller.receiveData(60)
+
+ if callerHandler == "CALLER READY":
+ logger.logEvent('Caller handler : Ready')
+
+ self.initReceiver()
+ sleep(3)
+ self.receiverGreeting()
+
+ if self.connected == 'OK':
+
+ self.receiver.sendData('RECEIVER')
+ destHandler = self.receiver.receiveData(60)
+
+ 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(60)
+ self.resultDest = self.receiver.receiveData(60)
+
+ if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
+
+ logger.logEvent('Test Failed')
+ self.testResult = 486
+ self.repeatTest = True
+ 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 initCaller(self):
+ logger.logEvent('init Caller')
+
+ if self.callFrom =="gsmr1":
+ self.portCaller = 50008
+
+ elif self.callFrom =="gsmr2":
+ self.portCaller = 50008 #temp
+
+ elif self.callFrom =="gsmr3":
+ self.portCaller = 50097
+
+ else:
+ self.portCaller = 50099
+ subprocess.Popen(args=["gnome-terminal", '--command=python sipHandler.py '+self.callFrom+ ' ' +str(self.portCaller)])
+
+ def initReceiver(self):
+ logger.logEvent('init Receiver')
+
+ if self.dest =="gsmr1":
+ self.portDest = 50008
+
+ elif self.dest =="gsmr2":
+ self.portDest = 50008 #temp
+
+ elif self.dest =="gsmr3":
+ self.portDest = 50103
+
+ else:
+ self.portDest = 50100
+ subprocess.Popen(args=['gnome-terminal', '--command=python sipHandler.py '+self.dest+ ' ' +str(self.portDest)])
+
+ def initTerminate(self):
+ self.caller.sendData('TERMINATE CONNECTION')
+ self.receiver.sendData('TERMINATE CONNECTION')
+
+ def callerGreeting(self):
+ self.connected = None
+ self.caller = ClientClass.Connection(self.callAdd,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(30) == '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(self.recAdd, 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(30) == 'HELLO CONTROLLER':
+ logger.logEvent('Receiver Handler respond')
+ self.connected = 'OK'
+ else:
+ logger.logEvent('Cannt connect to Receiver')
+ self.connected = 'NOT OK'
+
diff --git a/Controller/classController.py b/Controller/classController.py
deleted file mode 100644
index b48dbc8..0000000
--- a/Controller/classController.py
+++ /dev/null
@@ -1,222 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-import signal
-
-import classClient
-import classDb
-import classPing
-
-import LogFileClass
-logger = LogFileClass.Logging('classController.log')
-
-from time import sleep
-
-
-
-class TimeoutException(Exception):
- pass
-
-class test:
-
- def __init__(self, orig, dest, destNo):
- self.orig = orig
- self.dest = dest
- self.destNo = destNo
- self.repeatTest = None
- self.portOrig = None
- self.portDest = None
- self.resultOrig = None
- self.resultDest = None
- self.testResult = None
- self.caller = None
- self.receiver = None
-
- def FuncTest(self):
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- logger.logEvent('')
- logger.logEvent('====================== Preparing Test ======================')
-
- try:
-
- if self.orig =="gsmBox1" or self.orig =="gsmBox2" or self.orig =="gsmBox3:
-
- if self.orig =="gsmBox1":
- self.portOrig = 50095
-
- if self.orig =="gsmBox2":
- self.portOrig = 50096
-
- if self.orig =="gsmBox3":
- self.portOrig = 50097
-
- else:
- # open SIP caller handler
- self.portOrig = 50099
- command="--command=python sipHandler.py " +self.portOrig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- logger.logEvent('Connecting to Caller handler')
- caller = classClient.Connection('localhost',self.portOrig)
-
- caller.connect()
- message = self.orig+ '|-C'
- caller.sendData(message)
-
- # wait respond from origin handler
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(60)
-
- while 1:
- try:
- origHandler = caller.receiveData(0)
- if origHandler <> "":
- break
-
- except TimeoutException:
- origHandler = "failed"
- break
-
-
- if origHandler == "ready":
- logger.logEvent('Caller handler : Ready')
- try:
- if self.dest =="gsmBox1" or self.dest =="gsmBox2" or self.dest =="gsmBox2":
-
- if self.dest =="gsmBox1":
- self.portDest = 50102
-
- if self.dest =="gsmBox2":
- self.portDest = 50103
-
- if self.dest =="gsmBox3":
- self.portDest = 50103
-
-
- else:
- self.portDest = 50100
- command="--command=python sipHandler.py " +self.portDest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- logger.logEvent('Connecting to Receiver handler')
- receiver = classClient.Connection('localhost', self.portDest)
-
- receiver.connect()
- message = self.dest+ '|-R'
- receiver.sendData(message)
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(60)
-
- while 1:
- try:
- destHandler = receiver.receiveData(0)
- if destHandler <> "":
- break
-
- except TimeoutException:
- destHandler = "failed"
- break
-
- if destHandler == "ready":
-
- logger.logEvent('Receiver handler : Ready')
-
- caller.sendData("start|"+self.destNo)
-
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(120)
-
- logger.logEvent('------------ Test Result ------------')
-
- while 1:
- try:
- sleep(0.5)
- self.resultOrig = caller.receiveData(0)
- self.resultDest = receiver.receiveData(0)
-
- if self.resultOrig <> "" and self.resultDest <> "":
- logger.logEvent('1st Test, Origin :' +self.resultOrig)
- logger.logEvent('1st Test, Destination :' +self.resultDest)
- break
-
- except TimeoutException:
- self.resultOrig = 486
- self.resultDest = 486
- break
-
- #if failed, tell everybody to try one more time
- if self.resultOrig == 486 or self.resultDest == 486:
-
- caller.sendData("start|"+self.destNo)
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(120)
-
- while 1:
- try:
- sleep(0.5)
- self.resultOrig = caller.receiveData(0)
- self.resultDest = receiver.receiveData(0)
-
- if self.resultOrig <> "" and self.resultDest <> "":
- logger.logEvent('2nd Test, Origin :' +self.resultOrig)
- logger.logEvent('2nd Test, Destination :' +self.resultDest)
- break
-
- except TimeoutException:
- self.resultOrig = 486
- self.resultDest = 486
- break
-
- #if still failed, we make automatic test vice versa
-
- if self.resultOrig == 486 or self.resultDest == 486:
- self.testResult = 486
- self.repeatTest = True
-
- else:
- self.testResult = 200
-
- caller.sendData('487')
- receiver.sendData('487')
-
- else:
-
- self.testResult = 200
- caller.sendData('487')
- receiver.sendData('487')
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond')
- #tell Caller handler to terminate because receiver doesnt work
- caller.sendData('487')
-
- receiver.closeConnection()
-
- except ValueError:
- logger.logEvent('601 General Handler Error: Could not open Destination handler')
- self.testResult = 601
- caller.sendData('487')
- caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: Origin handler no respond')
-
- caller.closeConnection()
-
- except ValueError:
- testResult = 602
- logger.logEvent('602 General Handler Error: Could not open Origin handler')
-
diff --git a/Controller/gsmselftest.py b/Controller/gsmselftest.py
new file mode 100755
index 0000000..400970f
--- /dev/null
+++ b/Controller/gsmselftest.py
@@ -0,0 +1,271 @@
+#! /usr/bin/env python
+import sys
+import ControllerClass
+import DbClass
+import PingClass
+import DeviceAddress
+from time import sleep
+
+def ping(handler):
+
+ global serverStatus
+
+ if handler == 'landline':
+ server = PingClass.Ping('sipgate.de')
+ serverStatus = server.ping(3)
+
+ elif handler == 'sip':
+ server = PingClass.Ping('132.230.4.8')
+ serverStatus = server.ping(3)
+
+ elif handler == 'unisip':
+ server = PingClass.Ping('132.230.252.228')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr1':
+ server = PingClass.Ping('localhost')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr2':
+ server = PingClass.Ping('132.230.4.64')
+ serverStatus = server.ping(3)
+
+
+def doTest(callFrom,callTo):
+ global testResult
+
+ ping(callFrom)
+ device = DeviceAddress.DeviceAddress()
+
+ if serverStatus <> 0:
+
+ ping(callTo)
+ if serverStatus <> 0:
+ device.findDevice(callTo)
+ recAdd = device.add
+ destNo = str(device.num)
+
+ device.findDevice(callFrom)
+ callAdd = device.add
+
+ print '\n'
+ print "Caller: ", callFrom
+ print 'Destination: ', callTo
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ #db.addResult(taskID, makeTest.testResult)
+
+ if makeTest.repeatTest == True:
+ testRepeat = True
+
+ print "Result :", makeTest.testResult
+
+ #db.deleteTempTask(taskID)
+ #db.tasksList.remove(item)
+ #db.tasksList.insert(i,'')
+ sleep(3)
+ else:
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+
+def doSipTest():
+
+ print '--SIP Part Test--'
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+ #destList = ['unisip']
+ for callTo in destList:
+
+ callFrom = 'sip'
+ if callFrom <> callTo:
+ doTest(callFrom, callTo)
+
+def doLandlineTest():
+
+ print '--Landline Part Test--'
+ destList = ['gsmr1', 'gsmr2', 'gsmr3', 'sip']
+
+ for callTo in destList:
+
+ callFrom = 'landline'
+ doTest(callFrom, callTo)
+
+def doGsmrzTest():
+
+ print '--GSM Part Test--'
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+ calllist = ['gsmr1','gsmr2', 'gsmr3']
+
+ for callFrom in calllist:
+
+ for callTo in destList:
+ if callTo <> callFrom:
+ doTest(callFrom, callTo)
+
+ doGsmExtTest()
+
+def doGsmExtTest():
+
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3']
+
+ for callTo in destList:
+
+ callFrom = 'gsmeO'
+ doTest(callFrom, callTo)
+
+ callFrom = 'gsmeV'
+ doTest(callFrom, callTo)
+
+ callFrom = 'gsmeT'
+ doTest(callFrom, callTo)
+
+ callFrom = 'gsmeE'
+ doTest(callFrom, callTo)
+
+def doAllTest():
+
+ doSipTest()
+ doLandlineTest()
+ doGsmTest()
+
+if len(sys.argv) > 1:
+
+ command = sys.argv[1]
+ print '\n'
+
+ if command == '--all':
+ doAllTest()
+
+ elif command == '--sip':
+ doSipTest()
+
+ elif command == '--gsm':
+ doGsmTest()
+
+ elif command == '--landline':
+ doLandlineTest()
+
+ elif command == '--help':
+ file = open('help.txt', 'r')
+ print file.read()
+
+ else:
+ print "command not found, Type '--help', '--copyright', '--credits' or '--license' for more information."
+ print '\n'
+else:
+ print '\n'
+ db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
+ db.connectDB()
+ dbStatus = db.connectDB()
+
+ if dbStatus == 1:
+
+ if db.anyTasksToDo() == 1:
+
+ allPing()
+ i=0
+ for item in db.tasksList:
+ taskID = item[0]
+ taskNo = item[1]
+ callFrom = item[2]
+ callTo = item[3]
+
+ destination = db.deviceAddress(str(callTo))
+
+ caller = db.deviceAddress(str(callFrom))
+
+ callAdd = caller[0]
+ recAdd = destination[0]
+ destNo = destination[1]
+
+ #if i == 0:
+ # db.updatePingResult(taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2)
+
+ if callFrom == 'unisip':
+ destNo = destNo[7:]
+
+ print '\n'
+ print "Task ID: ", taskID
+ print "Calling From: ", callFrom
+ print "To: ", callTo
+ print "number: ", destNo
+
+ ping(callFrom)
+
+ if serverStatus <> 0:
+
+ ping(callTo)
+ if serverStatus <> 0:
+
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ db.addResult(taskID, makeTest.testResult)
+
+ if makeTest.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
+
+ print "Result :", makeTest.testResult
+
+ db.deleteTempTask(taskID)
+ db.tasksList.remove(item)
+ db.tasksList.insert(i,'')
+ i = i+1
+
+ sleep(3)
+ else:
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+ db.cleanTasksList()
+ else:
+ print "No job at all"
+ else:
+ sys.exit(5)
+
+
+
+def allPing():
+
+ global sipGate
+ global sipServer
+ global sipLoc
+ global gsmBox1
+ global gsmBox2
+
+ server = PingClass.Ping('sipgate.de')
+ sipGate = server.ping(3)
+
+ server = PingClass.Ping('132.230.4.8')
+ sipServer = server.ping(3)
+
+ server = PingClass.Ping('132.230.252.228')
+ sipLoc = server.ping(3)
+
+ server = PingClass.Ping('localhost')
+ gsmBox1 = server.ping(3)
+
+ server = PingClass.Ping('132.230.4.64')
+ gsmBox2 = server.ping(3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Database/ErrorCodeTable.sql b/Database/ErrorCodeTable.sql
new file mode 100644
index 0000000..3dd6332
--- /dev/null
+++ b/Database/ErrorCodeTable.sql
@@ -0,0 +1,46 @@
+-- phpMyAdmin SQL Dump
+-- version 3.3.10deb1
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost
+-- Generation Time: Jul 29, 2011 at 01:19 PM
+-- Server version: 5.1.54
+-- PHP Version: 5.3.5-1ubuntu7.2
+
+SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+
+--
+-- Database: `gsmselftesting`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `ErrorCodeTable`
+--
+
+DROP TABLE IF EXISTS `ErrorCodeTable`;
+CREATE TABLE IF NOT EXISTS `ErrorCodeTable` (
+ `errorcode` int(4) NOT NULL,
+ `description` varchar(100) NOT NULL,
+ PRIMARY KEY (`errorcode`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `ErrorCodeTable`
+--
+
+INSERT INTO `ErrorCodeTable` (`errorcode`, `description`) VALUES
+(200, 'Call was OK'),
+(604, 'General Handler Error: Destination handler no respond timeout'),
+(998, 'General Handler Error: Could not connect Destination handler'),
+(605, 'General Handler Error: caller handler no respond timeout'),
+(999, 'General Handler Error: Could not connect to Caller handler'),
+(486, 'Call Failed'),
+(500, 'Server Internal Error');
diff --git a/For Weekly Test/30-07-2011/Controller.py b/For Weekly Test/30-07-2011/Controller.py
index c0c102d..e4a4566 100644
--- a/For Weekly Test/30-07-2011/Controller.py
+++ b/For Weekly Test/30-07-2011/Controller.py
@@ -2,53 +2,95 @@ import sys
import ClientClass
import DbClass
import ControllerClass
-import classCheck
+import PingClass
+from time import sleep
+
+
+def ping(handler):
+
+ global serverStatus
+
+ if handler == 'landline':
+ server = PingClass.Ping('sipgate.de')
+ serverStatus = server.ping(3)
+
+ elif handler == 'sip':
+ server = PingClass.Ping('132.230.4.8')
+ serverStatus = server.ping(3)
+
+ elif handler == 'unisip':
+ server = PingClass.Ping('132.230.252.228')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr1':
+ server = PingClass.Ping('localhost')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr2':
+ server = PingClass.Ping('132.230.4.64')
+ serverStatus = server.ping(3)
db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
db.connectDB()
dbStatus = db.connectDB()
-
if dbStatus == 1:
if db.anyTasksToDo() == 1:
-
+ i=0
for item in db.tasksList:
-
taskID = item[0]
taskNo = item[1]
callFrom = item[2]
callTo = item[3]
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
+ destination = db.deviceAddress(str(callTo))
- call = classCheck.checking(callFrom)
- rec = classCheck.checking(callTo)
+ caller = db.deviceAddress(str(callFrom))
- if call.serverStatus <> 0:
+ callAdd = caller[0]
+ recAdd = destination[0]
+ destNo = destination[1]
+
+ if callFrom == 'unisip':
+ destNo = destNo[7:]
+
+
+ print '\n'
+ print "Task ID: ", taskID
+ print "Calling From: ", callFrom
+ print "To: ", callTo
+ print "number: ", destNo
+
+ ping(callFrom)
+
+ if serverStatus <> 0:
- if rec.serverStatus <> 0:
+ ping(callTo)
+ if serverStatus <> 0:
- makeTest = ControllerClass.test(callFrom, callTo,rec.destNumber)
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
makeTest.FuncTest()
db.addResult(taskID, makeTest.testResult)
if makeTest.repeatTest == True:
db.insertTaskIn2(callTo,callFrom,taskNo)
+
+ print "Result :", makeTest.testResult
+
+ db.deleteTempTask(taskID)
+ db.tasksList.remove(item)
+ db.tasksList.insert(i,'')
+ i = i+1
+
+ sleep(3)
else:
print "[failed] 500 "+callTo+ " Server Internal Error"
else:
print "[failed] 500 "+callFrom+ " Server Internal Error"
-
- call = None
- rec = None
- db.deleteTempTask(taskID)
db.cleanTasksList()
-
else:
print "No job at all"
else:
diff --git a/For Weekly Test/30-07-2011/ControllerClass.py b/For Weekly Test/30-07-2011/ControllerClass.py
index 9ce5db4..183c823 100644
--- a/For Weekly Test/30-07-2011/ControllerClass.py
+++ b/For Weekly Test/30-07-2011/ControllerClass.py
@@ -5,25 +5,27 @@ import subprocess
import ClientClass
import LogFileClass
-logger = LogFileClass.Logging('classController.log')
+logger = LogFileClass.Logging('TestProcessLog.log')
from time import sleep
class test:
- def __init__(self, callFrom, callTo, destNo):
+ def __init__(self, callFrom, callAdd, callTo, recAdd, destNo):
+
self.callFrom = callFrom
self.dest = callTo
self.destNo = destNo
self.repeatTest = None
+ self.portAdd = None
self.portCaller = None
self.portDest = None
self.resultCaller = None
self.resultDest = None
self.testResult = None
- self.callAdd = None
- self.recAdd = None
+ self.callAdd = callAdd
+ self.recAdd = recAdd
self.receiver = None
self.caller = None
self.connected = None
@@ -41,7 +43,7 @@ class test:
if self.connected == 'OK':
self.caller.sendData('CALLER|'+self.destNo)
- callerHandler = self.caller.receiveData(60)
+ callerHandler = self.caller.receiveData(30)
if callerHandler == "CALLER READY":
logger.logEvent('Caller handler : Ready')
@@ -53,7 +55,7 @@ class test:
if self.connected == 'OK':
self.receiver.sendData('RECEIVER')
- destHandler = self.receiver.receiveData(0)
+ destHandler = self.receiver.receiveData(30)
if destHandler == 'RECEIVER READY':
logger.logEvent('Receiver handler : Ready')
@@ -68,8 +70,8 @@ class test:
self.receiver.closeConnection()
else:
- logger.logEvent('xxx General Handler Error: Could not connect Destination handler')
- self.testResult = 999
+ logger.logEvent('998 General Handler Error: Could not connect Destination handler')
+ self.testResult = 998
self.caller.sendData('TERMINATE CONNECTION')
self.caller.closeConnection()
else:
@@ -80,36 +82,26 @@ class test:
else:
self.testResult = 999
- logger.logEvent('xxx General Handler Error: Could not connect to Caller handler')
+ logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
def waitingFeedback(self):
- logger.logEvent('waiting Feedback')
- self.resultCaller = self.caller.receiveData(60)
- self.resultDest = self.receiver.receiveData(60)
+ logger.logEvent('Waiting Feedback')
+ self.resultCaller = self.caller.receiveData(30)
+ self.resultDest = self.receiver.receiveData(30)
if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- self.startCall()
- self.resultCaller = self.caller.receiveData(60)
- self.resultDest = self.receiver.receiveData(60)
-
- if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
- self.testResult = 486
- self.repeatTest = True
- logger.logEvent('Failed')
- else:
- self.testResult = 200
- logger.logEvent('Test Succeed')
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
+
+ logger.logEvent('Test Failed')
+ self.testResult = 486
+ self.repeatTest = True
+ self.initTerminate()
else:
logger.logEvent('Test Succeed')
self.testResult = 200
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
+ self.initTerminate()
def startCall(self):
@@ -120,44 +112,85 @@ class test:
def initCaller(self):
logger.logEvent('init Caller')
+ logger.logEvent(self.callFrom)
- if self.callFrom =="gsmBox1":
- self.portCaller = 50008 #temp
- self.callAdd = '132.230.4.64'
+ if self.callFrom =="gsmr1":
+ self.portCaller = 50007
+ self.portAdd = ''
+ self.initGSM(self.portCaller, self.portAdd)
- elif self.callFrom =="RZ2":
- self.portCaller = 50096
- self.callAdd = ''
+ elif self.callFrom =="gsmr2":
+ self.portCaller = 50008
- elif self.callFrom =="RZ3":
- self.portCaller = 50097
- self.callAdd = ''
+ elif self.callFrom =="gsmr3":
+ self.portCaller = 50009
+
+ elif self.callFrom =="gsmeO":
+ self.portCaller = 50010
+ self.portAdd = '/dev/ttyUSB0'
+ self.initGSM(self.portCaller, self.portAdd)
+
+ elif self.callFrom =="gsmeV":
+ self.portCaller = 50011
+ self.portAdd = '/dev/ttyUSB1'
+ self.initGSM(self.portCaller, self.portAdd)
+
+ elif self.callFrom =="gsmeT":
+ self.portCaller = 50012
+ self.portAdd = ''
+ self.initGSM(self.portCaller, self.portAdd)
+
+ elif self.callFrom =="gsmeE":
+ self.portCaller = 50013
+ self.portAdd = '/dev/ttyUSB2'
+ self.initGSM(self.portCaller, self.portAdd)
else:
self.portCaller = 50099
- self.callAdd = 'localhost'
- subprocess.Popen(args=["gnome-terminal", '--command=python sipHandler2.py '+self.callFrom+ ' ' +str(self.portCaller)])
+ subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.callFrom+ ' ' +str(self.portCaller)])
def initReceiver(self):
logger.logEvent('init Receiver')
logger.logEvent(self.dest)
- if self.dest =="gsmBox1":
+ if self.dest =="gsmr1":
+ self.portDest = 50007
+ self.portAdd = ''
+ self.initGSM(self.portDest, self.portAdd)
+
+ elif self.dest =="gsmr2":
self.portDest = 50008
- self.recAdd = '132.230.4.64'
- elif self.dest =="gsmBox2":
- self.portDest = 50103
- self.recAdd = ''
+ elif self.dest =="gsmr3":
+ self.portDest = 50009
- elif self.dest =="gsmBox3":
- self.portDest = 50103
- self.recAdd = ''
+ elif self.dest =="gsmeO":
+ self.portDest = 50010
+ self.portAdd = '/dev/ttyUSB0'
+ self.initGSM(self.portDest, self.portAdd)
+
+ elif self.dest =="gsmeV":
+ self.portDest = 50011
+ self.portAdd = '/dev/ttyUSB1'
+ self.initGSM(self.portDest, self.portAdd)
+
+ elif self.dest =="gsmeT":
+ self.portDest = 50012
+ self.portAdd = ''
+ self.initGSM(self.portDest, self.portAdd)
+
+ elif self.dest =="gsmeE":
+ self.portDest = 50013
+ self.portAdd = '/dev/ttyUSB2'
+ self.initGSM(self.portDest, self.portAdd)
else:
self.portDest = 50100
- self.recAdd = 'localhost'
- subprocess.Popen(args=['gnome-terminal', '--command=python sipHandler2.py '+self.dest+ ' ' +str(self.portDest)])
+ subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.dest+ ' ' +str(self.portDest)])
+
+ def initTerminate(self):
+ self.caller.sendData('TERMINATE CONNECTION')
+ self.receiver.sendData('TERMINATE CONNECTION')
def callerGreeting(self):
self.connected = None
@@ -189,3 +222,10 @@ class test:
logger.logEvent('Cannt connect to Receiver')
self.connected = 'NOT OK'
+ def initGSM(self, portCommunication, portDevice):
+
+ subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice)])
+
+
+
+
diff --git a/For Weekly Test/30-07-2011/ControllerClass.pyc b/For Weekly Test/30-07-2011/ControllerClass.pyc
index 234bf41..feec4b8 100644
--- a/For Weekly Test/30-07-2011/ControllerClass.pyc
+++ b/For Weekly Test/30-07-2011/ControllerClass.pyc
Binary files differ
diff --git a/For Weekly Test/30-07-2011/DbClass.py b/For Weekly Test/30-07-2011/DbClass.py
index 90e4758..ae220a9 100644
--- a/For Weekly Test/30-07-2011/DbClass.py
+++ b/For Weekly Test/30-07-2011/DbClass.py
@@ -105,17 +105,19 @@ class DBMySQLConnection:
def deviceAddress(self,deviceName):
if self.connectionCreated == 1:
try:
- successful = self.cur.execute("SELECT `deviceIP` FROM DeviceAddress where `deviceName`=%s", deviceName)
- #self.cur.execute()
+ successful = self.cur.execute("SELECT `deviceIP`,`number` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
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
+
deviceAddr = ''
for record in output:
columns = list()
for entry in record:
- deviceAddr = str(entry)
+ columns.append(str(entry))
+ deviceAddr = columns
+
return deviceAddr
except MySQLdb.Error, e:
error = str(e)
diff --git a/For Weekly Test/30-07-2011/DbClass.pyc b/For Weekly Test/30-07-2011/DbClass.pyc
new file mode 100644
index 0000000..03223fe
--- /dev/null
+++ b/For Weekly Test/30-07-2011/DbClass.pyc
Binary files differ
diff --git a/For Weekly Test/30-07-2011/DeviceAddress.txt b/For Weekly Test/30-07-2011/DeviceAddress.txt
new file mode 100644
index 0000000..cd3467e
--- /dev/null
+++ b/For Weekly Test/30-07-2011/DeviceAddress.txt
@@ -0,0 +1,9 @@
+[sip]:localhost:07612034661928:
+
+[landline]:localhost:076145875681:
+
+[unisip]:localhost:076120397897:
+
+[gsmr1]:localhost:076120346614xx:
+
+[gsmr2]:132.230.4.64:07612034661455: #Technisse Fakultät Building
diff --git a/For Weekly Test/30-07-2011/DeviceAddressClass.py b/For Weekly Test/30-07-2011/DeviceAddressClass.py
new file mode 100644
index 0000000..21c9dc0
--- /dev/null
+++ b/For Weekly Test/30-07-2011/DeviceAddressClass.py
@@ -0,0 +1,37 @@
+class DeviceAddress:
+
+ def __init__(self):
+ self.add = None
+ self.num = None
+ self.portAdd = ''
+
+ def findDevice(self, device):
+ file = open('DeviceAddress.txt', 'r')
+
+ for line in file:
+
+ first = line.find('[')
+ second= line.find(']') # search for position
+ find = line[first+1:second]
+
+ stop = line.find(':')
+ IPAddress =line[stop+1:]
+ stop2 = IPAddress.find(':')
+
+ number = IPAddress[stop2+1:]
+ stop3 = number.find(':')
+
+ portAddress = number[stop3+1:]
+ stop4 = portAddress.find(':')
+
+
+ if find == device:
+ print device
+ self.add = IPAddress[0:stop2]
+ self.num = number[0:stop3]
+ if stop4 <> -1:
+ self.portAdd = portAddress[0:stop4]
+ break
+
+
+ file.close()
diff --git a/For Weekly Test/30-07-2011/DeviceAddressClass.pyc b/For Weekly Test/30-07-2011/DeviceAddressClass.pyc
new file mode 100644
index 0000000..98dae9c
--- /dev/null
+++ b/For Weekly Test/30-07-2011/DeviceAddressClass.pyc
Binary files differ
diff --git a/For Weekly Test/30-07-2011/GSM O2 handler.log b/For Weekly Test/30-07-2011/GSM O2 handler.log
new file mode 100644
index 0000000..8bf2be4
--- /dev/null
+++ b/For Weekly Test/30-07-2011/GSM O2 handler.log
@@ -0,0 +1,40 @@
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:44:54.822777 ------------------
+On: 2011-07-29 14:44:54.822961 Event: LISTEN ON PORT: 50010
+On: 2011-07-29 14:44:57.639215 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36510)
+On: 2011-07-29 14:44:57.639477 Event: TALK INITIALIZATION SENT
+On: 2011-07-29 14:44:57.639882 Event: RECEIVER READY SENT
+On: 2011-07-29 14:45:17.681505 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:46:22.340271 ------------------
+On: 2011-07-29 14:46:22.340422 Event: LISTEN ON PORT: 50010
+On: 2011-07-29 14:46:25.166617 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36518)
+On: 2011-07-29 14:46:25.166917 Event: TALK INITIALIZATION SENT
+On: 2011-07-29 14:46:25.167162 Event: RECEIVER READY SENT
+On: 2011-07-29 14:46:41.613522 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:47:07.433650 ------------------
+On: 2011-07-29 14:47:07.433839 Event: LISTEN ON PORT: 50010
+On: 2011-07-29 14:47:10.271743 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36523)
+On: 2011-07-29 14:47:10.272003 Event: TALK INITIALIZATION SENT
+On: 2011-07-29 14:47:10.272408 Event: RECEIVER READY SENT
+On: 2011-07-29 14:47:30.321516 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:47:42.024537 ------------------
+On: 2011-07-29 14:47:42.024691 Event: LISTEN ON PORT: 50010
+On: 2011-07-29 14:47:44.851169 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36525)
+On: 2011-07-29 14:47:44.851430 Event: TALK INITIALIZATION SENT
+On: 2011-07-29 14:47:44.851832 Event: CALLER READY SENT
+On: 2011-07-29 14:47:56.133534 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:50:51.698683 ------------------
+On: 2011-07-29 14:50:51.698829 Event: LISTEN ON PORT: 50010
+On: 2011-07-29 14:50:54.519289 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60231)
+On: 2011-07-29 14:50:54.519447 Event: TALK INITIALIZATION SENT
+On: 2011-07-29 14:50:54.519726 Event: RECEIVER READY SENT
+On: 2011-07-29 14:51:08.921505 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/30-07-2011/GSMClass.py b/For Weekly Test/30-07-2011/GSMClass.py
new file mode 100644
index 0000000..e994814
--- /dev/null
+++ b/For Weekly Test/30-07-2011/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/30-07-2011/GSMClass.pyc b/For Weekly Test/30-07-2011/GSMClass.pyc
new file mode 100644
index 0000000..93ccd6c
--- /dev/null
+++ b/For Weekly Test/30-07-2011/GSMClass.pyc
Binary files differ
diff --git a/For Weekly Test/30-07-2011/GSMHandler.py b/For Weekly Test/30-07-2011/GSMHandler.py
new file mode 100644
index 0000000..c07f1ae
--- /dev/null
+++ b/For Weekly Test/30-07-2011/GSMHandler.py
@@ -0,0 +1,285 @@
+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)
+
+
+portListen = int(sys.argv[1])
+portAddress = sys.argv[2]
+
+def initLogfile():
+ global nameOfLogFile
+
+ if portListen == 50007:
+ nameOfLogFile = 'GSM RZ1 handler.log'
+
+ elif portListen == 50010:
+ nameOfLogFile = 'GSM O2 handler.log'
+
+ elif portListen == 50011:
+ nameOfLogFile = 'GSM Vodaphone handler.log'
+
+ elif portListen == 50012:
+ nameOfLogFile = 'GSM TMobile handler.log'
+
+ elif portListen == 50013:
+ nameOfLogFile = 'GSM EPlus handler.log'
+ else:
+ print "No port listening found"
+
+
+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
+<<<<<<< HEAD
+ gsmDevice = GSMClass.serialPort(portAddress, baudRate, 60)
+=======
+ gsmDevice = GSMClass.serialPort(portAddress, baudRate, 30)
+>>>>>>> f14064834f9947ddf184881e72ab50956f163a7b
+ 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()))
+ return 2
+ else:
+ logger.logEvent('$no connection')
+ 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')
+
+ 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(1)
+ 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/30-07-2011/SIP handler.log b/For Weekly Test/30-07-2011/SIP handler.log
new file mode 100644
index 0000000..97d80da
--- /dev/null
+++ b/For Weekly Test/30-07-2011/SIP handler.log
@@ -0,0 +1,90 @@
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:42:50.221695 ------------------
+On: 2011-07-29 14:42:50.231805 Event: try to Connect to Controller
+On: 2011-07-29 14:42:53.055216 Event: Beeing SIP
+On: 2011-07-29 14:42:53.055357 Event: init state
+On: 2011-07-29 14:42:53.055418 Event: Register Account to SIP server
+On: 2011-07-29 14:42:53.055943 Event: 100
+On: 2011-07-29 14:42:53.056019 Event: Caller Handler Ready
+On: 2011-07-29 14:42:56.063116 Event: Terminate
+On: 2011-07-29 14:42:56.063186 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:44:51.801858 ------------------
+On: 2011-07-29 14:44:51.813713 Event: try to Connect to Controller
+On: 2011-07-29 14:44:54.633813 Event: Beeing SIP
+On: 2011-07-29 14:44:54.633991 Event: init state
+On: 2011-07-29 14:44:54.634064 Event: Register Account to SIP server
+On: 2011-07-29 14:44:54.634583 Event: 100
+On: 2011-07-29 14:44:54.634659 Event: Caller Handler Ready
+On: 2011-07-29 14:45:02.645231 Event: CALL START
+On: 2011-07-29 14:45:02.645264 Event: Make a call to: 017678038038
+On: 2011-07-29 14:45:26.852874 Event: Call Connecting
+On: 2011-07-29 14:45:26.852948 Event: 200
+On: 2011-07-29 14:45:26.854206 Event: Terminate
+On: 2011-07-29 14:45:26.854264 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:46:19.336746 ------------------
+On: 2011-07-29 14:46:19.346672 Event: try to Connect to Controller
+On: 2011-07-29 14:46:22.158782 Event: Beeing SIP
+On: 2011-07-29 14:46:22.158955 Event: init state
+On: 2011-07-29 14:46:22.159029 Event: Register Account to SIP server
+On: 2011-07-29 14:46:22.159560 Event: 100
+On: 2011-07-29 14:46:22.159640 Event: Caller Handler Ready
+On: 2011-07-29 14:46:30.169469 Event: CALL START
+On: 2011-07-29 14:46:30.169507 Event: Make a call to: 017678038038
+On: 2011-07-29 14:46:43.252910 Event: Call Connecting
+On: 2011-07-29 14:46:43.252944 Event: 200
+On: 2011-07-29 14:46:43.253314 Event: Terminate
+On: 2011-07-29 14:46:43.253333 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:47:04.451351 ------------------
+On: 2011-07-29 14:47:04.464220 Event: try to Connect to Controller
+On: 2011-07-29 14:47:07.263747 Event: Beeing SIP
+On: 2011-07-29 14:47:07.263885 Event: init state
+On: 2011-07-29 14:47:07.263944 Event: Register Account to SIP server
+On: 2011-07-29 14:47:07.264463 Event: 100
+On: 2011-07-29 14:47:07.264541 Event: Caller Handler Ready
+On: 2011-07-29 14:47:15.273789 Event: CALL START
+On: 2011-07-29 14:47:15.273820 Event: Make a call to: 017678038038
+On: 2011-07-29 14:47:38.832442 Event: Call Connecting
+On: 2011-07-29 14:47:38.832513 Event: 200
+On: 2011-07-29 14:47:38.833648 Event: Terminate
+On: 2011-07-29 14:47:38.833708 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:47:45.024010 ------------------
+On: 2011-07-29 14:47:45.033430 Event: try to Connect to Controller
+On: 2011-07-29 14:47:47.858077 Event: Beeing SIP
+On: 2011-07-29 14:47:47.858249 Event: init state
+On: 2011-07-29 14:47:47.858326 Event: Register Account to SIP server
+On: 2011-07-29 14:47:47.858823 Event: 100
+On: 2011-07-29 14:47:47.858898 Event: Receiver Handler Ready
+On: 2011-07-29 14:47:47.859112 Event: RECEIVE START
+On: 2011-07-29 14:47:54.886117 Event: {Call "0017678038038" <sip:0017678038038@132.230.4.8>}
+On: 2011-07-29 14:47:55.387488 Event: Call Connecting
+On: 2011-07-29 14:47:55.387559 Event: 200
+On: 2011-07-29 14:47:55.388464 Event: Answer call
+On: 2011-07-29 14:47:55.889156 Event: Hangup call
+On: 2011-07-29 14:47:55.889591 Event: CALL OK
+On: 2011-07-29 14:47:55.940673 Event: Call Disconnected
+On: 2011-07-29 14:47:56.133895 Event: Terminate
+On: 2011-07-29 14:47:56.133918 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-07-29 14:50:48.684856 ------------------
+On: 2011-07-29 14:50:48.695430 Event: try to Connect to Controller
+On: 2011-07-29 14:50:51.511836 Event: Beeing SIP
+On: 2011-07-29 14:50:51.511981 Event: init state
+On: 2011-07-29 14:50:51.512046 Event: Register Account to SIP server
+On: 2011-07-29 14:50:51.512580 Event: 100
+On: 2011-07-29 14:50:51.512654 Event: Caller Handler Ready
+On: 2011-07-29 14:50:59.524958 Event: CALL START
+On: 2011-07-29 14:50:59.524993 Event: Make a call to: 017678038038
+On: 2011-07-29 14:51:10.710655 Event: Call Connecting
+On: 2011-07-29 14:51:10.710728 Event: 200
+On: 2011-07-29 14:51:10.711915 Event: Terminate
+On: 2011-07-29 14:51:10.711975 Event: Goodbye
diff --git a/For Weekly Test/30-07-2011/sipHandler2.py b/For Weekly Test/30-07-2011/SIPHandler.py
index 6e23ab7..96fe4de 100644
--- a/For Weekly Test/30-07-2011/sipHandler2.py
+++ b/For Weekly Test/30-07-2011/SIPHandler.py
@@ -90,6 +90,19 @@ def greeting():
logger.logEvent('cant connect to Controller')
sys.exit(1)
+def initLogFile():
+ global nameOfLogFile
+ nameOfLogFile = sys.argv[1]
+
+ if sys.argv[1] == 'sip':
+ nameOfLogFile = 'SIP handler.log'
+
+ elif sys.argv[1] == 'landline':
+ nameOfLogFile = 'Landline handler.log'
+
+ elif sys.argv[1] == 'unisip':
+ nameOfLogFile = 'University SIP handler.log'
+
def initState():
global message
global state
@@ -108,6 +121,7 @@ def initState():
def initHandler():
global acc_cfg
global handler
+ global sipServer
handler = sys.argv[1]
@@ -116,14 +130,17 @@ def initHandler():
if handler == 'sip':
logger.logEvent('Beeing SIP')
acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
+ sipServer = '132.230.4.8'
elif handler == 'landline':
logger.logEvent('Beeing Landline')
acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
+ sipServer = 'sipgate.de'
elif handler == 'unisip':
logger.logEvent('Beeing University SIP')
acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
+ sipServer = '132.230.252.228'
else:
logger.logEvent('Unknown Message')
@@ -136,7 +153,8 @@ def initHandler():
lib = pj.Lib()
stop = False
-logger = LogFileClass.Logging('sipHandler2.log')
+initLogFile()
+logger = LogFileClass.Logging(nameOfLogFile)
logger.logEvent('')
while stop <> True:
@@ -191,7 +209,7 @@ while stop <> True:
sleep(5)
logger.logEvent(data)
logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@132.230.4.8"
+ number = "sip:"+num+"@"+sipServer
make_call(number)
else:
logger.logEvent('No number to call')
@@ -206,7 +224,7 @@ while stop <> True:
logger.logEvent('Unknow Message')
server.sendData('Unknow Message')
server.closeConnection()
- sys.exit(1)
+ sys.exit(0.5)
else:
logger.logEvent("488 Not Acceptable Here")
diff --git a/For Weekly Test/30-07-2011/classCheck.py b/For Weekly Test/30-07-2011/classCheck.py
deleted file mode 100644
index 056470f..0000000
--- a/For Weekly Test/30-07-2011/classCheck.py
+++ /dev/null
@@ -1,28 +0,0 @@
-
-import PingClass
-
-class checking:
-
- def __init__(self, handler):
-
- self.handler = handler
- self.destNumber = None
- self.serverStatus = None
-
- if self.handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- self.serverStatus = server.ping(3)
- self.destNumber = '076145875681'
-
- if self.handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- self.serverStatus = server.ping(3)
- self.destNumber = '4661928'
-
- if self.handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- self.serverStatus = server.ping(3)
- self.destNumber = '076120397897'
-
- if self.handler == 'gsmBox1':
- self.destNumber = '4661447'
diff --git a/For Weekly Test/30-07-2011/classCheck.pyc b/For Weekly Test/30-07-2011/classCheck.pyc
deleted file mode 100644
index 2d0e213..0000000
--- a/For Weekly Test/30-07-2011/classCheck.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/30-07-2011/classController.log b/For Weekly Test/30-07-2011/classController.log
index dcc7450..b50c1e4 100644
--- a/For Weekly Test/30-07-2011/classController.log
+++ b/For Weekly Test/30-07-2011/classController.log
@@ -1,92 +1,88 @@
-------------------STARTED THE LOGGING 2011-07-25 18:14:53.385166 ------------------
-On: 2011-07-25 18:14:53.385299 Event: init Caller
-On: 2011-07-25 18:14:56.392353 Event: Connected to Caller Handler
-On: 2011-07-25 18:14:56.392656 Event: Caller Handler respond
-On: 2011-07-25 18:14:56.393554 Event: Caller handler : Ready
-On: 2011-07-25 18:14:56.393612 Event: init Receiver
-On: 2011-07-25 18:14:56.393656 Event: landline
-On: 2011-07-25 18:14:59.398634 Event: Connected to Receiver Handler
-On: 2011-07-25 18:14:59.398932 Event: Receiver Handler respond
-On: 2011-07-25 18:14:59.401999 Event: Receiver handler : Ready
-On: 2011-07-25 18:14:59.402065 Event: Start Call
-On: 2011-07-25 18:14:59.402191 Event: waiting Feedback
-On: 2011-07-25 18:15:08.341758 Event: Test Succeed
-On: 2011-07-25 18:15:08.348842 Event:
-On: 2011-07-25 18:15:08.348928 Event: init Caller
-On: 2011-07-25 18:15:11.354522 Event: Cannt connect to Caller
-On: 2011-07-25 18:15:11.354599 Event: xxx General Handler Error: Could not connect to Caller handler
-On: 2011-07-25 18:15:11.360877 Event:
-On: 2011-07-25 18:15:11.360963 Event: init Caller
-On: 2011-07-25 18:15:14.366910 Event: Connected to Caller Handler
-On: 2011-07-25 18:15:14.370364 Event: Caller Handler respond
-On: 2011-07-25 18:15:14.371764 Event: Caller handler : Ready
-On: 2011-07-25 18:15:14.371828 Event: init Receiver
-On: 2011-07-25 18:15:14.371861 Event: sip
-On: 2011-07-25 18:15:17.378689 Event: Connected to Receiver Handler
-On: 2011-07-25 18:15:17.378995 Event: Receiver Handler respond
-On: 2011-07-25 18:15:17.379866 Event: Receiver handler : Ready
-On: 2011-07-25 18:15:17.379926 Event: Start Call
-On: 2011-07-25 18:15:17.380045 Event: waiting Feedback
-On: 2011-07-25 18:15:19.772125 Event: Test Succeed
+------------------STARTED THE LOGGING 2011-07-29 14:42:50.048089 ------------------
+On: 2011-07-29 14:42:50.048200 Event: init Caller
+On: 2011-07-29 14:42:53.054999 Event: Connected to Caller Handler
+On: 2011-07-29 14:42:53.055232 Event: Caller Handler respond
+On: 2011-07-29 14:42:53.056119 Event: Caller handler : Ready
+On: 2011-07-29 14:42:53.056186 Event: init Receiver
+On: 2011-07-29 14:42:56.062542 Event: Connected to Receiver Handler
+On: 2011-07-29 14:42:56.062902 Event: 998 General Handler Error: Could not connect Destination handler
-------------------STARTED THE LOGGING 2011-07-25 18:17:02.107533 ------------------
-On: 2011-07-25 18:17:02.107636 Event: init Caller
-On: 2011-07-25 18:17:05.114113 Event: Connected to Caller Handler
-On: 2011-07-25 18:17:05.114422 Event: Caller Handler respond
-On: 2011-07-25 18:17:05.115279 Event: Caller handler : Ready
-On: 2011-07-25 18:17:05.115341 Event: init Receiver
-On: 2011-07-25 18:17:05.115377 Event: gsmBox1
-On: 2011-07-25 18:17:08.119612 Event: Connected to Receiver Handler
-On: 2011-07-25 18:17:08.122865 Event: Receiver Handler respond
-On: 2011-07-25 18:17:08.124230 Event: Receiver handler : Ready
-On: 2011-07-25 18:17:08.124294 Event: Start Call
-On: 2011-07-25 18:17:08.124391 Event: waiting Feedback
-On: 2011-07-25 18:17:15.028654 Event: Test Succeed
+------------------STARTED THE LOGGING 2011-07-29 14:44:51.628040 ------------------
+On: 2011-07-29 14:44:51.628152 Event: init Caller
+On: 2011-07-29 14:44:54.633527 Event: Connected to Caller Handler
+On: 2011-07-29 14:44:54.633837 Event: Caller Handler respond
+On: 2011-07-29 14:44:54.634705 Event: Caller handler : Ready
+On: 2011-07-29 14:44:54.634765 Event: init Receiver
+On: 2011-07-29 14:44:57.639070 Event: Connected to Receiver Handler
+On: 2011-07-29 14:44:57.639593 Event: Receiver Handler respond
+On: 2011-07-29 14:44:57.639977 Event: Receiver handler : Ready
+On: 2011-07-29 14:44:57.640042 Event: Start Call
+On: 2011-07-29 14:44:57.640153 Event: Waiting Feedback
+On: 2011-07-29 14:45:26.853252 Event: Test Failed
+On: 2011-07-29 14:45:29.863146 Event:
+On: 2011-07-29 14:45:29.863235 Event: init Caller
+On: 2011-07-29 14:45:32.870446 Event: Connected to Caller Handler
+On: 2011-07-29 14:45:32.870621 Event: Caller Handler respond
+On: 2011-07-29 14:45:32.870701 Event: Caller handler : Ready
+On: 2011-07-29 14:45:32.870717 Event: init Receiver
+On: 2011-07-29 14:45:35.874572 Event: Connected to Receiver Handler
+On: 2011-07-29 14:45:35.874863 Event: Receiver Handler respond
+On: 2011-07-29 14:45:35.875730 Event: Receiver handler : Ready
+On: 2011-07-29 14:45:35.875788 Event: Start Call
+On: 2011-07-29 14:45:35.875898 Event: Waiting Feedback
+On: 2011-07-29 14:46:16.142347 Event: Test Failed
+On: 2011-07-29 14:46:19.151852 Event:
+On: 2011-07-29 14:46:19.151940 Event: init Caller
+On: 2011-07-29 14:46:22.158511 Event: Connected to Caller Handler
+On: 2011-07-29 14:46:22.158812 Event: Caller Handler respond
+On: 2011-07-29 14:46:22.159686 Event: Caller handler : Ready
+On: 2011-07-29 14:46:22.159743 Event: init Receiver
+On: 2011-07-29 14:46:25.166534 Event: Connected to Receiver Handler
+On: 2011-07-29 14:46:25.166964 Event: Receiver Handler respond
+On: 2011-07-29 14:46:25.167200 Event: Receiver handler : Ready
+On: 2011-07-29 14:46:25.167250 Event: Start Call
+On: 2011-07-29 14:46:25.167439 Event: Waiting Feedback
+On: 2011-07-29 14:46:43.253099 Event: Test Succeed
-------------------STARTED THE LOGGING 2011-07-25 18:17:41.958688 ------------------
-On: 2011-07-25 18:17:41.958796 Event: init Caller
-On: 2011-07-25 18:17:44.963170 Event: Connected to Caller Handler
-On: 2011-07-25 18:17:44.966283 Event: Caller Handler respond
-On: 2011-07-25 18:17:44.967774 Event: Caller handler : Ready
-On: 2011-07-25 18:17:44.967841 Event: init Receiver
-On: 2011-07-25 18:17:44.967875 Event: sip
-On: 2011-07-25 18:17:47.974989 Event: Connected to Receiver Handler
-On: 2011-07-25 18:17:47.975264 Event: Receiver Handler respond
-On: 2011-07-25 18:17:47.976128 Event: Receiver handler : Ready
-On: 2011-07-25 18:17:47.976194 Event: Start Call
-On: 2011-07-25 18:17:47.976310 Event: waiting Feedback
-On: 2011-07-25 18:17:50.452525 Event: Test Succeed
+------------------STARTED THE LOGGING 2011-07-29 14:47:04.256360 ------------------
+On: 2011-07-29 14:47:04.256472 Event: init Caller
+On: 2011-07-29 14:47:07.263530 Event: Connected to Caller Handler
+On: 2011-07-29 14:47:07.263735 Event: Caller Handler respond
+On: 2011-07-29 14:47:07.264641 Event: Caller handler : Ready
+On: 2011-07-29 14:47:07.264709 Event: init Receiver
+On: 2011-07-29 14:47:10.271600 Event: Connected to Receiver Handler
+On: 2011-07-29 14:47:10.272119 Event: Receiver Handler respond
+On: 2011-07-29 14:47:10.272504 Event: Receiver handler : Ready
+On: 2011-07-29 14:47:10.272570 Event: Start Call
+On: 2011-07-29 14:47:10.272677 Event: Waiting Feedback
+On: 2011-07-29 14:47:38.832809 Event: Test Failed
+On: 2011-07-29 14:47:41.844280 Event:
+On: 2011-07-29 14:47:41.844368 Event: init Caller
+On: 2011-07-29 14:47:44.851027 Event: Connected to Caller Handler
+On: 2011-07-29 14:47:44.851539 Event: Caller Handler respond
+On: 2011-07-29 14:47:44.851878 Event: Caller handler : Ready
+On: 2011-07-29 14:47:44.851922 Event: init Receiver
+On: 2011-07-29 14:47:47.856640 Event: Connected to Receiver Handler
+On: 2011-07-29 14:47:47.858122 Event: Receiver Handler respond
+On: 2011-07-29 14:47:47.858946 Event: Receiver handler : Ready
+On: 2011-07-29 14:47:47.859004 Event: Start Call
+On: 2011-07-29 14:47:47.859115 Event: Waiting Feedback
+On: 2011-07-29 14:47:56.133582 Event: Test Succeed
-------------------STARTED THE LOGGING 2011-07-25 18:19:00.933069 ------------------
-On: 2011-07-25 18:19:00.933171 Event: init Caller
-On: 2011-07-25 18:19:03.940235 Event: Connected to Caller Handler
-On: 2011-07-25 18:19:03.940545 Event: Caller Handler respond
-On: 2011-07-25 18:19:03.941410 Event: Caller handler : Ready
-On: 2011-07-25 18:19:03.941502 Event: init Receiver
-On: 2011-07-25 18:19:03.941554 Event: sip
-On: 2011-07-25 18:19:06.948483 Event: Connected to Receiver Handler
-On: 2011-07-25 18:19:06.948778 Event: Receiver Handler respond
-On: 2011-07-25 18:19:06.949684 Event: Receiver handler : Ready
-On: 2011-07-25 18:19:06.949741 Event: Start Call
-On: 2011-07-25 18:19:06.949867 Event: waiting Feedback
-On: 2011-07-25 18:19:12.524362 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:20:32.637749 ------------------
-On: 2011-07-25 18:20:32.637790 Event: init Caller
-On: 2011-07-25 18:20:35.643888 Event: Connected to Caller Handler
-On: 2011-07-25 18:20:35.644140 Event: Caller Handler respond
-On: 2011-07-25 18:20:35.645006 Event: Caller handler : Ready
-On: 2011-07-25 18:20:35.645074 Event: init Receiver
-On: 2011-07-25 18:20:35.645111 Event: unisip
-On: 2011-07-25 18:20:38.652012 Event: Connected to Receiver Handler
-On: 2011-07-25 18:20:38.652353 Event: Receiver Handler respond
-On: 2011-07-25 18:20:38.653181 Event: Receiver handler : Ready
-On: 2011-07-25 18:20:38.653246 Event: Start Call
-On: 2011-07-25 18:20:38.653355 Event: waiting Feedback
-On: 2011-07-25 18:20:44.204865 Event: Test Succeed
+------------------STARTED THE LOGGING 2011-07-29 14:50:48.504321 ------------------
+On: 2011-07-29 14:50:48.504430 Event: init Caller
+On: 2011-07-29 14:50:51.511604 Event: Connected to Caller Handler
+On: 2011-07-29 14:50:51.511884 Event: Caller Handler respond
+On: 2011-07-29 14:50:51.512755 Event: Caller handler : Ready
+On: 2011-07-29 14:50:51.512824 Event: init Receiver
+On: 2011-07-29 14:50:54.519201 Event: Connected to Receiver Handler
+On: 2011-07-29 14:50:54.519509 Event: Receiver Handler respond
+On: 2011-07-29 14:50:54.519766 Event: Receiver handler : Ready
+On: 2011-07-29 14:50:54.519818 Event: Start Call
+On: 2011-07-29 14:50:54.519903 Event: Waiting Feedback
+On: 2011-07-29 14:51:10.710984 Event: Test Succeed
diff --git a/For Weekly Test/30-07-2011/client.py b/For Weekly Test/30-07-2011/client.py
deleted file mode 100644
index 798394d..0000000
--- a/For Weekly Test/30-07-2011/client.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import ClientClass
-
-caller = ClientClass.Connection('localhost',50099)
-caller.connect()
-caller.sendData('HELLO HANDLER')
-
-if caller.receiveData(30)== 'HELLO CONTROLLER':
- caller.sendData('CALLER|930')
-else:
- print caller.receiveData(30)
-
-while 1:
- if caller.receiveData(30) == 'CALLER READY':
- caller.sendData('CALL START')
- else:
- caller.receiveData(30)
diff --git a/For Weekly Test/30-07-2011/gsmselftest.py b/For Weekly Test/30-07-2011/gsmselftest.py
new file mode 100755
index 0000000..d3317be
--- /dev/null
+++ b/For Weekly Test/30-07-2011/gsmselftest.py
@@ -0,0 +1,271 @@
+#! /usr/bin/env python
+import sys
+import ControllerClass
+import DbClass
+import PingClass
+import DeviceAddressClass
+from time import sleep
+
+def ping(handler):
+
+ global serverStatus
+
+ if handler == 'landline':
+ server = PingClass.Ping('sipgate.de')
+ serverStatus = server.ping(3)
+
+ elif handler == 'sip':
+ server = PingClass.Ping('132.230.4.8')
+ serverStatus = server.ping(3)
+
+ elif handler == 'unisip':
+ server = PingClass.Ping('132.230.252.228')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr1':
+ server = PingClass.Ping('localhost')
+ serverStatus = server.ping(3)
+
+ elif handler == 'gsmr2':
+ server = PingClass.Ping('132.230.4.64')
+ serverStatus = server.ping(3)
+ else:
+ serverStatus = 1
+
+def allPing():
+
+ global sipGate
+ global sipServer
+ global sipLoc
+ global gsmBox1
+ global gsmBox2
+
+ server = PingClass.Ping('sipgate.de')
+ sipGate = server.ping(3)
+
+ server = PingClass.Ping('132.230.4.8')
+ sipServer = server.ping(3)
+
+ server = PingClass.Ping('132.230.252.228')
+ sipLoc = server.ping(3)
+
+ server = PingClass.Ping('localhost')
+ gsmBox1 = server.ping(3)
+
+ server = PingClass.Ping('132.230.4.64')
+ gsmBox2 = server.ping(3)
+
+
+def doTest(callFrom,callTo):
+ global testRepeat
+ testRepeat = None
+ ping(callFrom)
+ device = DeviceAddressClass.DeviceAddress()
+
+ if serverStatus <> 0:
+
+ ping(callTo)
+ if serverStatus <> 0:
+ device.findDevice(callTo)
+ recAdd = device.add
+ destNo = str(device.num)
+
+ device.findDevice(callFrom)
+ callAdd = device.add
+
+ print '\n'
+ print "Caller: ", callFrom
+ print 'Destination: ', callTo
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ if makeTest.repeatTest == True:
+ testRepeat = True
+
+ print "Result :", makeTest.testResult
+ sleep(3)
+ else:
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+
+def doSipTest():
+
+ print '--SIP Part Test--'
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+ #destList = ['unisip']
+ for callTo in destList:
+
+ callFrom = 'sip'
+ if callFrom <> callTo:
+ doTest(callFrom, callTo)
+ if testRepeat == True:
+ doTest(callTo,callFrom)
+
+def doLandlineTest():
+
+ print '--Landline Part Test--'
+ destList = ['gsmr1', 'gsmr2', 'gsmr3', 'sip']
+
+ for callTo in destList:
+
+ callFrom = 'landline'
+ doTest(callFrom, callTo)
+ if testRepeat == True:
+ doTest(callTo,callFrom)
+
+def doGsmrzTest():
+
+ print '--GSM Part Test--'
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+ callList = ['gsmr1','gsmr2', 'gsmr3']
+
+ for callFrom in callList:
+
+ for callTo in destList:
+ if callTo <> callFrom:
+ doTest(callFrom, callTo)
+ if testRepeat == True:
+ doTest(callTo,callFrom)
+
+ doGsmExtTest()
+
+def doGsmExtTest():
+
+ destList = ['sip', 'gsmr1','gsmr2', 'gsmr3']
+ callList = ['gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
+
+ for callFrom in callList:
+ for callTo in destList:
+
+ doTest(callFrom, callTo)
+ if testRepeat == True:
+ doTest(callTo,callFrom)
+
+def doAllTest():
+
+ doSipTest()
+ doLandlineTest()
+ doGsmTest()
+
+if len(sys.argv) > 1:
+
+ command = sys.argv[1]
+ print '\n'
+
+ if command == '--all':
+ doAllTest()
+
+ elif command == '--sip':
+ doSipTest()
+
+ elif command == '--gsm':
+ doGsmTest()
+
+ elif command == '--landline':
+ doLandlineTest()
+
+ 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:
+ print '\n'
+ db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
+ db.connectDB()
+ dbStatus = db.connectDB()
+
+ if dbStatus == 1:
+
+ if db.anyTasksToDo() == 1:
+
+ allPing()
+ i=0
+ for item in db.tasksList:
+ taskID = item[0]
+ taskNo = item[1]
+ callFrom = item[2]
+ callTo = item[3]
+
+ destination = db.deviceAddress(str(callTo))
+
+ caller = db.deviceAddress(str(callFrom))
+
+ callAdd = caller[0]
+ recAdd = destination[0]
+ destNo = destination[1]
+
+ #if i == 0:
+ # db.updatePingResult(taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2)
+
+ if callFrom == 'unisip':
+ destNo = destNo[7:]
+
+ print '\n'
+ print "Task ID: ", taskID
+ print "Calling From: ", callFrom
+ print "To: ", callTo
+ print "number: ", destNo
+
+ ping(callFrom)
+
+ if serverStatus <> 0:
+
+ ping(callTo)
+ if serverStatus <> 0:
+
+ makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
+ makeTest.FuncTest()
+
+ db.addResult(taskID, makeTest.testResult)
+
+ if makeTest.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
+
+ print "Result :", makeTest.testResult
+
+ db.deleteTempTask(taskID)
+ db.tasksList.remove(item)
+ db.tasksList.insert(i,'')
+ i = i+1
+
+ sleep(3)
+ else:
+ db.addResult(taskID, '500')
+ print "[failed] 500 "+callTo+ " Server Internal Error"
+ else:
+ db.addResult(taskID, '500')
+ print "[failed] 500 "+callFrom+ " Server Internal Error"
+ db.cleanTasksList()
+ else:
+ print "No job at all"
+ else:
+ sys.exit(5)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/For Weekly Test/30-07-2011/help.txt b/For Weekly Test/30-07-2011/help.txt
new file mode 100644
index 0000000..ccbc193
--- /dev/null
+++ b/For Weekly Test/30-07-2011/help.txt
@@ -0,0 +1,11 @@
+
+
+Usage: python gsmselftest.py [option]
+
+Options and arguments (and corresponding environment variables):
+
+--all : To execute all test case
+--sip : To execute ALL test case
+--gsm : To execute GSM test case
+--extGsm : To execute external GSM test case
+--landline : To execute Landline test case
diff --git a/For Weekly Test/30-07-2011/sipHandler2.log b/For Weekly Test/30-07-2011/sipHandler2.log
deleted file mode 100644
index 781f71c..0000000
--- a/For Weekly Test/30-07-2011/sipHandler2.log
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:15:08.546646 ------------------
-On: 2011-07-25 18:15:08.560265 Event: try to Connect to Controller
-On: 2011-07-25 18:15:08.561619 Event: cant connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:14:53.541605 ------------------
-On: 2011-07-25 18:14:53.554463 Event: try to Connect to Controller
-On: 2011-07-25 18:14:56.392627 Event: Beeing SIP
-On: 2011-07-25 18:14:56.392803 Event: init state
-On: 2011-07-25 18:14:56.392874 Event: Register Account to SIP server
-On: 2011-07-25 18:14:56.393398 Event: 100
-On: 2011-07-25 18:14:56.393516 Event: Caller Handler Ready
-On: 2011-07-25 18:15:04.405530 Event: CALL START
-On: 2011-07-25 18:15:04.405630 Event: Make a call to: 076145875681
-On: 2011-07-25 18:15:08.341351 Event: Call Connecting
-On: 2011-07-25 18:15:08.341423 Event: 200
-On: 2011-07-25 18:15:08.342527 Event: Terminate
-On: 2011-07-25 18:15:08.342586 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:14:56.580433 ------------------
-On: 2011-07-25 18:14:56.593545 Event: try to Connect to Controller
-On: 2011-07-25 18:14:59.398903 Event: Beeing Landline
-On: 2011-07-25 18:14:59.399076 Event: init state
-On: 2011-07-25 18:14:59.399145 Event: Register Account to SIP server
-On: 2011-07-25 18:14:59.401855 Event: 100
-On: 2011-07-25 18:14:59.401956 Event: Receiver Handler Ready
-On: 2011-07-25 18:14:59.402182 Event: RECEIVE START
-On: 2011-07-25 18:15:07.275120 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-25 18:15:07.776533 Event: Call Connecting
-On: 2011-07-25 18:15:07.776602 Event: 200
-On: 2011-07-25 18:15:07.776802 Event: Answer call
-On: 2011-07-25 18:15:08.277520 Event: Hangup call
-On: 2011-07-25 18:15:08.277868 Event: CALL OK
-On: 2011-07-25 18:15:08.328895 Event: Call Disconnected
-On: 2011-07-25 18:15:08.341976 Event: Terminate
-On: 2011-07-25 18:15:08.342053 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:15:14.555440 ------------------
-On: 2011-07-25 18:15:14.565189 Event: try to Connect to Controller
-On: 2011-07-25 18:15:17.378965 Event: Beeing SIP
-On: 2011-07-25 18:15:17.379135 Event: init state
-On: 2011-07-25 18:15:17.379206 Event: Register Account to SIP server
-On: 2011-07-25 18:15:17.379748 Event: 100
-On: 2011-07-25 18:15:17.379826 Event: Receiver Handler Ready
-On: 2011-07-25 18:15:17.380044 Event: RECEIVE START
-On: 2011-07-25 18:15:18.212245 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-07-25 18:15:18.713694 Event: Call Connecting
-On: 2011-07-25 18:15:18.713764 Event: 200
-On: 2011-07-25 18:15:18.713996 Event: Answer call
-On: 2011-07-25 18:15:19.214679 Event: Hangup call
-On: 2011-07-25 18:15:19.215053 Event: CALL OK
-On: 2011-07-25 18:15:19.266088 Event: Call Disconnected
-On: 2011-07-25 18:15:19.772360 Event: Terminate
-On: 2011-07-25 18:15:19.772438 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:17:02.263362 ------------------
-On: 2011-07-25 18:17:02.276051 Event: try to Connect to Controller
-On: 2011-07-25 18:17:05.114394 Event: Beeing SIP
-On: 2011-07-25 18:17:05.114567 Event: init state
-On: 2011-07-25 18:17:05.114638 Event: Register Account to SIP server
-On: 2011-07-25 18:17:05.115163 Event: 100
-On: 2011-07-25 18:17:05.115240 Event: Caller Handler Ready
-On: 2011-07-25 18:17:13.125524 Event: CALL START
-On: 2011-07-25 18:17:13.125629 Event: Make a call to: 4661447
-On: 2011-07-25 18:17:14.852807 Event: Call Connecting
-On: 2011-07-25 18:17:14.852880 Event: 200
-On: 2011-07-25 18:17:15.028918 Event: Terminate
-On: 2011-07-25 18:17:15.029006 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:17:45.129026 ------------------
-On: 2011-07-25 18:17:45.142058 Event: try to Connect to Controller
-On: 2011-07-25 18:17:47.975224 Event: Beeing SIP
-On: 2011-07-25 18:17:47.975367 Event: init state
-On: 2011-07-25 18:17:47.975426 Event: Register Account to SIP server
-On: 2011-07-25 18:17:47.975961 Event: 100
-On: 2011-07-25 18:17:47.976035 Event: Receiver Handler Ready
-On: 2011-07-25 18:17:47.976385 Event: RECEIVE START
-On: 2011-07-25 18:17:48.838579 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-07-25 18:17:49.339988 Event: Call Connecting
-On: 2011-07-25 18:17:49.340058 Event: 200
-On: 2011-07-25 18:17:49.340258 Event: Answer call
-On: 2011-07-25 18:17:49.840934 Event: Hangup call
-On: 2011-07-25 18:17:49.841303 Event: CALL OK
-On: 2011-07-25 18:17:49.842036 Event: Call Disconnected
-On: 2011-07-25 18:17:50.452655 Event: Terminate
-On: 2011-07-25 18:17:50.452680 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:19:04.130794 ------------------
-On: 2011-07-25 18:19:04.144153 Event: try to Connect to Controller
-On: 2011-07-25 18:19:06.948727 Event: Beeing SIP
-On: 2011-07-25 18:19:06.948916 Event: init state
-On: 2011-07-25 18:19:06.948991 Event: Register Account to SIP server
-On: 2011-07-25 18:19:06.949561 Event: 100
-On: 2011-07-25 18:19:06.949642 Event: Receiver Handler Ready
-On: 2011-07-25 18:19:06.949861 Event: RECEIVE START
-On: 2011-07-25 18:19:11.997474 Event: {Call "4976120397897" <sip:4976120397897@132.230.4.8>}
-On: 2011-07-25 18:19:12.498758 Event: Call Connecting
-On: 2011-07-25 18:19:12.498827 Event: 200
-On: 2011-07-25 18:19:12.499026 Event: Answer call
-On: 2011-07-25 18:19:12.524644 Event: Terminate
-On: 2011-07-25 18:19:12.524669 Event: Goodbye
-On: 2011-07-25 18:19:12.999666 Event: Hangup call
-On: 2011-07-25 18:19:13.000009 Event: CALL OK
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:19:01.118826 ------------------
-On: 2011-07-25 18:19:01.129221 Event: try to Connect to Controller
-On: 2011-07-25 18:19:03.940517 Event: Beeing University SIP
-On: 2011-07-25 18:19:03.940686 Event: init state
-On: 2011-07-25 18:19:03.940758 Event: Register Account to SIP server
-On: 2011-07-25 18:19:03.941296 Event: 100
-On: 2011-07-25 18:19:03.941371 Event: Caller Handler Ready
-On: 2011-07-25 18:19:11.953492 Event: CALL START
-On: 2011-07-25 18:19:11.953562 Event: Make a call to: 4661928
-On: 2011-07-25 18:19:12.524058 Event: Call Connecting
-On: 2011-07-25 18:19:12.524132 Event: 200
-On: 2011-07-25 18:19:12.525120 Event: Terminate
-On: 2011-07-25 18:19:12.525175 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:20:32.795622 ------------------
-On: 2011-07-25 18:20:32.805566 Event: try to Connect to Controller
-On: 2011-07-25 18:20:35.644115 Event: Beeing SIP
-On: 2011-07-25 18:20:35.644252 Event: init state
-On: 2011-07-25 18:20:35.644311 Event: Register Account to SIP server
-On: 2011-07-25 18:20:35.644847 Event: 100
-On: 2011-07-25 18:20:35.644943 Event: Caller Handler Ready
-On: 2011-07-25 18:20:43.658498 Event: CALL START
-On: 2011-07-25 18:20:43.658597 Event: Make a call to: 076120397897
-On: 2011-07-25 18:20:44.204552 Event: Call Connecting
-On: 2011-07-25 18:20:44.204622 Event: 200
-On: 2011-07-25 18:20:44.205528 Event: Terminate
-On: 2011-07-25 18:20:44.205597 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-25 18:20:35.802639 ------------------
-On: 2011-07-25 18:20:35.812459 Event: try to Connect to Controller
-On: 2011-07-25 18:20:38.652252 Event: Beeing University SIP
-On: 2011-07-25 18:20:38.652394 Event: init state
-On: 2011-07-25 18:20:38.652482 Event: Register Account to SIP server
-On: 2011-07-25 18:20:38.653012 Event: 100
-On: 2011-07-25 18:20:38.653089 Event: Receiver Handler Ready
-On: 2011-07-25 18:20:38.653378 Event: RECEIVE START
-On: 2011-07-25 18:20:43.670988 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-07-25 18:20:44.172405 Event: Call Connecting
-On: 2011-07-25 18:20:44.172474 Event: 200
-On: 2011-07-25 18:20:44.172675 Event: Answer call
-On: 2011-07-25 18:20:44.205320 Event: Terminate
-On: 2011-07-25 18:20:44.205413 Event: Goodbye
-On: 2011-07-25 18:20:44.673307 Event: Hangup call
-On: 2011-07-25 18:20:44.673716 Event: CALL OK
-On: 2011-07-25 18:20:44.674459 Event: Call Disconnected
diff --git a/For Weekly Test/DBProblem/DbClass.pyc b/For Weekly Test/DBProblem/DbClass.pyc
new file mode 100644
index 0000000..a10d822
--- /dev/null
+++ b/For Weekly Test/DBProblem/DbClass.pyc
Binary files differ
diff --git a/For Weekly Test/DBProblem/inserte.py b/For Weekly Test/DBProblem/inserte.py
new file mode 100644
index 0000000..c37673f
--- /dev/null
+++ b/For Weekly Test/DBProblem/inserte.py
@@ -0,0 +1,24 @@
+import sys
+#import ClientClass
+import DbClass
+#import ControllerClass
+#import classCheck
+from time import sleep
+
+
+db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
+db.connectDB()
+dbStatus = db.connectDB()
+print 'i am inserting into the table something', db.insertTaskIn2('sip','unisip',2)
+print 'i am inserting into the table something', db.insertTaskIn2('unisip','sip',2)
+print 'i am inserting into the table something', db.insertTaskIn2('sip','landline',2)
+print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmeO',2)
+print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmeV',2)
+print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmeE',2)
+print 'i am inserting into the table something', db.insertTaskIn2('landline','sip',2)
+#print 'i am inserting into the table something', db.insertTaskIn2('landline','gsmr2',2)
+print 'i am inserting into the table something', db.insertTaskIn2('landline','unisip',2)
+#print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmr2',2)
+#print 'i am inserting into the table something', db.insertTaskIn2('gsmeO','sip',2)
+#print 'i am inserting into the table something', db.insertTaskIn2('gsmeV','sip',2)
+#print 'i am inserting into the table something', db.insertTaskIn2('gsmeE','sip',2)
diff --git a/For Weekly Test/DBProblem/test3.py b/For Weekly Test/DBProblem/test3.py
index d600124..4450790 100644
--- a/For Weekly Test/DBProblem/test3.py
+++ b/For Weekly Test/DBProblem/test3.py
@@ -15,8 +15,8 @@ print 'i am inserting into the table something', db.insertTaskIn2('gsm4','sip8',
print 'i am inserting into the table something', db.insertTaskIn2('gsm4','sip8',2)
db.anyTasksToDo()
if db.anyTasksToDo() == 1:
- templist = db.tasksList
- for item in templist:
+
+ for item in db.tasksList:
taskID = item[0]
taskNo = item[1]
callFrom = item[2]
diff --git a/Handler/sipHandler.py b/Handler/sipHandler.py
index 91e3f62..e404e03 100644
--- a/Handler/sipHandler.py
+++ b/Handler/sipHandler.py
@@ -1,7 +1,7 @@
import sys
import string
import pjsua as pj
-import classServer
+import ServerClass
import LogFileClass
from time import sleep
@@ -30,7 +30,7 @@ class Account(pj.AccountCallback):
logger.logEvent("Hangup call")
call.hangup()
- logger.logEvent('200')
+ logger.logEvent('CALL OK')
class Calling(pj.CallCallback):
@@ -44,12 +44,12 @@ class Calling(pj.CallCallback):
if self.call.info().state_text == "CONNECTING":
logger.logEvent("Call Connecting")
logger.logEvent('200')
- server.sendData('200')
+ server.sendData('CALL OK')
if self.call.info().last_reason == "Busy Here":
logger.logEvent('Number busy or Offline')
- server.sendData('486')
- logger.logEvent('486')
+ server.sendData('CALL NOT OK')
+ logger.logEvent('CALL NOT OK')
if self.call.info().state == pj.CallState.DISCONNECTED:
logger.logEvent('Call Disconnected')
@@ -68,47 +68,66 @@ def make_call(uri):
logger.logEvent('408')
return None
-global acc_cfg
-global handler
-global state
+def greeting():
+ global server
+ global status
+ global port
-handler = sys.argv[1]
-port = sys.argv[2]
+ port = sys.argv[2]
+ server = None
+ status = None
-lib = pj.Lib()
-stop = False
+ server = ServerClass.ServerHandler(port)
+ logger.logEvent('try to Connect to Controller')
+ conn = server.openSocket()
-logger = LogFileClass.Logging('sipHandler.log')
-logger.logEvent('')
+ 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)
-while stop <> True:
-
- acc_cfg = None
+def initState():
+ global message
+ global state
+ global num
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
+ logger.logEvent('init state')
+ message = server.receiveData(30)
- lib.start()
- lib.set_null_snd_dev()
+ if message == 'RECEIVER':
+ state = 'RECEIVER'
+
+ elif message[0:6] == 'CALLER':
+ state = 'CALLER'
+ num = message[7:]
+
+def initHandler():
+ global acc_cfg
+ global handler
+ global sipServer
- server = classServer.ServerHandler(port)
- logger.logEvent('Connect to Controller')
- conn = server.openSocket()
- message = server.receiveData(30)
- num = message[7:]
+ handler = sys.argv[1]
+
if handler == 'sip':
logger.logEvent('Beeing SIP')
acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
+ sipServer = '132.230.4.8'
- elif handler == 'landline':
+ elif handler == 'landline':
logger.logEvent('Beeing Landline')
acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
+ sipServer = 'sipgate.de'
elif handler == 'unisip':
logger.logEvent('Beeing University SIP')
acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
+ sipServer = '132.230.252.228'
else:
logger.logEvent('Unknown Message')
@@ -116,45 +135,73 @@ while stop <> True:
server.closeConnection()
sys.exit(1)
- try:
+
+lib = pj.Lib()
+stop = False
+
+logger = LogFileClass.Logging('sipHandler.log')
+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()
+ initHandler()
+
+ try:
+ initState()
logger.logEvent('Register Account to SIP server')
acc = lib.create_account(acc_cfg, cb=Account())
if acc.info().reg_status < 700:
- if message.find('RECEIVER') <> -1:
+ if state =='RECEIVER':
logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
+ server.sendData('RECEIVER READY')
logger.logEvent('Receiver Handler Ready')
while 1:
data = server.receiveData(3)
- if data == "487":
+ if data == 'RECEIVE START':
+ logger.logEvent(data)
+
+ if data == 'TERMINATE CONNECTION':
logger.logEvent('Terminate')
stop = True
break
- elif message.find('CALLER') <> -1:
+ elif state =='CALLER':
logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
+ server.sendData('CALLER READY')
logger.logEvent('Caller Handler Ready')
while 1:
data = server.receiveData(3)
- if event == "start" and num <> "":
-
- logger.logEvent(event)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@132.230.4.8"
- make_call(number)
-
- if data == "487":
+ if data == 'CALL START':
+ if num <> '':
+ sleep(5)
+ 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
@@ -163,7 +210,7 @@ while stop <> True:
logger.logEvent('Unknow Message')
server.sendData('Unknow Message')
server.closeConnection()
- sys.exit(1)
+ sys.exit(0.5)
else:
logger.logEvent("488 Not Acceptable Here")
diff --git a/Website/Result.php b/Website/Result.php
new file mode 100644
index 0000000..d9eaa34
--- /dev/null
+++ b/Website/Result.php
@@ -0,0 +1,42 @@
+<?php
+$dbuser = "root"; //username for the db
+$dbpass = "randompasswordSQL"; //password for the above db user
+
+$dbname = "gsmselftesting"; //name of the db on mysql server
+$server = "localhost"; //address of the mysql server
+
+$db_handle = mysql_connect($server, $dbuser, $dbpass);
+
+$db_found = mysql_select_db($dbname, $db_handle);
+
+if ($db_found==1) {
+
+ $SQL = "SELECT TaskTable.taskID, `from`, `to` , ResultTable.result , ErrorCodeTable.description FROM TaskTable, ResultTable, ErrorCodeTable where TaskTable.taskID = ResultTable.taskID and ErrorCodeTable.errorcode=ResultTable.result";
+ $result = mysql_query($SQL);
+
+ echo "<table>";
+ echo "<tbody align = 'center'>";
+ echo " <tr align='center'>";
+ echo " <td align='center' width='100'>Task ID</td>";
+ echo " <td align='center' width='100'>From</td>";
+ echo " <td align='center' width='100'>To</td>";
+ echo " <td align='center' width='100'>Result</td>";
+ echo " <td align='center' width='100'>Description</td>";
+ echo " </tr>";
+
+
+ while($row = mysql_fetch_row($result))
+ {
+ print "<tr>";
+ foreach ( $row as $field )
+ {
+ print "<td align='center' width='100'>".stripslashes($field)."</td>";
+
+ }
+ print "</tr>";
+ }
+
+ }
+ mysql_close($db_handle);
+
+?>
diff --git a/notFinishedCode/dbClass.pyc b/notFinishedCode/dbClass.pyc
index 36b2651..ed7c69d 100644
--- a/notFinishedCode/dbClass.pyc
+++ b/notFinishedCode/dbClass.pyc
Binary files differ
diff --git a/notFinishedCode/dbDemo.py b/notFinishedCode/dbDemo.py
index 570336c..50dc6b6 100644
--- a/notFinishedCode/dbDemo.py
+++ b/notFinishedCode/dbDemo.py
@@ -8,11 +8,19 @@ x = dbClass.DBMySQLConnection(user, passw, host, dbname)
print "connected to the DB ", x.connectDB()
print "do i have anything to do", x.anyTasksToDo()
for item in x.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- print "call from to ", taskID , callFrom , callTo, taskNo
+ item = x.tasksList[index]
+ tempItem = item
+ taskID = item[0]
+ taskNo = item[1]
+ callFrom = item[2]
+ callTo = item[3]
+ testDone = item[4]
+ print "call from to ", taskID , callFrom , callTo, taskNo, testDone
+ if testDone == str(0):
+ print item[0]
+ tempItem[4]=str(1)
+ print "delete a task from temp table", x.deleteTempTask(taskID)
+ x.tasksList[index]=tempItem
print "found", x.searchTaskList('S1IP2','GSM1')
#if variable == 0:
@@ -23,7 +31,7 @@ print "remove a task ",x.removeTaskFromList('2')
#print x.cleanTasksList()
for item in x.tasksList:
- device = item[2]
+ device = item[3]
print "device name", device
deviceAN= x.deviceAddress(str(device))
print "device's IP and number", deviceAN[0], deviceAN[1]
@@ -46,10 +54,10 @@ print "add a result to the table", x.addResult(4,34)
# callTo = item[2]
# print "call from to ", taskID , callFrom , callTo
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
+#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
+#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
+#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
+#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
#-----------------------------------------------------------------------------------
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
for item in x.tasksList: