class CallMap(object): global_config = None proxy = None #rc1 = None #rc2 = None def __init__(self, global_config): self.global_config = global_config self.proxy = StatefulProxy(global_config, self.global_config['nh_addr']) #gc.disable() #gc.set_debug(gc.DEBUG_STATS) #gc.set_threshold(0) #print gc.collect() def recvRequest(self, req, sip_t): if req.getHFBody('to').getTag() != None: # Request within dialog, but no such dialog return (req.genResponse(481, 'Call Leg/Transaction Does Not Exist'), None, None) if req.getMethod() == 'INVITE': # New dialog cc = CallController(self.global_config) return cc.uaA.recvRequest(req, sip_t) if req.getMethod() == 'REGISTER': # Registration return self.proxy.recvRequest(req) if req.getMethod() in ('NOTIFY', 'PING'): # Whynot? return (req.genResponse(200, 'OK'), None, None) return (req.genResponse(501, 'Not Implemented'), None, None)
class CallMap(object): global_config = None proxy = None # rc1 = None # rc2 = None def __init__(self, global_config): self.global_config = global_config self.proxy = StatefulProxy(global_config, self.global_config['nh_addr']) # gc.disable() # gc.set_debug(gc.DEBUG_STATS) # gc.set_threshold(0) # print gc.collect() def recvRequest(self, req, sip_t): if req.getHFBody('to').getTag() != None: # Request within dialog, but no such dialog return (req.genResponse(481, 'Call Leg/Transaction Does Not Exist'), None, None) if req.getMethod() == 'INVITE': # New dialog cc = CallController(self.global_config) return cc.uaA.recvRequest(req, sip_t) if req.getMethod() == 'REGISTER': # Registration return self.proxy.recvRequest(req) if req.getMethod() in ('NOTIFY', 'PING'): # Whynot? return (req.genResponse(200, 'OK'), None, None) return (req.genResponse(501, 'Not Implemented'), None, None)