[Home]

Summary:ASTERISK-21898: Read application does not set the variable
Reporter:Siddharth Jagtiani (jsiddharth)Labels:
Date Opened:2013-06-11 00:29:34Date Closed:2013-06-11 08:58:38
Priority:MajorRegression?
Status:Closed/CompleteComponents:Applications/app_read
Versions:11.4.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:I am running a Ubuntu 12.04, I have downloaded 1.8 asterisk version, build was successful. I have configured chan_dongle to work with a voice enabled dongle. Marked as Major since setting the variable is a essential feature for the read application. Without that its a useless app.Attachments:( 0) debugLog.txt
Description:
{noformat}
>core show dongle state dongle0< reports
Device                  : dongle0
 State                   : Free
 Audio                   : /dev/ttyUSB1
 Data                    : /dev/ttyUSB2
 Voice                   : Yes
 SMS                     : Yes
 Manufacturer            : huawei
 Model                   : E303D
 Firmware                : 21.157.72.00.356
 IMEI                    : correctIMEI
 IMSI                    : correctIMSI
 GSM Registration Status : Registered, home network
 RSSI                    : 15, -116 dBm
 Mode                    : No Service
 Submode                 : No service
 Provider Name           : IDEA
 Location area code      : "A03D"
 Cell ID                 : "B96B"
 Subscriber Number       : Unknown
 SMS Service Center      : +91correctnumber
 Use UCS-2 encoding      : Yes
 USSD use 7 bit encoding : No
 USSD use UCS-2 decoding : Yes
 Tasks in queue          : 0
 Commands in queue       : 0
 Call Waiting            : Disabled
 Current device state    : start
 Desired device state    : start
 When change state       : now
 Calls/Channels          : 0
   Active                : 0
   Held                  : 0
   Dialing               : 0
   Alerting              : 0
   Incoming              : 0
   Waiting               : 0
   Releasing             : 0
   Initializing          : 0
{noformat}

When I make a incoming call, and put punch in a code I get following results only in " entered" as a result.
When I send a sms to this number, it fills up sms.txt with the sms and the source number correctly.
Basically pincode variable does not get a value on the read application.

{noformat}
Extensions.conf
[dongle-incoming]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLE} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLE}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

exten => s,1,Answer()
exten => s,n,Read(pincode,agent-newlocation,3)
exten => s,n,System(echo '${pincode} entered')
exten => s,n,Goto(1)
{noformat}
Comments:By: Michael L. Young (elguero) 2013-06-11 07:14:54.841-0500

In order to help troubleshooting this issue, please attach debug logs.

https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

The READ application appears to be working from my testing.  Perhaps the debug logs will help show what is happening.

One thing I notice is that you are not outputting to a file like in the other two extensions sms and ussd.  You are simply doing "echo".  For troubleshooting, I put a NoOp in there instead of using System and I do see that pincode variable is being set properly.

By: Siddharth Jagtiani (jsiddharth) 2013-06-11 07:43:35.083-0500

Here is the myDebugLog contents. I dialed the number, dongle answered the call and played the voice prompt. After that same result, no dtmf.

[removed debug log and attached it to issue]

By: Michael L. Young (elguero) 2013-06-11 08:38:24.649-0500

READ application is saying that nothing was entered.  I don't think there is anything wrong with READ, perhaps the problem is in the third party driver you are using.

It looks like you are using chan_dongle, is that correct?  Please check their wiki page that has some options for debugging problems with DTMF.

By: Siddharth Jagtiani (jsiddharth) 2013-06-11 08:40:39.700-0500

My dtmf value in dongle.conf is

dtmf=relax

I also tried off, inband. Did not work. Same thing, dtmf variable not set on read application in dialplan.

I just also tried 'tail -f /var/log/asterisk/myDebugLog' and while I was punching in the keys no response. So guess the issue is somewhere in recognizing the dtmf signal from my mobile phone (HTC Wildfire Android 2.3.6)

By: Malcolm Davenport (mdavenport) 2013-06-11 08:52:02.778-0500

app_read is fine.  I used that exact dialplan snippit against a Digium phone connected via chan_sip.  It's a problem with chan_dongle or the device attached to chan_dongle.  Since that's not a channel driver that's a part of Asterisk, I recommend closing this issue in the Asterisk issue tracker and referring instead to the authors of chan_dongle.

By: Michael L. Young (elguero) 2013-06-11 08:58:38.426-0500

Just like Malcolm stated, app_read is working fine.  I have tested it and Malcolm has tested it.

Since this driver is not part of Asterisk, we are unable to provide any further support.  Please contact the authors of chan_dongle for further help in getting the driver to read input from your device.