diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/ivamApi.py | 3 | ||||
-rw-r--r-- | client/ivamPipeConnector.py | 22 | ||||
-rw-r--r-- | client/ivamVoiceBox.py | 1 |
3 files changed, 26 insertions, 0 deletions
diff --git a/client/ivamApi.py b/client/ivamApi.py index 1413116..8cab6f9 100644 --- a/client/ivamApi.py +++ b/client/ivamApi.py @@ -44,3 +44,6 @@ class Connector: def hangup(self, t): pass + + def flushOutput(self): + pass diff --git a/client/ivamPipeConnector.py b/client/ivamPipeConnector.py index 70fd93d..af302b8 100644 --- a/client/ivamPipeConnector.py +++ b/client/ivamPipeConnector.py @@ -34,6 +34,14 @@ class PipeConnector(ivamApi.Connector): self.ringNumber = os.getenv("RINGMSN") self.processor = processor + try: + s = os.fstat(128) + self.pipeHack = True + ivamCore.log("Found and enabled pipe hack.") + except OSError: + self.pipeHack = False + ivamCore.log("Pipe hack not detected.") + def openDtmf(self): try: @@ -223,3 +231,17 @@ class PipeConnector(ivamApi.Connector): self.dtmfFifo = None else: self.processor.onDtmfEvent(self, d) + + def flushOutput(self): + + if not self.pipeHack: + return + + try: + b = os.read(128, 4096) + if ivamCore.DEBUG: + ivamCore.log("Pipe hack succeeded") + except OSError: + + if ivamCore.DEBUG: + ivamCore.log("Pipe hack failed") diff --git a/client/ivamVoiceBox.py b/client/ivamVoiceBox.py index 131e5c5..252ce98 100644 --- a/client/ivamVoiceBox.py +++ b/client/ivamVoiceBox.py @@ -199,6 +199,7 @@ class VoiceBox(ivamApi.Processor): c.playClip(self.getClip("beep")) else: + c.flushOutput() c.stopPlayback2() def onTimeout(self, c): |