[Freeswitch-users] problem with "play_and_get_digits" command (DTMF delay time)
Manish Talwar
manish.talwar at nexxuspg.com
Tue Aug 25 16:56:25 MSD 2015
Hi,
I have found one small problem with "play_and_get_digits" command. We have a IVR application and I am trying to get either "16 digit" card number or "0" for move to customer support from the user. Please find my dialplan as follows:
2015-08-25 18:05:37.535806 [CRIT] mod_httapi.c:1148 Debugging Return Data:
<document type="xml/freeswitch-httapi"><params></params><work><execute applicati
on="log" data="card number inputed: 2"/><execute application="flush_dtmf"/><exec
ute application="sleep" data="2000"/><execute application="clear_digit_action"
data="my_digit" /><execute application="bind_digit_action" data="my_digit,~\d{1
6}|^[0]{1},exec:transfer,dummy_transfer" /><execute action="http:/
/localhost:8080/ivr/fsentercardnumber/response/" application="play_and_get_digi
ts" data="0 16 1 1000 # en-US/enter_card_number.mp3 '' Digits '' 1000 '' " /><ge
tVariable name="Digits"/><execute action="http://localhost:8080/ivr/fsentercardnumber/response/" a
pplication="play_and_get_digits" data="0 16 1 20000 # en-US/menu_speak_csr.mp3 '
' Digits '' 20000 '' " /><getVariable name="Digits"/><execute application="clea
r_digit_action" data="my_digit" /></work></document>
It is working fine as expected if user input 16 digit number continuously without any delay. After getting full 16 digit number it will match the "bind_digit_action" and move to other dialplan.
But my problem is if a user enter card number slowly then its trying to match already inputed DTMF values with matching binding and received next inputed value as different DTMF values. As a example, if I tried to input 55 and then wait for 1-2 seconds then Freeswitch tried to match 55 with binding.
2015-08-25 18:05:39.535920 [DEBUG] switch_ivr_play_say.c:1305 Codec Activated L1
6 at 8000hz 1 channels 20ms
2015-08-25 18:05:39.755933 [DEBUG] switch_rtp.c:5819 RTP RECV DTMF 5:2080
2015-08-25 18:05:40.015948 [DEBUG] switch_rtp.c:5819 RTP RECV DTMF 5:2080
2015-08-25 18:05:41.536035 [DEBUG] mod_dptools.c:132 sofia/internal/18188535351@
192.168.1.112 Digit NOT match binding [55]
2015-08-25 18:05:41.536035 [DEBUG] switch_channel.c:486 RECV DTMF 5:2000
2015-08-25 18:05:41.536035 [DEBUG] switch_channel.c:582 sofia/internal/181885353
51 at 192.168.1.112 Queue dtmf
digit=5 ms=250 samples=2000
2015-08-25 18:05:41.536035 [DEBUG] switch_channel.c:486 RECV DTMF 5:2000
2015-08-25 18:05:41.536035 [DEBUG] switch_channel.c:582 sofia/internal/181885353
51 at 192.168.1.112 Queue dtmf
digit=5 ms=250 samples=2000
I don't want fresswtich tried to match the binding if there is any pause time while inputed the number as user can type slowly.
I want to reset this binding delay time so that user can type slowly and we will get full 16 digits number for matching inputed value in certain time interval.
Please suggest me how can I resolve this problem and increase the DTMF delay time.
Thanks,
Regards,
Manish Talwar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150825/efa57c63/attachment.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list