Hello, I'm originating calls from Freeswitch to remote destinations. When the destination answers the call (wait_for_answer) I ask the destination for some digits. <action application="play_and_get_digits" data="6 8 2 5000 # ${prompts_directory}/ask_and_collect.wav ${prompts_directory}/invalid.wav dtmfInput \d 2500"/> <action application="set" data="api_hangup_hook=jsrun $${scripts_directory}/collect_data.js ${internal_reference} DTMFInput=${dtmfInput}"/> <action application="log" data="INFO The caller entered the following code for verification: ${dtmfInput}" /> It happens quite often where the variable $[dtmfInput} doesn't have a value, even though I see the console output in Freeswitch receiving the DTMF events. 2014-05-14 13:29:26.316614 [DEBUG] switch_rtp.c:3901 RTP RECV DTMF 3:2880 2014-05-14 13:29:26.316614 [DEBUG] switch_channel.c:471 RECV DTMF 3:2880 2014-05-14 13:29:26.956611 [DEBUG] switch_rtp.c:3901 RTP RECV DTMF 1:2880 2014-05-14 13:29:26.956611 [DEBUG] switch_channel.c:471 RECV DTMF 1:2880 I'm using RFC2833 mode. Any ideas why this happens? Regards, Grant
Hi Grant, Check inside your JS script for a value. It is waiting for the hangup event to run so DTMFvalues should exist. You <action application="log" ... may be running before the DTMF is received. Sean From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Grant Bagdasarian Sent: Wednesday, May 14, 2014 7:59 AM To: FreeSWITCH Users Help (freeswitch-users@lists.freeswitch.org) Subject: [Freeswitch-users] Received DTMF not available Hello, I'm originating calls from Freeswitch to remote destinations. When the destination answers the call (wait_for_answer) I ask the destination for some digits. <action application="play_and_get_digits" data="6 8 2 5000 # ${prompts_directory}/ask_and_collect.wav ${prompts_directory}/invalid.wav dtmfInput \d 2500"/> <action application="set" data="api_hangup_hook=jsrun $${scripts_directory}/collect_data.js ${internal_reference} DTMFInput=${dtmfInput}"/> <action application="log" data="INFO The caller entered the following code for verification: ${dtmfInput}" /> It happens quite often where the variable $[dtmfInput} doesn't have a value, even though I see the console output in Freeswitch receiving the DTMF events. 2014-05-14 13:29:26.316614 [DEBUG] switch_rtp.c:3901 RTP RECV DTMF 3:2880 2014-05-14 13:29:26.316614 [DEBUG] switch_channel.c:471 RECV DTMF 3:2880 2014-05-14 13:29:26.956611 [DEBUG] switch_rtp.c:3901 RTP RECV DTMF 1:2880 2014-05-14 13:29:26.956611 [DEBUG] switch_channel.c:471 RECV DTMF 1:2880 I'm using RFC2833 mode. Any ideas why this happens? Regards, Grant
participants (2)
-
Grant Bagdasarian
-
Sean Devoy