Module: sems
Branch: master
Commit: cf5344e55e8e45a40b588ceec0cfd5486efccfaf
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=cf5344e55e8e45a40b588ceec0cfd5486efccfaf

Author: Juha Heinanen <[email protected]>
Committer: Juha Heinanen <[email protected]>
Date:   Fri Oct 21 12:30:19 2011 +0300

apps/examples/ivr_examples/play.py: improved example script

- Made example script more useful by including processing of P-App-Param
  header parameters.

---

 apps/examples/ivr_examples/play.py |   42 +++++++++++++++++++++++++----------
 1 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/apps/examples/ivr_examples/play.py 
b/apps/examples/ivr_examples/play.py
index 51b4a65..93a1eed 100644
--- a/apps/examples/ivr_examples/play.py
+++ b/apps/examples/ivr_examples/play.py
@@ -1,26 +1,44 @@
 #
-# just playing file
+# just play a file whose name may be given in P-App-Param header
 #
+
 from log import *
 from ivr import *
+from p_app_param.p_app_param import *
 
-class IvrDialog(IvrDialogBase) :
-
-    def onSessionStart(self) :
-        self.audio_pl = IvrAudioFile()
-        self.audio_pl.open("wav/default_en.wav", AUDIO_READ)
+class IvrDialog(IvrDialogBase):
 
-        self.enqueue(self.audio_pl,None)
+    def onInvite(self, hdrs):
+        if self.dialog.status_str == "Connected":
+            debug("Received play re-INVITE")
+            return True
+        else:
+            debug("Received play INVITE")
+        self.params = P_App_Param(getHeader(hdrs, "P-App-Param"))
+        self.file = self.params.getKeyValue("File")
+        if not self.file:
+            self.file = "/tmp/default.wav"
+        return True
+            
+    def onSessionStart(self):
+        self.announcement = IvrAudioFile()
+        self.announcement.open(self.file, ivr.AUDIO_READ, False)
+        self.enqueue(self.announcement, None)
+        return
         
-    def onBye(self):
-        self.stopSession()
-
     def onEmptyQueue(self):
+        if not self.queueIsEmpty():
+            return
         self.bye()
         self.stopSession()
+        return
+    
+    def onBye(self):
+        self.stopSession()
+        return
 
-    def onSipReply( self, reply ) :
+    def onSipRequest(self, hdrs):
         pass
 
-    def onSipRequest( self, reply ) :
+    def onSipReply(self, reply):
         pass

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to