diff --git a/apps/conf_auth/conf_auth.py b/apps/conf_auth/conf_auth.py index 553a083a..a32e2d18 100644 --- a/apps/conf_auth/conf_auth.py +++ b/apps/conf_auth/conf_auth.py @@ -1,19 +1,23 @@ from log import * from ivr import * -import xmlrpc +import xmlrpclib + +XMLRPC_PROTOCOL = 'http' # could e.g. be https XMLRPC_SERVER = 'localhost' XMLRPC_PORT = 23456 -XMLRPC_DIR = '/blah' -XMLRPC_LOGLEVEL = 3 # this is the default log level +XMLRPC_DIR = '/conf_auth' + +HINT_TIMEOUT = 10 # seconds until hint msg is played + +server_path = XMLRPC_PROTOCOL + '://' + XMLRPC_SERVER + \ + ':' + str(XMLRPC_PORT) + XMLRPC_DIR collect = 0 connect = 1 connected = 2 HINT_TIMER = 1 -HINT_TIMEOUT = 10 # seconds until hint msg is played - CONF_TIMER = 2 def loopedTTS(str): @@ -53,7 +57,7 @@ class IvrDialog(IvrDialogBase): print " next_hop: ", self.dialog.next_hop print " cseq: ", self.dialog.cseq - def onSessionStart(self): + def onSessionStart(self, hdrs): self.sessionInfo() self.setNoRelayonly() self.welcome_msg = IvrAudioFile.tts("Welcome to the conferencing server. "+ \ @@ -64,7 +68,6 @@ class IvrDialog(IvrDialogBase): self.hint_msg = IvrAudioFile.tts("Please enter your PIN number, followed by the star key.") self.enqueue(self.welcome_msg,None) - xmlrpc.setLogLevel(XMLRPC_LOGLEVEL) def onBye(self): self.stopSession() @@ -72,11 +75,12 @@ class IvrDialog(IvrDialogBase): def onDtmf(self,key,duration): if self.state == collect: if key == 10: - c = xmlrpc.client(XMLRPC_SERVER, XMLRPC_PORT, XMLRPC_DIR) - erg = c.execute('AuthorizeConference', [self.dialog.remote_uri, \ - self.dialog.local_party, self.keys ]) - print 'result of auth call: ' - print erg + + c = xmlrpclib.ServerProxy(server_path ) + erg = c.AuthorizeConference(self.dialog.remote_uri, + self.dialog.local_party, self.keys) + + debug('result of authentication: '+ str(erg)) if erg[0] == 'OK': self.flush() self.enqueue(self.auth_ok_msg, None) @@ -92,15 +96,15 @@ class IvrDialog(IvrDialogBase): self.flush() self.enqueue(self.auth_fail_msg, None) self.keys = '' - self.setTimer(HINT_TIMER, HINT_TIMEOUT) + self.setTimer(HINT_TIMER, HINT_TIMEOUT) else: self.keys += str(key) - print "added key, PIN = " + self.keys - self.setTimer(HINT_TIMER, HINT_TIMEOUT) + debug("added key, PIN = " + self.keys) + self.setTimer(HINT_TIMER, HINT_TIMEOUT) def onEmptyQueue(self): if self.state == connect: - print "connecting to " + self.conf_to + "uri: " + self.conf_uri + debug("connecting to " + self.conf_to + "uri: " + self.conf_uri) self.mute() self.setRelayonly() self.connectCallee(self.conf_to, self.conf_uri) @@ -108,7 +112,7 @@ class IvrDialog(IvrDialogBase): self.setTimer(CONF_TIMER, self.conf_duration) elif self.state == collect: - self.setTimer(HINT_TIMER, HINT_TIMEOUT) + self.setTimer(HINT_TIMER, HINT_TIMEOUT) def onTimer(self, id): if id == HINT_TIMER and self.state == collect: