from Queue import Queue
from freepy import request
import freepy.globals
+from freepy.globals import debug
"""
freepy library -- connect to freeswitch mod_socket_event via python/twisted
"""
+DEBUG_ON = "see globals.py to turn on debugging"
+
class FreepyDispatcher(LineReceiver):
def __init__(self, conncb, discocb=None):
self.active_request = None # the current active (de-queued) request
def connectionMade(self):
- self.log("Connection made")
+ debug("FREEPY: Connection made")
self.conncb(self)
def connectionLost(self, reason):
if self.discocb:
self.discocb(reason)
- self.log("connectionLost: %s" % reason)
-
+ debug("connectionLost: %s" % reason)
- def log(self, msg):
- """
- print a message to stdout if debug enabled
- """
- if freepy.globals.FREEPY_DEBUG_ON:
- print msg
-
def login(self, passwd):
"""
send login request
req = request.LoginRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def confdialout(self, conf_name, sofia_url, bgapi=True):
req = request.DialoutRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def originate(self, party2dial, dest_ext_app, bgapi=True):
req = request.DialoutRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def listconf(self, conf_name):
req = request.ListConfRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
req = request.ConfKickRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def confdtmf(self, member_id, conf_name, dtmf, bgapi=False):
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def confsay(self, conf_name, text2speak, bgapi=False):
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def confplay(self, conf_name, snd_url, bgapi=False):
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def confstop(self, conf_name, bgapi=False):
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def sofia_status_profile(self, profile_name, bgapi=False):
msg = "api sofia status profile %s as xml" % (profile_name)
req = request.ApiRequest()
self.requestq.put(req)
- self.log("sending to fs: %s" % msg)
+ debug("sending to fs: %s" % msg)
self.transport.write("%s\n\n" % msg)
return req.getDeferred()
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def broadcast(self, uuid, path, legs, bgapi = False):
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def transfer(self, uuid, dest_ext, legs, bgapi = False):
req = request.ApiRequest()
self.requestq.put(req)
self.transport.write("%s\n\n" % msg)
- self.log(">> %s" % msg)
+ debug(">> %s" % msg)
return req.getDeferred()
def lineReceived(self, line):
- self.log("<< %s" % line)
+ debug("<< %s" % line)
if not self.active_request:
# if no active request pending, we ignore