[asterisk-users] prob with star input agi-bin
Tzafrir Cohen
tzafrir.cohen at xorcom.com
Mon Aug 14 07:55:37 MST 2006
On Mon, Aug 14, 2006 at 10:31:30AM -0400, shawn bright wrote:
> lo there,
> i am running a python agi script that gets a DTMF number from the user
> and passes it back to the script.
Any reason you're not using Read for this?
> It works fine with numbers, but if they
> enter a star (*), it doesn't want to play.
Could you please provide a trace of the run?
> Is there a difference in how this is handled?
> here is the snippit:
>
> def getNumber (sound, gTimeLimit, digit_count):
> """
> the asterisk function GET DATA
> (filename, timeout, maxdigits)
> plays audiofile filename,
> gets DTMF digits
> up to timeout or max digits
> """
> digit_count = int(digit_count)
> time_limit = int(gTimeLimit)
> sys.stderr.write("GET DATA %s %d %d\n" % (sound, time_limit,
> digit_count))
> sys.stderr.flush()
> sys.stdout.write("GET DATA %s %d %d\n" % (sound, time_limit,
> digit_count))
> sys.stdout.flush()
> result = sys.stdin.readline().strip()
> result = checkResult(result)
> if result:
> return result
> else:
> sys.stderr.write('dead result from IVR')
> return 'error'
>
> def checkResult(params):
> """
> reads the result of an asterisk command
> parses the answer and reports
> whether or not the command is successful
> """
> params = params.rstrip()
> if re.search('^200',params):
Just a hunch:
How is '*' considered in a regular expression?
> result = re.search('result=(\d+)', params)
> if (not result):
> sys.stderr.write("FAIL ('%s')\n" % params)
> sys.stderr.flush()
> return -1
> else:
> result = result.group(1)
> sys.stderr.write('PASS (%s)\n' % result)
> sys.stderr.flush()
> return result
> else:
> sys.stderr.write("FAIL (unexpected result '%s')\n" % params)
> sys.stderr.flush()
> return -2
>
> menu_result = getNumber('menu', 5000, 1)
>
> any idea where i may be missing something here ?
> some of the code is from an example app that i found on the internet.
> There is something in this code ( i suppose ) that limits me from getting
> anything but an integer as a response from here
>
> if you have read this far, thanks for your time.
>
> shawn
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
--
Tzafrir Cohen sip:tzafrir at local.xorcom.com
icq#16849755 iax:tzafrir at local.xorcom.com
+972-50-7952406 jabber:tzafrir at jabber.org
tzafrir.cohen at xorcom.com http://www.xorcom.com
More information about the asterisk-users
mailing list