summaryrefslogtreecommitdiffstats
path: root/Handler
diff options
context:
space:
mode:
authoraa1112011-07-18 16:41:10 +0200
committeraa1112011-07-18 16:41:10 +0200
commit1f16a80a03868ede2d4e85bc918bafaeb6b3fda1 (patch)
treeacfd01cef4c9eb9763e624fcf22340a10a45bbb5 /Handler
parenthaving some difficulties with git. hoping to work this time. (diff)
parentfixed bugs for calling part on sip. (diff)
downloadgsm-selftest-1f16a80a03868ede2d4e85bc918bafaeb6b3fda1.tar.gz
gsm-selftest-1f16a80a03868ede2d4e85bc918bafaeb6b3fda1.tar.xz
gsm-selftest-1f16a80a03868ede2d4e85bc918bafaeb6b3fda1.zip
Merge branch 'master' of lab.ks.uni-freiburg.de:lsfks/projekte/gsm-selftest
Diffstat (limited to 'Handler')
-rw-r--r--Handler/classServer.pycbin3066 -> 3138 bytes
-rw-r--r--Handler/gsmincom_.py7
-rw-r--r--Handler/sipCall.py96
-rw-r--r--Handler/sipReceiver.py91
4 files changed, 37 insertions, 157 deletions
diff --git a/Handler/classServer.pyc b/Handler/classServer.pyc
index 473063e..4dbb514 100644
--- a/Handler/classServer.pyc
+++ b/Handler/classServer.pyc
Binary files differ
diff --git a/Handler/gsmincom_.py b/Handler/gsmincom_.py
index 018bede..0c0d5a3 100644
--- a/Handler/gsmincom_.py
+++ b/Handler/gsmincom_.py
@@ -20,13 +20,10 @@ success = ""
try:
global ser
- portAddress = '/dev/ttyUSB1'
+ portAddress = '/dev/ttyACM0'
portName = portAddress[-4:]
portExist = os.popen('dmesg | grep ' + portName).read()
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
ser = Serial(
port=portAddress,
@@ -36,7 +33,7 @@ try:
stopbits=STOPBITS_ONE)
ser.open()
- server = classServer.ServerHandler(50097)
+ server = classServer.ServerHandler(50105)
tried = server.openSocket()
if server.error != 'No error':
diff --git a/Handler/sipCall.py b/Handler/sipCall.py
index a0b96e5..f41756d 100644
--- a/Handler/sipCall.py
+++ b/Handler/sipCall.py
@@ -1,92 +1,59 @@
import sys
import pjsua as pj
-
import classServer
-
from time import sleep
-from datetime import datetime
-import string
-
-
-stop =False
-
-
-LOG_LEVEL=2
-current_call = None
-status = None
-# Logging
def log_cb(level, str, len):
print str, "SIP log"
-
-# Receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
-
# Receive events from Call
class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
-
- def on_state(self):
- global current_call
- global status
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- print "CONNECTING CALL"
-
- print "CALL CONFIRMED and ESTABLISH", self.call.info().state_text
- sleep(2)
- current_call.hangup()
- status = 200
- server.sendData(status)
- else:
- sleep(0.5)
+ 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)
+ if self.call.info().state <> pj.CallState.DISCONNECTED:
+ current_call.hangup()
+
+ server.sendData('200')
+ else:
+ sleep(0.5)
- if self.call.info().last_reason <> "":
if self.call.info().last_reason == "Busy Here":
-
- print "486 Busy Here"
- print ""
- status = 486
- server.sendData(status)
+ server.sendData('486')
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call Disconnected'
+ if self.call.info().state == pj.CallState.DISCONNECTED:
+ current_call = None
+
-#Function to make call
def make_call(uri):
+
try:
- print "Making call to", uri
+
cb=MyCallCallback()
return acc.make_call(uri, cb)
+
except pj.Error, e:
- print "408 Request Time-out (Couldn't find the user in time) " + str(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=LOG_LEVEL, callback=log_cb))
+ lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
lib.start()
lib.set_null_snd_dev()
@@ -94,22 +61,11 @@ while stop <> True:
server = classServer.ServerHandler(50097)
tried = server.openSocket()
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
try:
acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
+ acc = lib.create_account(acc_cfg, cb=pj.AccountCallback())
if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
- print my_sip_uri
server.sendData('ready')
print "Status: ", server.connected
diff --git a/Handler/sipReceiver.py b/Handler/sipReceiver.py
index 607f56d..b58990b 100644
--- a/Handler/sipReceiver.py
+++ b/Handler/sipReceiver.py
@@ -1,115 +1,51 @@
import sys
import pjsua as pj
-import string
import classServer
-
from time import sleep
-from datetime import datetime
-
-stop = False
-LOG_LEVEL=2
-current_call = None
-status = None
-global accept
-accept = None
-# Logging
def log_cb(level, str, len):
print str, "SIP Handler Receiver Log"
-
class MyAccountCallback(pj.AccountCallback):
-
- global success
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
def on_incoming_call(self, call):
- global current_call
- global number
- if current_call:
- call.answer(486, "Busy")
- return
-
- number = call.info().remote_uri
+ current_call = call
- current_call = call
+ sleep(0.5)
+ call.answer(200)
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
- print "accept call"
+ sleep(0.5)
if current_call <> None:
- accept = True
-
- if accept == True:
- sleep(0.5)
- current_call.answer(200)
- sleep(1.5)
- current_call.hangup()
- status = 200
- server.sendData(success)
-
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
-
- def on_state(self):
- global current_call
- global success
-
- if self.call.info().state == pj.CallState.CONNECTING:
- print self.call.info().state_text
- status = 200
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print '701 The called party has hung up'
+ call.hangup()
+
+ server.sendData('200')
lib = pj.Lib()
+stop = False
try:
server = classServer.ServerHandler(50104)
tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
+ lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
lib.start()
lib.set_null_snd_dev()
-
-
try:
acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
if acc.info().reg_status < 700:
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
-
server.sendData('ready')
while stop <> True:
@@ -119,16 +55,7 @@ try:
if data == "487":
stop = True
break
-
- if current_call == None:
- accept = None
- continue
- else:
- print "Incoming call from :", number
-
-
-
transport = None
acc.delete()
acc = None