|
|
SMS Server Tools 3 Community |
Welcome, Guest. The forum is currently read-only, but will open soon. |
Tue Jul 01, 2025 08:12 |
Page: 1
Keywords: Mode: All keywords (AND) |
Mon Mar 28, 2016 10:14
|
dive: i managed to call eventhandler in modeminit.c, right after IMSI is received, but somehow it gives me errors:
2016-03-28 18:01:08,3, GSM20: Done: eventhandler, execution time 0 sec., status: 32512 (127)
2016-03-28 18:01:08,3, GSM20: Exec: eventhandler encountered errors:
2016-03-28 18:01:08,3, GSM20: ! sh: Running: command not found
2016-03-28 18:01:08,3, GSM1: Done: eventhandler, execution time 0 sec., status: 32512 (127)
2016-03-28 18:01:08,3, GSM1: Exec: eventhandler encountered errors:
2016-03-28 18:01:08,3, GSM1: ! sh: Running: command not found
here's how i'm doing it. around line #1606 of modeminit.c:
if (!strstr(DEVICE.identity, "ERROR"))
{
if ((p = strstr(DEVICE.identity, "OK")))
*p = 0;
cut_ctrl(DEVICE.identity);
cutspaces(DEVICE.identity);
writelogfile(LOG_NOTICE, 0, "IMSI: %s", DEVICE.identity);
// run eventhandler with IMSI event
if(eventhandler[0]) {
my_system(tb_sprintf("%s IMSI %s:%s", eventhandler, DEVICE.name, DEVICE.identity), EXEC_EVENTHANDLER);
}
}
my_system() is defined in extras.c and it's exactly same function which runs eventhandler on SENT/FAILED/RECEIVED events. so it works fine for those events, but not for my custom IMSI. no idea what causes this "command not found" error..
eventhandler is defined in /etc/smsd.conf like this:
eventhandler = /usr/local/bin/yii-sms/protected/commands/shell/event.sh
|
Fri Mar 25, 2016 00:18
|
dive: we have quite big pool and we use prepaid sim-cards with unli-txt promo, but only bound to home network. sometimes they get blocked or have to be pulled out or replaced for some reason. so i need to inform my web backend about these changes asap.
i want to run eventhandler with new event "IMSI" which has 2 arguments: modem name and IMSI value itself.
how about putting it all on github?
|
Thu Mar 24, 2016 05:33
|
dive: i'm trying to add some fixes to smsd.c and then rebuild it, but compiler gives me this error:
smsd.c:700:5: warning: multi-character character constant
smsd.c: In function ‘apply_filename_preview’:
smsd.c:700: warning: overflow in implicit constant conversion
i found out that originally file smsd.c is not in unicode and stated line has this:
int apply_filename_preview(char *filename, char *arg_text, int setting_length)
{
/*
£$¥èéùìòÇØøÅå Ææ É ÄÖÑܧ äöñüà ¤
LSYeeuioCOoAa Aa E AONUS aonua e
*/
char *allowed_chars = "-.";
char replace_from[] = {
0xA3, '$', 0xA5, 0xE8, 0xE9, 0xF9, 0xEC, 0xF2, 0xC7, 0xD8, 0xF8, 0xC5, 0xE5,
0xC6, 0xE6,
0xC9,
0xC4, 0xD6, 0xD1, 0xDC, 0xA7,
0xE4, 0xF6, 0xF1, 0xFC, 0xE0,
'¤', // <------ line 700
0x00
};
now what should i do about it?
|
Fri Sep 27, 2013 07:03
|
dive: Not quite. If I issue this command I get log like this:
2013-09-27 14:59:48,2, smsd: Smsd mainprocess is awaiting the termination of all modem handlers. PID: 1037.
2013-09-27 14:59:48,2, smsd: Smsd mainprocess terminated. PID 1037, was started 13-09-27 10:04:49.
2013-09-27 14:59:48,3, GSM4: The modem answer was not OK:
2013-09-27 14:59:48,5, GSM4: Waiting 10 sec. before retrying
2013-09-27 14:59:48,4, GSM4: Sending SMS (part 2/3) to 63916519**** failed, trying time 2 sec. Retries: 0.
2013-09-27 14:59:48,3, GSM2: The modem did not answer (expected OK).
2013-09-27 14:59:48,5, GSM2: Waiting 10 sec. before retrying
2013-09-27 14:59:48,4, GSM2: Sending SMS (part 1/3) to 63948825**** failed, trying time 1 sec. Retries: 0.
2013-09-27 14:59:50,2, GSM2: Modem handler 1 terminated. PID: 1040, was started 13-09-27 10:04:49.
2013-09-27 14:59:50,2, GSM4: Modem handler 3 terminated. PID: 1042, was started 13-09-27 10:04:49.
Only GSM2 and GSM4 were online at that moment. So as you can see GSM4 was busy sending out part #2 of some message, and this sending failed because handler was terminated.
|
Thu Sep 26, 2013 22:15
|
dive: Operating system name and version: Linux OpenSUSE vicidial21 3.1.10-1.2
Version of smsd: 3.1.15
Smsd installed from: sources
Name and model of a modem / phone: ZTE, Huawei
Interface: ttyUSB
Hello. I have configured pool of 3 modems already. It works fine, but I have rather big queue to send out each day: about 9k of messages. And each is quite large, so it will be splitted in 3 parts, so actually queue is 9k*3. Point is that I can send messages only in daytime from 8am till 10pm.
What is the correct way to pause smsd daemon? I can't just stop it at any moment, because GSM1 can be sending 2/3 part and GSM3 can be still sending 1/3 part and so on. How do I wait for each modem to send out 100% of current message parts and then I stop the daemon?
|
Page: 1
Time in this board is UTC.
|
|
|
 |
|
 |
|