summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortriatmoko2011-07-19 17:35:27 +0200
committertriatmoko2011-07-19 17:35:27 +0200
commitdc7fa5cd6142a6be7c9e40a3ea25a293c7b51476 (patch)
treef5f632383b022fda908246503cd2eb6b86c0ecb9
parentedit loging file for sip rec handler. (diff)
downloadgsm-selftest-dc7fa5cd6142a6be7c9e40a3ea25a293c7b51476.tar.gz
gsm-selftest-dc7fa5cd6142a6be7c9e40a3ea25a293c7b51476.tar.xz
gsm-selftest-dc7fa5cd6142a6be7c9e40a3ea25a293c7b51476.zip
renew handler, taken from weekly test which working with charm
-rw-r--r--Controller/Controller.py88
-rw-r--r--Controller/classController.py124
-rw-r--r--For Weekly Test/20-07-2011/landlineReceiver.pyw89
-rw-r--r--For Weekly Test/20-07-2011/sipCall.pyw119
-rw-r--r--Handler/landlineCall.py117
-rw-r--r--Handler/landlineReceiver.py62
-rw-r--r--Handler/localsipReceiver.py63
-rw-r--r--Handler/sipCall.py52
-rw-r--r--Handler/sipReceiver.py60
9 files changed, 289 insertions, 485 deletions
diff --git a/Controller/Controller.py b/Controller/Controller.py
index 9851425..c1d63a4 100644
--- a/Controller/Controller.py
+++ b/Controller/Controller.py
@@ -23,27 +23,13 @@ sipRec = "sipReceiver.py"
landlnCall = "landlineCall.py"
landlnRec = "landlineReceiver.py"
localSipRec = "localsipReceiver.py"
-rz1Call = "rz1Call.py"
-rz1Rec = "rz1Receiver.py"
-o2Call = "o2Call.py"
-o2Rec = "o2Receiver.py"
-vodafoneCall = "vodafoneCall.py"
-vodafoneRec = "vodafoneReceiver.py"
-tmobileCall = "tmobileCall.py"
-tmobilRec = "tmobileReceiver.py"
-
-# One function for all test case
-
-
-
-
# Main software
# Check DB connection
db = classDb.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-print "Connecting to DB ", db.connectDB()
+db.connectDB()
print ""
dbStatus = db.connectDB()
@@ -57,18 +43,19 @@ if dbStatus == 1:
sipGateServer = classPing.Ping('sipgate.de')
sipGateServerStatus = sipGateServer.ping(3)
- sipLocalServer = classPing.Ping('132.230.4.60')
+ sipLocalServer = classPing.Ping('132.230.252.228')
sipLocalServerStatus = sipLocalServer.ping(3)
# Fetch The task information from DB
- print "do i have anything to do", db.anyTasksToDo()
+ db.anyTasksToDo()
#x = ()
for item in db.tasksList:
taskID = item[0]
- callFrom = item[1]
- callTo = item[2]
+ taskNo = item[1]
+ callFrom = item[2]
+ callTo = item[3]
print "Test ID : " , taskID
print "Caller : " , callFrom
@@ -82,15 +69,13 @@ if dbStatus == 1:
if callTo == "gsmrz1":
- x = classController.test(sipCall, "localhost", "gsmincom_.py", "localhost","4661473")
+ x = classController.test(sipCall, "localhost", "gsmincom_.py", "localhost","4661455")
x.FuncTest()
- print "Finish test"
- db.addResult(taskID, testResult)
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- # waiting db class for repeat test from refik which I ask for.
- update
+
+ db.addResult(taskID, x.testResult)
+
+ if x.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
if callTo == "gsmrz2":
@@ -98,12 +83,13 @@ if dbStatus == 1:
print "[failed] 500 Server Internal Error"
else:
- x.FuncTest(sipCall, "localhost", "Box1", "132.0.0.2","404")
- db.addResult(taskID, testResult)
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
+ x = classController.test(sipCall, "localhost", "Box1", "132.0.0.2","404")
+ x.FuncTest()
+
+ db.addResult(taskID, x.testResult)
+
+ if x.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
if callTo == "gsmrz3":
@@ -111,27 +97,39 @@ if dbStatus == 1:
print "[failed] 500 Server Internal Error"
else:
- x.FuncTest(sipCall, "localhost", "Box2", "132.0.0.3","405")
- db.addResult(taskID, testResult)
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
+ x = classController.test(sipCall, "localhost", "Box2", "132.0.0.3","405")
+ x.FuncTest()
+
+ db.addResult(taskID, x.testResult)
+
+ if x.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
+
if callTo == "landline":
- if sipGateSeverStatus == 0:
+
+ if sipGateServerStatus == 0:
print "[failed] 500 Server Internal Error"
else:
- x.FuncTest(sipCall, "localhost", landlnRec, "localhost",landlnNum)
- db.addResult(taskID, testResult)
+ x = classController.test(sipCall, "localhost", landlnRec, "localhost",landlnNum)
+ x.FuncTest()
+
+ db.addResult(taskID, x.testResult)
+
+ if x.repeatTest == True:
+ db.insertTaskIn2(callTo,callFrom,taskNo)
+ sleep(5)
if callTo == "localsip":
- if sipLocalSeverStatus == 0:
+ if sipLocalServerStatus == 0:
print "[failed] 500 Server Internal Error"
else:
- x.FuncTest(sipCall, "localhost", localSipRec, "localhost",unisipNum)
- db.addResult(taskID, testResult)
+ x = classController.test(sipCall, "localhost", localSipRec, "localhost",unisipNum)
+ x.FuncTest()
+
+ db.addResult(taskID, x.testResult)
+ sleep(5)
if callTo == "externalgsm":
x.FuncTest(sipCall, "localhost", o2Rec, "localhost","405")
diff --git a/Controller/classController.py b/Controller/classController.py
index a3e98ff..b7e3bff 100644
--- a/Controller/classController.py
+++ b/Controller/classController.py
@@ -34,7 +34,7 @@ class test:
def timeout_handler(signum, frame):
raise TimeoutException()
-
+ print ""
print "====================== Preparing Test ======================"
try:
@@ -49,8 +49,8 @@ class test:
print ""
print "Connecting to Caller handler"
- print "Caller handler status :", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
+ x.connect()
+ x.sendData('be caller')
else:
# open SIP caller handler
@@ -61,10 +61,7 @@ class test:
sleep(5)
if self.orig=="sipCall.py":
- self.portOrig = 50097
-
- if self.orig=="rz1Call.py":
- self.portOrig = 50098
+ self.portOrig = 50097
if self.orig == "landlineCall.py":
self.portOrig = 50099
@@ -72,23 +69,19 @@ class test:
if self.orig == "LocalSIPCall.py":
self.portOrig = 50100
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
x = classClient.Connection(self.origAdd,self.portOrig)
print ""
- print "Connecting to Caller handler", self.origAdd,self.portOrig
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
+ print "Connecting to Caller handler"
+ x.connect()
# wait respond from origin handler
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(60)
+
while 1:
try:
- origHandler = x.receiveData()
+ origHandler = x.receiveData(0)
if origHandler <> "":
break
@@ -101,9 +94,6 @@ class test:
print "Caller handler : Ready"
print ""
try:
-
- global portDest
-
if self.dest =="gsmBox1" or self.dest =="gsmBox2":
if self.dest =="gsmBox1":
@@ -112,10 +102,10 @@ class test:
if self.dest =="gsmBox2":
self.portDest = 50103
- y = classClient.Connection(destAdd,portDest)
+ y = classClient.Connection(self.destAdd, self.portDest)
print "Connecting to Receiver handler"
- print "Receiver handler status: ", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
+ y.connect()
+ y.sendData('receiver')
else:
command="--command=python " +self.dest
@@ -126,23 +116,15 @@ class test:
if self.dest=="SIPReceiver.py":
self.portDest = 50104
- if self.dest=="rz1Receiver.py":
- self.portDest = 50105
-
if self.dest == "landlineReceiver.py":
self.portDest = 50106
- if self.dest == "LocalSIPReceiver.py":
+ if self.dest == "localsipReceiver.py":
self.portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
- y = classClient.Connection(self.destAdd,portDest)
+ y = classClient.Connection(self.destAdd, self.portDest)
print "Connecting to Receiver handler"
- print "Receiver handler status:", y.connect()
- y.sendData('hello Receiver')
+ y.connect()
signal.signal(signal.SIGALRM, timeout_handler)
@@ -150,7 +132,7 @@ class test:
while 1:
try:
- destHandler = y.receiveData()
+ destHandler = y.receiveData(0)
if destHandler <> "":
break
@@ -161,91 +143,81 @@ class test:
if destHandler == "ready":
print "Receiver handler : Ready"
- print ""
- x.sendData("start")#send message to handler to start the call
- sleep(0.5)
- x.sendData(self.destNo)
-
- x.closeConnection()
- x.connect()
- y.closeConnection()
- y.connect()
+ x.sendData("start|"+self.destNo)#send message to handler to start the call
+
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(120)
+ print ""
print "------------ Test Result ------------"
print ""
while 1:
try:
sleep(0.5)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
+ self.resultOrig = x.receiveData(0)
+ self.resultDest = y.receiveData(0)
- if resultOrig <> "" or resultDest <> "":
+ if self.resultOrig <> "" and self.resultDest <> "":
break
except TimeoutException:
- resultOrig = 486
- resultDest = 486
+ self.resultOrig = 486
+ self.resultDest = 486
break
#if failed, tell everybody to try one more time
- if resultOrig == 486 or resultDest == 486:
+ if self.resultOrig == 486 or self.resultDest == 486:
- x.sendData("start")
- sleep(0.5)
- x.sendData(self.destNo)
-
- x.closeConnection()
- x.connect()
+ x.sendData("start|"+self.destNo)
- y.closeConnection()
- y.connect()
-
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(120)
while 1:
try:
sleep(0.5)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
+ self.resultOrig = x.receiveData(0)
+ self.resultDest = y.receiveData(0)
- if resultOrig <> "" or resultDest <> "":
+ if self.resultOrig <> "" and self.resultDest <> "":
+ print "here"
break
except TimeoutException:
- resultOrig = 486
- resultDest = 486
+ self.resultOrig = 486
+ self.resultDest = 486
break
#if still failed, we make automatic test vice versa
- if resultOrig == 486 or resultDest == 486:
- testResult = 486
- repeatTest = True
- print "Second test result origin: ", resultOrig
- print "Second test result Destination: ", resultDest
+ if self.resultOrig == 486 or self.resultDest == 486:
+ self.testResult = 486
+ self.repeatTest = True
+
+ print "Second test result origin: ", self.resultOrig
+ print "Second test result Destination: ", self.resultDest
else:
- testResult = 200
- print "Second test result origin: ", resultOrig
- print "Second test result Destination: ", resultDest
+ self.testResult = 200
+
+ print "Second test result origin: ", self.resultOrig
+ print "Second test result Destination: ", self.resultDest
x.sendData('487')
y.sendData('487')
else:
- testResult = 200
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
+ self.testResult = 200
+
+ print "Test Result origin: ", self.resultOrig
+ print "Test Result Destination: ", self.resultDest
x.sendData('487')
y.sendData('487')
else:
- testResult = 604
+ self.testResult = 604
print "604 General Handler Error: Destination handler no respond"
#tell Caller handler to terminate because receiver doesnt work
x.sendData('487')
@@ -254,9 +226,9 @@ class test:
except ValueError:
print "601 General Handler Error: Could not open Destination handler"
- testResult = "601"
+ self.testResult = 601
else:
- testResult = 605
+ self.testResult = 605
print "605 General Handler Error: Origin handler no respond"
x.closeConnection()
diff --git a/For Weekly Test/20-07-2011/landlineReceiver.pyw b/For Weekly Test/20-07-2011/landlineReceiver.pyw
deleted file mode 100644
index 470b4c6..0000000
--- a/For Weekly Test/20-07-2011/landlineReceiver.pyw
+++ /dev/null
@@ -1,89 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-from time import sleep
-
-
-
-def log_cb(level, str, len):
- print str, "SIP Handler Receiver Log"
-
-
-class MyAccountCallback(pj.AccountCallback):
-
- def on_incoming_call(self, call):
-
- current_call = call
-
- sleep(1)
- call.answer(200)
-
- sleep(0.5)
-
- if current_call <> None:
- print "hangup the call"
- call.hangup()
-
- print "send result"
- server.sendData('200')
-
-
-lib = pj.Lib()
-stop = False
-
-try:
-
- server = classServer.ServerHandler(50106)
- tried = server.openSocket()
-
- 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()
-
- try:
- acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- server.sendData('ready')
-
- while stop <> True:
-
- data = server.receiveData(0)
-
- if data == "487":
- stop = True
- break
-
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
-
- else:
- print "Bad Register"
-
- lib.destroy()
- lib = None
- acc = None
- server.closeConnection()
-
-
- except pj.Error, e:
- print "401 Unauthorized " +str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
-
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
diff --git a/For Weekly Test/20-07-2011/sipCall.pyw b/For Weekly Test/20-07-2011/sipCall.pyw
deleted file mode 100644
index 7cbbf4c..0000000
--- a/For Weekly Test/20-07-2011/sipCall.pyw
+++ /dev/null
@@ -1,119 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-from time import sleep
-
-
-def log_cb(level, str, len):
- print str, "SIP log"
-
-# Receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- print "CALL : ", self.call.info().state_text
- sleep(1.5)
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- print "will Hangup call"
- current_call.hangup()
-
- print "send result"
- server.sendData('200')
- else:
- sleep(0.5)
-
- if self.call.info().last_reason == "Busy Here":
- server.sendData('486')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- return None
-
-
-lib = pj.Lib()
-stop =False
-current_call = None
-
-while stop <> True:
-
-
- 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()
-
-
- server = classServer.ServerHandler(50097)
- tried = server.openSocket()
-
- try:
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- acc = lib.create_account(acc_cfg, cb=pj.AccountCallback())
-
- if acc.info().reg_status < 700:
-
- server.sendData('ready')
- print "Status: ", server.connected
-
- while 1:
- try:
- data = server.receiveData(0)
- event = data[0:5]
- num = data[6:]
- if event == "start" and num <> "":
-
- print "Make a call to :", num
- number = "sip:"+num+"@132.230.4.8"
- current_call = make_call(number)
-
- if data == "487":
- stop = True
- break
-
- except ValueError:
- print "813 General socket layer error: Failed send message"
- server.closeConnection()
- del server
-
- server.closeConnection()
- del server
-
- else:
- Regis_status= "Bad"
- print "488 Not Acceptable Here"
-
- lib.destroy()
- lib = None
- acc = None
-
-
- server.closeConnection()
- del server
- except ValueError:
- print "401 Unauthorized " + str(e)
-
-print "Goodbye"
-sleep(3)
-acc.delete()
-lib.destroy()
-server.closeConnection()
-del server
-lib = None
-acc = None
-
diff --git a/Handler/landlineCall.py b/Handler/landlineCall.py
index e25f251..fcdf4fe 100644
--- a/Handler/landlineCall.py
+++ b/Handler/landlineCall.py
@@ -1,27 +1,13 @@
import sys
import pjsua as pj
import classServer
+import LogFileClass
+logger = LogFileClass.Logging('landlineCallHandler.log')
from time import sleep
-<<<<<<< HEAD
-LOG_LEVEL = 2
-current_call = None
-is486 = False
-isConfirmed = False
-isRinging = False
-isConnected = False
-isStopped = False
-firstTime502 = True
-firstTime100 = True
-firstTime408 = True
-TIMEOUT_LIMIT = 30
-
-# Logging callback
-=======
->>>>>>> 3c2c4f14c0dd26f03e5f664d91d51c62b617de7d
def log_cb(level, str, len):
- print str, "SIP log"
+ print str, "landline log"
# Receive events from Call
class MyCallCallback(pj.CallCallback):
@@ -31,19 +17,24 @@ class MyCallCallback(pj.CallCallback):
if self.call.info().state <> pj.CallState.DISCONNECTED:
if self.call.info().state_text == "CONNECTING":
- print "CALL : ", self.call.info().state_text
+ logger.logEvent("Call Connecting")
sleep(1)
if self.call.info().state <> pj.CallState.DISCONNECTED:
+ logger.logEvent("will Hangup call")
current_call.hangup()
-
+
+ logger.logEvent('200')
server.sendData('200')
else:
sleep(0.5)
if self.call.info().last_reason == "Busy Here":
+ logger.logEvent('Number busy or Offline')
server.sendData('486')
+ logger.logEvent('486')
if self.call.info().state == pj.CallState.DISCONNECTED:
+ logger.logEvent('Call Disconnected')
current_call = None
@@ -56,12 +47,14 @@ def make_call(uri):
except pj.Error, e:
print "408 " + str(e)
+ logger.logEvent('408')
return None
lib = pj.Lib()
stop =False
current_call = None
+logger.logEvent('')
while stop <> True:
@@ -69,112 +62,74 @@ while stop <> True:
lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-<<<<<<< HEAD
- if acc.info().reg_status == 502:
- if firstTime502:
- print "CONNECTION ERROR!!"
- print "Please check your internet connection!\n"
- firstTime502 = False
-
- acc.delete()
- lib.destroy()
- lib = None
- acc = None
-# server.sendData('NOT ready')
- continue
-=======
lib.start()
lib.set_null_snd_dev()
->>>>>>> 3c2c4f14c0dd26f03e5f664d91d51c62b617de7d
- server = classServer.ServerHandler(50099)
- tried = server.openSocket()
-
-<<<<<<< HEAD
- while acc.info().reg_status == 408:
- if firstTime408:
- print "408: REGISTRATION FAILED DUE TO TIMEOUT!!"
- print "I will try to check again if I can be successful to register!"
- firstTime408 = False
-# server.sendData('NOT ready')
-
+ server = classServer.ServerHandler(50099)
+ logger.logEvent('Connect to Controller via port 50099')
+ conn = server.openSocket()
- if acc.info().reg_status == 200:
- print ("REGISTRATION IS SUCCESSFUL") #server.sendData('ready')
-
- while 1:
-# try:
- print "Waiting for server(at the moment YOU!) to send command here:" #This line should be deleted further!
- startStop = sys.stdin.readline().rstrip("\r\n") #startStop = server.receiveData()
-
- if startStop == "start":
- timeCounterRinging = 0
- firstTimeRinging = True
-
- while 1:
- #number = server.receiveData()
- print "Please enter the number to call:" #This line should be deleted further!
- number = sys.stdin.readline().rstrip("\r\n")#This line should be deleted further!
- if number <> "":
- numberToCall = "sip:"+number+"@"+server
- current_call = make_call(numberToCall)
-=======
try:
+ logger.logEvent('Register Account to sipgate.de server')
acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
acc = lib.create_account(acc_cfg, cb=pj.AccountCallback())
+
if acc.info().reg_status < 700:
server.sendData('ready')
- print "Status: ", server.connected
+ logger.logEvent('Handler Ready')
while 1:
try:
- data = server.receiveData()
+ data = server.receiveData(0)
event = data[0:5]
num = data[6:]
+
if event == "start" and num <> "":
-
- server.closeConnection()
- tried = server.openSocket()
->>>>>>> 3c2c4f14c0dd26f03e5f664d91d51c62b617de7d
-
+
+ logger.logEvent(event)
+ logger.logEvent('Make a call to: ' + num)
number = "sip:"+num+"@sipgate.de"
current_call = make_call(number)
if data == "487":
stop = True
+ logger.logEvent('Terminate')
break
except ValueError:
- print "813 General socket layer error: Failed send message"
+ logger.logEvent("error: Failed retrive message from Controller")
+ logger.logEvent('999')
server.closeConnection()
- del server
+ logger.logEvent('Close Connection to the Controller')
+
server.closeConnection()
- del server
+ logger.logEvent('Close Connection to the Controller')
else:
- Regis_status= "Bad"
- print "488 Not Acceptable Here"
+ logger.logEvent("488 Not Acceptable Here")
lib.destroy()
lib = None
acc = None
- server.closeConnection()
- del server
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
except ValueError:
print "401 Unauthorized " + str(e)
+ logger.logEvent("401 Unauthorized ")
-print "Goodbye"
+logger.logEvent("Goodbye")
sleep(3)
acc.delete()
+logger.logEvent('Un-Rigester SIP Account')
lib.destroy()
server.closeConnection()
-del server
+logger.logEvent('Close Connection to the Controller')
lib = None
acc = None
diff --git a/Handler/landlineReceiver.py b/Handler/landlineReceiver.py
index 470b4c6..ba02562 100644
--- a/Handler/landlineReceiver.py
+++ b/Handler/landlineReceiver.py
@@ -1,12 +1,14 @@
import sys
import pjsua as pj
import classServer
-from time import sleep
+import LogFileClass
+from time import sleep
+logger = LogFileClass.Logging('LandlineRecHandler.log')
def log_cb(level, str, len):
- print str, "SIP Handler Receiver Log"
+ print str, "landline Handler Receiver Log"
class MyAccountCallback(pj.AccountCallback):
@@ -14,27 +16,28 @@ class MyAccountCallback(pj.AccountCallback):
def on_incoming_call(self, call):
current_call = call
-
- sleep(1)
- call.answer(200)
+ logger.logEvent(current_call)
+ sleep(0.5)
+ call.answer(200)
+ logger.logEvent("Answer call")
sleep(0.5)
if current_call <> None:
- print "hangup the call"
+ logger.logEvent("Hangup call")
call.hangup()
- print "send result"
server.sendData('200')
-
-
+ logger.logEvent('200')
lib = pj.Lib()
stop = False
+logger.logEvent('')
try:
server = classServer.ServerHandler(50106)
- tried = server.openSocket()
+ logger.logEvent('Connect to Controller via port 50106')
+ conn = server.openSocket()
lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
@@ -43,47 +46,66 @@ try:
lib.set_null_snd_dev()
try:
+ logger.logEvent('Register Account to sipgate.de server')
acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
+
if acc.info().reg_status < 700:
+ logger.logEvent(acc.info().reg_status)
server.sendData('ready')
+ logger.logEvent('Handler Ready')
while stop <> True:
data = server.receiveData(0)
if data == "487":
+ logger.logEvent('Terminate')
stop = True
break
transport = None
acc.delete()
+ logger.logEvent('Un-Rigester SIP Account')
acc = None
lib.destroy()
lib = None
server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
else:
- print "Bad Register"
-
+ logger.logEvent("488 Not Acceptable Here")
lib.destroy()
+
lib = None
acc = None
- server.closeConnection()
+
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
except pj.Error, e:
print "401 Unauthorized " +str(e)
+ logger.logEvent("401 Unauthorized ")
+
lib.destroy()
lib = None
+
server.closeConnection()
-
+ logger.logEvent('Close Connection to the Controller')
except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
+ print "Exception: " + str(e)
+ logger.logEvent(str(e))
+
+ lib.destroy()
+
+ lib = None
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
+
+
+
+
+
diff --git a/Handler/localsipReceiver.py b/Handler/localsipReceiver.py
index 0e4000e..eb95ce0 100644
--- a/Handler/localsipReceiver.py
+++ b/Handler/localsipReceiver.py
@@ -1,12 +1,14 @@
import sys
import pjsua as pj
import classServer
-from time import sleep
+import LogFileClass
+from time import sleep
+logger = LogFileClass.Logging('UniSIPRecHandler.log')
def log_cb(level, str, len):
- print str, "SIP Handler Receiver Log"
+ print str, "SIP University account Handler Receiver Log"
class MyAccountCallback(pj.AccountCallback):
@@ -14,25 +16,28 @@ class MyAccountCallback(pj.AccountCallback):
def on_incoming_call(self, call):
current_call = call
-
+ logger.logEvent(current_call)
sleep(0.5)
- call.answer(200)
+ call.answer(200)
+ logger.logEvent("Answer call")
sleep(0.5)
if current_call <> None:
+ logger.logEvent("Hangup call")
call.hangup()
server.sendData('200')
-
-
+ logger.logEvent('200')
lib = pj.Lib()
stop = False
+logger.logEvent('')
try:
- server = classServer.ServerHandler(50104)
- tried = server.openSocket()
+ server = classServer.ServerHandler(50107)
+ logger.logEvent('Connect to Controller via port 50107')
+ conn = server.openSocket()
lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
@@ -41,47 +46,67 @@ try:
lib.set_null_snd_dev()
try:
+ logger.logEvent('Register Account to University SIP server')
acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
+
if acc.info().reg_status < 700:
+ logger.logEvent(acc.info().reg_status)
+ sleep(5)
server.sendData('ready')
+ logger.logEvent('Handler Ready')
while stop <> True:
- data = server.receiveData()
+ data = server.receiveData(0)
if data == "487":
+ logger.logEvent('Terminate')
stop = True
break
transport = None
acc.delete()
+ logger.logEvent('Un-Rigester SIP Account')
acc = None
lib.destroy()
lib = None
server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
else:
- print "Bad Register"
-
+ logger.logEvent("488 Not Acceptable Here")
lib.destroy()
+
lib = None
acc = None
- server.closeConnection()
+
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
except pj.Error, e:
print "401 Unauthorized " +str(e)
+ logger.logEvent("401 Unauthorized ")
+
lib.destroy()
lib = None
+
server.closeConnection()
-
+ logger.logEvent('Close Connection to the Controller')
except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
+ print "Exception: " + str(e)
+ logger.logEvent(str(e))
+
+ lib.destroy()
+
+ lib = None
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
+
+
+
+
+
diff --git a/Handler/sipCall.py b/Handler/sipCall.py
index 7cbbf4c..51ae240 100644
--- a/Handler/sipCall.py
+++ b/Handler/sipCall.py
@@ -1,6 +1,8 @@
import sys
import pjsua as pj
import classServer
+import LogFileClass
+logger = LogFileClass.Logging('sipCallHandler.log')
from time import sleep
@@ -15,21 +17,24 @@ class MyCallCallback(pj.CallCallback):
if self.call.info().state <> pj.CallState.DISCONNECTED:
if self.call.info().state_text == "CONNECTING":
- print "CALL : ", self.call.info().state_text
- sleep(1.5)
+ logger.logEvent("Call Connecting")
+ sleep(1)
if self.call.info().state <> pj.CallState.DISCONNECTED:
- print "will Hangup call"
+ logger.logEvent("will Hangup call")
current_call.hangup()
- print "send result"
+ logger.logEvent('200')
server.sendData('200')
else:
sleep(0.5)
if self.call.info().last_reason == "Busy Here":
+ logger.logEvent('Number busy or Offline')
server.sendData('486')
+ logger.logEvent('486')
if self.call.info().state == pj.CallState.DISCONNECTED:
+ logger.logEvent('Call Disconnected')
current_call = None
@@ -42,12 +47,14 @@ def make_call(uri):
except pj.Error, e:
print "408 " + str(e)
+ logger.logEvent('408')
return None
lib = pj.Lib()
stop =False
current_call = None
+logger.logEvent('')
while stop <> True:
@@ -59,61 +66,70 @@ while stop <> True:
lib.set_null_snd_dev()
- server = classServer.ServerHandler(50097)
- tried = server.openSocket()
+ server = classServer.ServerHandler(50097)
+ logger.logEvent('Connect to Controller via port 50097')
+ conn = server.openSocket()
try:
+ logger.logEvent('Register Account to SIP server')
acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
acc = lib.create_account(acc_cfg, cb=pj.AccountCallback())
+
if acc.info().reg_status < 700:
server.sendData('ready')
- print "Status: ", server.connected
+ logger.logEvent('Handler Ready')
while 1:
try:
data = server.receiveData(0)
event = data[0:5]
num = data[6:]
+
if event == "start" and num <> "":
-
- print "Make a call to :", num
+
+ logger.logEvent(event)
+ logger.logEvent('Make a call to: ' + num)
number = "sip:"+num+"@132.230.4.8"
current_call = make_call(number)
if data == "487":
stop = True
+ logger.logEvent('Terminate')
break
except ValueError:
- print "813 General socket layer error: Failed send message"
+ logger.logEvent("error: Failed retrive message from Controller")
+ logger.logEvent('999')
server.closeConnection()
- del server
+ logger.logEvent('Close Connection to the Controller')
+
server.closeConnection()
- del server
+ logger.logEvent('Close Connection to the Controller')
else:
- Regis_status= "Bad"
- print "488 Not Acceptable Here"
+ logger.logEvent("488 Not Acceptable Here")
lib.destroy()
lib = None
acc = None
- server.closeConnection()
- del server
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
except ValueError:
print "401 Unauthorized " + str(e)
+ logger.logEvent("401 Unauthorized ")
-print "Goodbye"
+logger.logEvent("Goodbye")
sleep(3)
acc.delete()
+logger.logEvent('Un-Rigester SIP Account')
lib.destroy()
server.closeConnection()
-del server
+logger.logEvent('Close Connection to the Controller')
lib = None
acc = None
diff --git a/Handler/sipReceiver.py b/Handler/sipReceiver.py
index b58990b..62f9a49 100644
--- a/Handler/sipReceiver.py
+++ b/Handler/sipReceiver.py
@@ -1,12 +1,14 @@
import sys
import pjsua as pj
import classServer
-from time import sleep
+import LogFileClass
+from time import sleep
+logger = LogFileClass.Logging('sipRecHandler.log')
def log_cb(level, str, len):
- print str, "SIP Handler Receiver Log"
+ print str, "sip Handler Receiver Log"
class MyAccountCallback(pj.AccountCallback):
@@ -14,25 +16,28 @@ class MyAccountCallback(pj.AccountCallback):
def on_incoming_call(self, call):
current_call = call
-
+ logger.logEvent(current_call)
sleep(0.5)
- call.answer(200)
+ call.answer(200)
+ logger.logEvent("Answer call")
sleep(0.5)
if current_call <> None:
+ logger.logEvent("Hangup call")
call.hangup()
server.sendData('200')
-
-
+ logger.logEvent('200')
lib = pj.Lib()
stop = False
+logger.logEvent('')
try:
server = classServer.ServerHandler(50104)
- tried = server.openSocket()
+ logger.logEvent('Connect to Controller via port 50104')
+ conn = server.openSocket()
lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
@@ -41,47 +46,66 @@ try:
lib.set_null_snd_dev()
try:
+ logger.logEvent('Register Account to SIP Asterik server')
acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
+
if acc.info().reg_status < 700:
+ logger.logEvent(acc.info().reg_status)
server.sendData('ready')
+ logger.logEvent('Handler Ready')
while stop <> True:
- data = server.receiveData()
+ data = server.receiveData(0)
if data == "487":
+ logger.logEvent('Terminate')
stop = True
break
transport = None
acc.delete()
+ logger.logEvent('Un-Rigester SIP Account')
acc = None
lib.destroy()
lib = None
server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
else:
- print "Bad Register"
-
+ logger.logEvent("488 Not Acceptable Here")
lib.destroy()
+
lib = None
acc = None
- server.closeConnection()
+
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
except pj.Error, e:
print "401 Unauthorized " +str(e)
+ logger.logEvent("401 Unauthorized ")
+
lib.destroy()
lib = None
+
server.closeConnection()
-
+ logger.logEvent('Close Connection to the Controller')
except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
+ print "Exception: " + str(e)
+ logger.logEvent(str(e))
+
+ lib.destroy()
+
+ lib = None
+ server.closeConnection()
+ logger.logEvent('Close Connection to the Controller')
+
+
+
+
+