|
|
SMS Server Tools 3 Community |
Welcome, Guest. The forum is currently read-only, but will open soon. |
Fri Feb 14, 2025 17:28 |
This topic is locked
Page: 1
Author |
Post |
|
#1 Fri Feb 05, 2010 06:06, 182 months ago.
|
Member
Registered: Feb 2010
Location: Russian Federation
|
Host: Linux host 2.6.31-14-generic-pae #48-Ubuntu Server 9.10 i686 GNU/Linux Version: 3.1.3 Smsd installed from: package repository model: iRZ ES75iT Interface: serial
I want to handle incoming calls. My config file. # # /etc/smsd.conf # # Description: Main configuration file for the smsd # Last changed: Fri Jan 29 13:25:07 MSK 2010 #
checkhandler=/usr/local/bin/utf82ucs eventhandler=/usr/local/bin/eventhandler-utf-8
devices = GSM1 outgoing = /var/spool/sms/outgoing checked = /var/spool/sms/checked incoming = /var/spool/sms/incoming logfile = /var/log/smsd.log infofile = /var/run/smstools/smsd.working pidfile = /var/run/smstools/smsd.pid outgoing = /var/spool/sms/outgoing checked = /var/spool/sms/checked failed = /var/spool/sms/failed incoming = /var/spool/sms/incoming sent = /var/spool/sms/sent stats = /var/log/smstools/smsd_stats loglevel = 6 receive_before_send = no autosplit = 3
[GSM1] #init = device = /dev/ttyS0 #incoming = yes pin = 1111 baudrate = 115200 phonecalls = yes
Then I make a call on my modem, in my log file I see this:
2010-02-04 14:42:56,6, GSM1: Reading phonecall entries 2010-02-04 14:42:56,7, GSM1: -> AT+CPBS="MC" 2010-02-04 14:42:57,7, GSM1: Command is sent, waiting for the answer 2010-02-04 14:42:57,7, GSM1: <- OK 2010-02-04 14:42:57,7, GSM1: -> AT+CPBR=1,10 2010-02-04 14:42:57,7, GSM1: Command is sent, waiting for the answer 2010-02-04 14:42:57,7, GSM1: <- +CPBR: 1,"+78317711111",145,"" +CPBR: 2,"+79107111111",145,"" +CPBR: 3,"+79501111111",145,"" OK 2010-02-04 14:42:57,6, GSM1: Got phonecall entry from 78317711111 2010-02-04 14:42:57,6, GSM1: Got phonecall entry from 79107111111 2010-02-04 14:42:57,6, GSM1: Got phonecall entry from 79501111111 2010-02-04 14:42:57,6, GSM1: Removing processed phonecall entries 2010-02-04 14:42:57,7, GSM1: -> AT+CPBW=3 2010-02-04 14:42:57,7, GSM1: Command is sent, waiting for the answer 2010-02-04 14:42:57,7, GSM1: <- +CME ERROR: 3 2010-02-04 14:42:57,7, GSM1: Explanation: operation not allowed 2010-02-04 14:42:57,7, GSM1: -> AT+CPBW=2 2010-02-04 14:42:57,7, GSM1: Command is sent, waiting for the answer 2010-02-04 14:42:58,7, GSM1: <- +CME ERROR: 3 2010-02-04 14:42:58,7, GSM1: Explanation: operation not allowed
After that, my directory is filled with three identical files. One for 78317711111 2 for 79107111111 3 for 79501111111 Because sms tools cannot delete this calls from SIM.
Why??? Please help me ))
|
|
#2 Fri Feb 05, 2010 09:43, 182 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
The CME ERROR 3 means "operation not allowed".
Probably your device is based on Siemens MC75 chip. The manual of MC75 says that AT+CPBW command is not applicable to "MC" storage. The "MC" list can be deleted with AT^SPBD.
This differs from the conventional way of dealing with memory locations and requires a new setting and change to the smsd code. Assuming that you can later compile a new smsd from sources, please do the following:
Stop the smsd if it's running.
Make sure that you have at least one missed call in your device.
Start smsd in a communication mode: smsd -C GSM1
Follow the instructions on the screen.
Type a command ATE1 (followed with a Return) to get echo on (so that you do not have to type blind).
Get details of your device with the following three commands: AT+CGMI AT+CGMM AT+CGMR
Select a "MC" storage: AT+CPBS="MC"
List the content: AT+CPBR=1,10
Test a purge command, get a list of supported storages: AT^SPBD=?
Then clear a MC storage: AT^SPBD="MC"
And list the content again, it should be empty now: AT+CPBR=1,10
Ctrl-C will stop the communication mode.
Show the entire communication here. After I can verify that the alternate way for purge is working, I can make a necessary additions to the smsd. Within a few days I could publish a new version, which will be the next beta of 3.1.7.
|
|
#3 Fri Feb 05, 2010 10:47, 182 months ago.
|
Member
Registered: Feb 2010
Location: Russian Federation
Topic owner
|
Here is.. All works fine with your code )) I will wait for new version...
OK AT+CGMI Cinterion
OK AT+CGMM MC75i
OK AT+CGMR REVISION 01.100
OK AT+CPBS="MC" OK AT+CPBR=1,10 +CPBR: 1,"+79202957111",145,"" +CPBR: 2,"+78317799111",145,"" +CPBR: 3,"+79107951111",145,"" +CPBR: 4,"+79506286111",145,""
OK AT^SPBD=? ^SPBD: ("LD","MC","RC")
OK AT^SPBD="MC" OK AT+CPBR=1,10 OK
|
|
#4 Fri Feb 05, 2010 18:06, 182 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
While waiting for a new version... Please download and extract the 3.1.7beta. Edit the src/smsd.c file. Locate the following and insert those four lines shown bold and red: if (result == 0 && count > 0 && !keep_messages) { result = count; writelogfile(LOG_INFO, 0, "Removing processed phonecall entries", count);
p = "AT^SPBD=\"MC\""; sprintf(command,"%s\r", p); put_command(command, answer, sizeof(answer), 1, "(ERROR)|(OK)"); count = 0;
while (count) { sprintf(command,"AT+CPBW=%i\r", count); put_command(command, answer, sizeof(answer), 1, "(ERROR)|(OK)"); count--; } writelogfile(LOG_INFO, 0, "%i phonecall entries processed", result); } } } } }
Compile, run and test. Whatever happens, let me know  I will create a new version with configuration settings later.
|
|
#5 Tue Mar 02, 2010 13:59, 182 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
Did you make and test this change, and did it work well?
|
This topic is locked
Page: 1
Time in this board is UTC.
|
|
|
 |
|
 |
|