sjoyos: Operating system name and version: 5.4.0-51-generic #56-Ubuntu
Version of smsd: 3.1.21
Smsd installed from: sources / package repository / from elsewhere...
Name and model of a modem / phone: WAVECOM MODEM, MULTIBAND 900E 1800
Interface: serial / USB / some adapter...
I have multiport modem which contain 8 ports, i can successfully install the software and make the hardware running in my system.
i tried to configure and make some adjustment to my requirements, but seems like i cannot make it works perfectly, thats why i need some help from people who might know on how can i accomplish regarding from the below requirements:
a. when a device/modem is initialize, i need to have some information when its open successfully and ready to operating so i can executing my custom command when this event occured.
b. when a device/modem is opened successfully and ready, i need to run USSD Command to get simcard number(MSISDN and along with device name) and store it somewhere in database.
c. when a device is suspended, means changing simcard on the fly i need to have an event so i can record the new attached simcard to database so i do not loose information.
d. when a device is on error occur like cannot register on the network and still not ready to operating, i need to have this information too.
the point from the whole thing is, i need to store all information about which port or number in the devices is on ready 100% to accepting some jobs (sending/receiving sms).
what i had tried so far is, trying to make regular_run but failed to get statfile(it got deleted so quickly by the system and i do not know why), the current system just recording the output from ussd command in logfile(if defined, if not then i loose the response).
below is my regular_run configuration.
regular_run_interval = 10 #means checking cmdfile every 10 seconds and executing if found
regular_run_cmdfile = /var/spool/sms/scripts/rr_cmdfile_modemname
regular_run_statfile = /var/spool/sms/scripts/stats/rr_statfile_modemname
regular_run_logfile = /var/spool/sms/scripts/rr_logfile_modemname
regular_run_post_run = /var/spool/sms/scripts/rr_postrun.sh
i'm creating the directory of scripts and setting the permission and ownership to the same user as smstools running from.
drwxr-sr-x 3 smsd smsd 4096 Okt 24 00:41 .
drwxrwsr-t 16 smsd smsd 4096 Okt 23 21:52 ..
-rwxr-xr-x 1 smsd smsd 99 Okt 23 21:52 alarmhandler.sh
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM1
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM2
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM3
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM4
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM5
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM6
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM7
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM8
-rw-r--r-- 1 smsd smsd 858 Okt 24 00:41 rr_logfile_GSM1
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM2
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM3
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM4
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM5
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM6
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM7
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM8
-rwxr-xr-x 1 smsd smsd 63 Okt 24 00:26 rr_postrun.sh
drwxr-sr-x 2 smsd smsd 4096 Okt 24 00:41 stats
i had tried to creating cmdfile from below:
echo "AT+CUSD=1,\"*123*30#\",15" | sudo tee /var/spool/sms/scripts/rr_cmdfile_GSM1
and i can assure that it exists on file system.
rwxr-sr-x 3 smsd smsd 4096 Okt 24 01:12 .
drwxrwsr-t 16 smsd smsd 4096 Okt 23 21:52 ..
-rwxr-xr-x 1 smsd smsd 99 Okt 23 21:52 alarmhandler.sh
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM1
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM2
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM3
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM4
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM5
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM6
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM7
-rwxr-xr-x 1 smsd smsd 24 Okt 23 23:29 eventhandler_ussd_GSM8
-rw-r--r-- 1 root smsd 24 Okt 24 01:12 rr_cmdfile_GSM1
-rw-r--r-- 1 smsd smsd 858 Okt 24 00:41 rr_logfile_GSM1
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM2
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM3
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM4
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM5
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM6
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM7
-rw-r--r-- 1 smsd smsd 0 Okt 23 23:58 rr_logfile_GSM8
-rwxr-xr-x 1 smsd smsd 63 Okt 24 00:26 rr_postrun.sh
drwxr-sr-x 2 smsd smsd 4096 Okt 24 00:41 stats
rr_logfile_GSM1 contain all ussd command response.
2020-10-24 00:36:02,5, GSM1: CMD: AT+CGSN: 012345678901234 OK
2020-10-24 00:40:52,5, GSM1: CMD: AT+CGMI: WAVECOM MODEM OK
2020-10-24 00:41:02,5, GSM1: CMD: AT+CGMM: MULTIBAND 900E 1800 OK
2020-10-24 01:12:50,5, GSM1: CMD: AT+CUSD=1,"*123*30#",15: OK +CUSD: 1,"No HP 085813007816 Pulsa Rp 0 s/d Langganan : 1 Gratis 1GB 2 770MB,Rp7700 3 200MB,2rb 4 GRATISAN 5 750MB,7500 6 1GB,10rb 7 3GB,25rb 8 IMKAS ",15
statfile is missing, stats directory is empty, but showing last modified date is the latest one. means the file got deleted.
drwxr-sr-x 2 smsd smsd 4096 Okt 24 01:12 .
drwxr-sr-x 3 smsd smsd 4096 Okt 24 01:12 ..
i have read the documentation which stated regular_run_statfile = filename
Default value: not in use.
If defined, results of commands are written to this file. Old file is cleared before each run. Since version 3.1.16 special keyword modemname can be used, it's replaced with a name of modem. , perhaps there is another run which causing the old file deleted. what makes me confused i never make any cmdfile. another thing which processed strangely postrun scripts running as much as device count even if i only make one cmdfile script.i am attaching the error too.
2020-10-24 01:27:32,6, GSM7: Running a regular_run_post_run POST_RUN
2020-10-24 01:27:32,7, GSM7: Running regular_run_post_run (modem): /var/spool/sms/scripts/rr_postrun.sh POST_RUN "/var/spool/sms/scripts/stats/rr_statfile_GSM7" GSM7
2020-10-24 01:27:32,3, GSM7: ! Can't connect to POST_RUN:80 (Temporary failure in name resolution)
2020-10-24 01:27:32,3, GSM7: ! from POSTRUN scripts: ,
2020-10-24 01:27:34,6, GSM8: Running a regular_run_post_run POST_RUN
2020-10-24 01:27:34,7, GSM8: Running regular_run_post_run (modem): /var/spool/sms/scripts/rr_postrun.sh POST_RUN "/var/spool/sms/scripts/stats/rr_statfile_GSM8" GSM8
2020-10-24 01:27:34,3, GSM8: ! Can't connect to POST_RUN:80 (Temporary failure in name resolution)
2020-10-24 01:27:34,3, GSM8: ! from POSTRUN scripts: ,
2020-10-24 01:27:34,6, GSM5: Running a regular_run_post_run POST_RUN
2020-10-24 01:27:34,7, GSM5: Running regular_run_post_run (modem): /var/spool/sms/scripts/rr_postrun.sh POST_RUN "/var/spool/sms/scripts/stats/rr_statfile_GSM5" GSM5
2020-10-24 01:27:34,6, GSM6: Running a regular_run_post_run POST_RUN
2020-10-24 01:27:34,7, GSM6: Running regular_run_post_run (modem): /var/spool/sms/scripts/rr_postrun.sh POST_RUN "/var/spool/sms/scripts/stats/rr_statfile_GSM6" GSM6
2020-10-24 01:27:34,3, GSM5: ! Can't connect to POST_RUN:80 (Temporary failure in name resolution)
2020-10-24 01:27:34,3, GSM5: ! from POSTRUN scripts: ,
2020-10-24 01:27:34,3, GSM6: ! Can't connect to POST_RUN:80 (Temporary failure in name resolution)
2020-10-24 01:27:34,3, GSM6: ! from POSTRUN scripts: ,
2020-10-24 01:27:38,6, GSM1: Running a regular_run_post_run POST_RUN
2020-10-24 01:27:38,7, GSM1: Running regular_run_post_run (modem): /var/spool/sms/scripts/rr_postrun.sh POST_RUN "/var/spool/sms/scripts/stats/rr_statfile_GSM1" GSM1
2020-10-24 01:27:38,3, GSM1: ! Can't connect to POST_RUN:80 (Temporary failure in name resolution)
2020-10-24 01:27:38,3, GSM1: ! from POSTRUN scripts: ,
from postrun error message i concluding if the scripts have to be in somewhere in web service and not as file script.
rr_postrun.sh contain just a simple code to writing param $1,$2.
POST = $1
STAT = $2
echo "from POSTRUN scripts:" $POST, $STAT
Please help me!
|