Hi,

I am finding some problems when using PlayAndGetDigits within lua.  As seen in the log below, I set the retry count to '3' and valid digit to be 1,2,3, or 5.  I pressed 9 for every retry attempt, and found that Freeswitch actually let me retry for more than 3 times.  Moreover, Freeswitch reports DTMF of 99 is received even though I only pressed 9.  At the end, it reports 99 as the final result.

Does anyone know if this is a config problem or a bug?

Thanks,
Keith



2008-10-17 20:07:20 [DEBUG] mod_dialplan_xml.c:117 parse_exten() Regex: [test9] destination_number(rule) =~ /(.*)/
2008-10-17 20:07:20 [NOTICE] switch_core_session.c:1219 switch_core_session_execute_exten() Execute answer()
start ivr
2008-10-17 20:07:20 [NOTICE] switch_core_session.c:1219 switch_core_session_execute_exten() Execute lua(run_ivr.lua 1 1 3 3000 #  /audio/admin_menu.wav  /audio/invalid_input.wav 1|2|3|5  admin_selection )
2008-10-17 20:07:20 [DEBUG] switch_ivr_play_say.c:1455 switch_play_and_get_digits() switch_play_and_get_digits(session, 1, 1, 3, 3000, #*, /audio/admin_menu.wav, /audio/invalid_input.wav, digit_buffer, 512, 1|2|3|5)
2008-10-17 20:07:20 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:20 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:21 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:21 [DEBUG] switch_ivr_play_say.c:1473 switch_play_and_get_digits() play gave up 9
2008-10-17 20:07:21 [DEBUG] switch_ivr_play_say.c:1483 switch_play_and_get_digits() Checking regex [1|2|3|5] on [9]
2008-10-17 20:07:21 [DEBUG] switch_regex.c:198 switch_regex_match() number of matches: -1
2008-10-17 20:07:21 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:21 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:25 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:25 [DEBUG] switch_ivr_play_say.c:1507 switch_play_and_get_digits() Calling more digits try 3
2008-10-17 20:07:25 [DEBUG] switch_ivr_play_say.c:1524 switch_play_and_get_digits() Checking regex [1|2|3|5] on [99]
2008-10-17 20:07:25 [DEBUG] switch_regex.c:198 switch_regex_match() number of matches: -1
2008-10-17 20:07:25 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:25 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:30 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:30 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:30 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:30 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:30 [DEBUG] switch_ivr_play_say.c:1473 switch_play_and_get_digits() play gave up 9
2008-10-17 20:07:30 [DEBUG] switch_ivr_play_say.c:1483 switch_play_and_get_digits() Checking regex [1|2|3|5] on [9]
2008-10-17 20:07:30 [DEBUG] switch_regex.c:198 switch_regex_match() number of matches: -1
2008-10-17 20:07:30 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:30 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:34 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:34 [DEBUG] switch_ivr_play_say.c:1507 switch_play_and_get_digits() Calling more digits try 2
2008-10-17 20:07:35 [DEBUG] switch_ivr_play_say.c:1524 switch_play_and_get_digits() Checking regex [1|2|3|5] on [99]
2008-10-17 20:07:35 [DEBUG] switch_regex.c:198 switch_regex_match() number of matches: -1
2008-10-17 20:07:35 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:35 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:38 [DEBUG] sofia_reg.c:121 sofia_reg_check_gateway() registered nine
2008-10-17 20:07:39 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:39 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:39 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:39 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:39 [DEBUG] switch_ivr_play_say.c:1473 switch_play_and_get_digits() play gave up 9
2008-10-17 20:07:39 [DEBUG] switch_ivr_play_say.c:1483 switch_play_and_get_digits() Checking regex [1|2|3|5] on [9]
2008-10-17 20:07:39 [DEBUG] switch_regex.c:198 switch_regex_match() number of matches: -1
2008-10-17 20:07:39 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:39 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
2008-10-17 20:07:43 [DEBUG] switch_ivr_play_say.c:1218 switch_ivr_play_file() done playing file
2008-10-17 20:07:43 [DEBUG] switch_ivr_play_say.c:1507 switch_play_and_get_digits() Calling more digits try 1
2008-10-17 20:07:45 [DEBUG] switch_ivr_play_say.c:1524 switch_play_and_get_digits() Checking regex [1|2|3|5] on [99]
2008-10-17 20:07:45 [DEBUG] switch_regex.c:198 switch_regex_match() number of matches: -1
2008-10-17 20:07:45 [DEBUG] switch_ivr_play_say.c:928 switch_ivr_play_file() Codec Activated L16@8000hz 1 channels 20ms
2008-10-17 20:07:45 [DEBUG] switch_core_session.c:435 switch_core_session_receive_message() Kill sofia/internal/2001@192.168.1.101 [BREAK]
digit=99