Subject: | Bug Fix for Device::GSM 1.61 |
Date: | Sat, 18 Feb 2017 00:06:59 +0800 |
To: | bug-device-gsm [...] rt.cpan.org |
From: | Peter Cheng <peter [...] acom-networks.com> |
Dear Sir,
I had an issue when I used the $gsm->messages() that there are no SMS
messages. But actually there was a message in the SIM card
$gsm->storage('SM');
@mesg = $gsm->messages();
@mesg was empty
I traced this down to the Device::GSM::SMS
The output on my GSM modem looks like this when using minicom to send the
AT+CMGL=4 command:
AT+CMGL=4
+CMGL: 0,0,"",20
0791889613000099240C918896636082120000712071328582230130
OK
The issue was that the $header has "" in the third field
So I patched Gsm.pm around line 883
#
# Parse received data (result of +CMGL command)
#
while (@data) {
$self->log->write('debug', 'data[] = ', $data[0]);
my $header = shift @data;
my $pdu = shift @data;
$header =~ s/\"//g; # remove quotes from the header line
This fixed the problem and then everything was working.
Don't know why my GSM modem (based on Wavecom) made by a Chinese
manufacturer was sending quoted strings for an empty string field in the
header.
Just thought you might want to look into this and maybe patch for next
release
Best Regards,
Peter
--
*Peter Cheng*
Acom Networks
Email: peter@acom-networks.com
Mobile: +886.936.062.821
http://www.acom-networks.com