summaryrefslogtreecommitdiffstats
path: root/Handler
diff options
context:
space:
mode:
authortriatmoko2011-07-16 05:33:42 +0200
committertriatmoko2011-07-16 05:33:42 +0200
commit8f28ec7000a0c09565969abe582bf47215ea547c (patch)
tree0c7c31779cb7e4574d652b735cf4a375d209c204 /Handler
parentMerge branch 'master' of lab.ks.uni-freiburg.de:lsfks/projekte/gsm-selftest (diff)
downloadgsm-selftest-8f28ec7000a0c09565969abe582bf47215ea547c.tar.gz
gsm-selftest-8f28ec7000a0c09565969abe582bf47215ea547c.tar.xz
gsm-selftest-8f28ec7000a0c09565969abe582bf47215ea547c.zip
update sip handler code, delete some unneeded comment.
Diffstat (limited to 'Handler')
-rw-r--r--Handler/classServer.pycbin3066 -> 3138 bytes
-rw-r--r--Handler/gsmincom_.py7
-rw-r--r--Handler/sipCall.py63
-rw-r--r--Handler/sipReceiver.py83
4 files changed, 26 insertions, 127 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..648cd5b 100644
--- a/Handler/sipCall.py
+++ b/Handler/sipCall.py
@@ -10,8 +10,6 @@ import string
stop =False
-
-LOG_LEVEL=2
current_call = None
status = None
@@ -20,34 +18,21 @@ status = None
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
+ def on_state(self):
+ global current_call
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)
+ sleep(1)
current_call.hangup()
- status = 200
- server.sendData(status)
+
+ server.sendData('200')
else:
sleep(0.5)
@@ -55,38 +40,31 @@ class MyCallCallback(pj.CallCallback):
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'
+ 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()
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 +72,13 @@ 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())
+
+ sleep(5)
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..06a4a02 100644
--- a/Handler/sipReceiver.py
+++ b/Handler/sipReceiver.py
@@ -8,72 +8,29 @@ 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
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
- print "accept call"
-
- 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):
+ sleep(0.5)
+ call.answer(200)
- 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'
+ sleep(1.5)
+ call.hangup()
+
+ server.sendData('200')
lib = pj.Lib()
@@ -82,34 +39,19 @@ 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 +61,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