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:[EMAIL PROTECTED]
icq#16849755          iax:[EMAIL PROTECTED]
+972-50-7952406          jabber:[EMAIL PROTECTED]
[EMAIL PROTECTED]     http://www.xorcom.com
_______________________________________________
--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

Reply via email to