summaryrefslogtreecommitdiffstats
path: root/Handler
diff options
context:
space:
mode:
authortriatmoko2011-07-18 17:46:32 +0200
committertriatmoko2011-07-18 17:46:32 +0200
commit8f8af7bde52680e1c71807b18422b908cf58d52d (patch)
tree5eff18df95e847888444ff990b52b2071af1ecef /Handler
parentokMerge branch 'master' of lab.ks.uni-freiburg.de:lsfks/projekte/gsm-selftest (diff)
downloadgsm-selftest-8f8af7bde52680e1c71807b18422b908cf58d52d.tar.gz
gsm-selftest-8f8af7bde52680e1c71807b18422b908cf58d52d.tar.xz
gsm-selftest-8f8af7bde52680e1c71807b18422b908cf58d52d.zip
fic landline handler to be the same with sip part.
Diffstat (limited to 'Handler')
-rw-r--r--Handler/localsipReceiver.py91
1 files changed, 9 insertions, 82 deletions
diff --git a/Handler/localsipReceiver.py b/Handler/localsipReceiver.py
index 96f058f..0e4000e 100644
--- a/Handler/localsipReceiver.py
+++ b/Handler/localsipReceiver.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.252.228", "4976120397897", "hB8M3WyFt61C")
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