after some more tests, it turns out that last commit to master after
which ivr connectCallee works is bbc1e33a110b8f462dffd13a09dade3d9d8d26bc
on Fri, 7 Dec 2012.  then there was a large set of commits by
raphael and vaclav that broke ivr connectCallee reply handling.  i
tested after commit 39f7685192bcccf51cf28453fd790148b24e508a on
2013-01-16 and with that failure reply to connectCallee caused sems to
end the call. 

below is a bit simpler ivr test script to try if someone figures out
what the problem might be.

-- juha

import time

from log import *
from ivr import *

beep_file = "/var/lib/sems/audio/general/beep_snd.wav"
callee_list = ['sip:[email protected]', 'sip:[email protected]']

beeping                   = 1
connecting                = 2
connected                 = 3

class IvrDialog(IvrDialogBase):

    def onSessionStart(self):

        self.callee_list = callee_list
        self.callee_index = 0
        self.setNoRelayonly()
        self.state = beeping
        self.audio_msg = IvrAudioFile()
        self.audio_msg.open(beep_file, AUDIO_READ)
        self.enqueue(self.audio_msg, None)

    def onBye(self):

        self.stopSession()

    def onEmptyQueue(self):

        if self.state == beeping:
            self.state = connecting
            self.connectTry()
            return

        return
    
    def onOtherReply(self, code, reason):

        info("test: got reply: " + str(code) + " " + reason)

        if self.state == connecting:

            if code < 200:
                return
            if code >= 200 and code < 300:
                self.flush()
                self.disconnectMedia()
                self.setRelayonly()
                self.state = connected
                info('test: connected to ' + self.callee_uri)
                return
            if code >= 300:
                time.sleep(3)
                self.connectTry()
                return
        else:
            return

    def connectTry(self):

            self.callee_uri = self.callee_list[self.callee_index]
            self.callee_index = (self.callee_index + 1) % 2
            info('test: trying to connectCallee ' + self.callee_uri)
            self.connectCallee(self.callee_uri, self.callee_uri)
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to