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
