Esempio n. 1
0
    def __init__(self, app, agi, isReconnect):
        self.app = app
        self.agi = agi
        self.isReconnect = self.isReconnect or isReconnect
        self.queue = PriorityQueue()
        print self.agi.variables
        self.callerId = unicode(self.agi.variables['agi_callerid'])
        self.channel = self.agi.variables['agi_channel']
        self.timeStarted = Time()
        print "New session from", self.callerId
        self.state = application.StateMachine(self, verbose=1)

        script = self.agi.variables.get('agi_network_script', None)
        if script == 'DialOut':
            self.state.set("pending_start")
        else:
            self.state.set("start")
Esempio n. 2
0
 def reEntry(self, agi, isReconnect):
     self.agi = agi
     self.isReconnect = self.isReconnect or isReconnect
     if self.state.get == 'to_recording':
         self.setStateAfterSample("recording", "weareforests-audio/record")
     if self.state.get == 'to_play':
         self.state.set('play')
     if self.state.get == 'to_start':
         self.state.set('start')
     if self.state.get == 'to_ending':
         self.queue = PriorityQueue()
         for f in [
                 r.filenameAsAsterisk() for r in self.app.store.query(
                     Recording,
                     Recording.use_in_ending == True,
                     sort=Recording.created.descending)
         ]:
             self.queueAdd(f)
         self.state.set('ending')