|
|
SMS Server Tools 3 Community |
Welcome, Guest. Please login or register. |
Thu Apr 25, 2024 17:27 |
Login and Post Reply
Page: 1
Author |
Post |
|
#1 Wed May 10, 2017 13:18, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
|
Operating system name and version: Raspbian Jessie kernel 4.9.24-v7+ Version of smsd: 3.1.21 Smsd installed from: sources Name and model of a modem / phone: Huawei E3372 Interface: USB
When i use 2 modems i takes just as long to send 300 sms as it does with 6 modems. i use the ALL spool queue. What confuses me is why it takes just as long with 6 modems as with 2 ?? Do i have to round robin through the queues instead of using ALL queue ?
|
|
#2 Fri May 12, 2017 14:51, 84 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
When you use 6 modems, I think that all modems are not working properly. To find out the problem and performance, here are some settings which may help:
Modem setting logfile = /var/log/modemname.log. When each modem is logging into it's own file, it is easier to see how the modem works.
Modem setting max_continuous_sending = 60. This setting defaults to 5 minutes. With this setting modem process will write to the log "Sent n messages in n sec. Average time for one message: n.n sec." once per minute.
Enable statistics. Global settings: stats = /var/spool/sms/stats stats_no_zeroes = yes stats_interval = 0
Watch the status and counters for example in this way: # while true; do clear; cat /var/spool/sms/stats/status; sleep 1; done
|
|
#3 Fri May 12, 2017 14:59, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
I have actually tried a few things.
If i stop smsd, put 25 sms in each of GSM1-GSM8, and start it again, it is a lot(a lot a lot) faster than putting 200 sms in the ALL queue. Is the ALL queue processing in threats ? Is there a processing threat per modem ?
I will setup the per modem log and stats as you wrote and see what happens with the modems.
Thanks for the quick replys :-)
|
|
#4 Fri May 12, 2017 15:00, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
BTW this is my config file: # /etc/smsd.conf # devices= GSM* 1-7 # logfile = /var/log/smstools/smsd.log loglevel = 5 delaytime = 0 delaytime_mainprocess = 0 internal_combine = yes receive_before_send = no logtime_ms = 1 max_continuous_sending = 200 incoming_utf8 = yes umask = 111 # trust_outgoing = no stats = /var/log/sms/stats 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 # autosplit = 3 # #Timers for errors (specify how many seconds stop on error) blocktime = 3 errorsleeptime = 3 # #MODEM PROPERTIES [GSM1] device = /dev/gsmmodem ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM1.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM1 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [GSM2] device = /dev/gsmmodem2 ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM2.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM2 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [GSM3] device = /dev/gsmmodem3 ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM3.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM3 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [GSM4] device = /dev/gsmmodem4 ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM4.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM4 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [GSM5] device = /dev/gsmmodem5 ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM5.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM5 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [GSM6] device = /dev/gsmmodem6 ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM6.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM6 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [GSM7] device = /dev/gsmmodem7 ignore_unexpected_input = yes detect_unexpected_input = no report = no sending_disabled = no memory_start = 0 send_delay = 0 check_network = 0 voicecall_hangup_ath = yes hangup_incoming_call = yes voicecall_ignore_modem_response = yes regular_run_interval = 60 regular_run_cmd = AT+CSQ regular_run_logfile = /var/ramlog/smsd_run_GSM7.log regular_run_loglevel = 7 init2 = at+cmms=2 pin = ignore status_signal_quality = no pre_init = no incoming = 2 mode = new queues = ALL,GSM7 baudrate = 921600 rtscts = yes cs_convert = yes decode_unicode_text = yes internal_combine = yes eventhandler = /etc/sms/scripts/eventhandlerGSM1 # #Specify PIN #pin = 0000 # # [queues] ALL = /mnt/flash/spool/all GSM1 = /mnt/flash/spool/GSM1 GSM2 = /mnt/flash/spool/GSM2 GSM3 = /mnt/flash/spool/GSM3 GSM4 = /mnt/flash/spool/GSM4 GSM5 = /mnt/flash/spool/GSM5 GSM6 = /mnt/flash/spool/GSM6 GSM7 = /mnt/flash/spool/GSM7 # [provider] ALL = 0,1,2,3,4,5,6,7,8,9,s GSM1 = 0 GSM2 = 0 GSM3 = 0 GSM4 = 0 GSM5 = 0 GSM6 = 0 GSM7 = 0 'smsdconf' Syntax Highlight powered by GeSHi
|
|
#5 Fri May 12, 2017 16:28, 84 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
It sounds like the /mnt/flash is slow. What filesystem it is using?
Have you seen any "Took n.n seconds to get a file xxx, lost n times, n SMS files and n LOCK files seen." in the logs?
While testing, you could change loglevel to 7. With the current value slow spooling is logged only if it takes five seconds or more to get a file.
|
|
#6 Fri May 12, 2017 17:39, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
i only get these: SMS sent, Message_id: 54, To: xxxxxxxxxxx, sending time 1 sec.
|
|
#7 Fri May 12, 2017 18:28, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
i use a sd card ultra from sandisk
|
|
#8 Fri May 12, 2017 18:31, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
and the partition is ext4
|
|
#9 Fri May 12, 2017 18:34, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
is there a lot of handling time from when sms arrives in outgoing till it lands in the ALL queue and then some handling again in the ALL queue, cause again if i just round robin deliver the sms'es directly to GSM1-GSM6 queues it takes 20 sec to send 100 sms and if i deliver 100 sms to outgoing queue it takes around 60 sec ?
|
|
#10 Fri May 12, 2017 19:05, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
just to see the diff i sent you log with test to Outgoing queue and log sent to GSM1-6 queues: Outgoing:
|
|
#11 Fri May 12, 2017 19:06, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
GSM1-6 queues directly(21 sec 100 sms):
|
|
#12 Fri May 12, 2017 21:29, 84 months ago.
|
Administrator
Registered: May 2009
Location: Jyväskylä, Finland
|
You have trust_outgoing = no setting in your configuration, perhaps you have tested it?
This setting is the key at this time. By default (= no), outgoing directory is not trusted, and smsd has to check and wait if the file still grows. This may happen if a file is created slowly. By default smsd spools 1.5 - 2 messages per second, and in your case the ALL queue goes empty and modems need to wait for new messages to send.
A setting trust_outgoing = yes can be used when it is sure that when a new outgoing file exists, it is complete and ready for sending. There are several ways to create outgoing file properly, so it can be trusted. One way is to create a file into the outgoing directory using the extension .LOCK, write and close the file and rename the .LOCK extension away. Alternatively the name can begin with LOCKED, or a dot.
When outgoing directory is trusted, smsd spools about 50 messages per second, depending on the speed of a computer. This should resolve your current problem.
The next thing you may face is that the number of files in the spooler may grow too high. More than 500 files or near to 1000, depending on the server, causes that the file system goes slow. When the delay is remarkable, "Took n.n seconds to get a file ..." is logged and then you have to limit the number of messages. For example, if the number of messages in spooler is already very high, wait some time and check the situation again.
|
|
#13 Fri May 12, 2017 21:35, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
i will try with trust_outging = yes
|
|
#14 Fri May 12, 2017 22:38, 84 months ago.
|
Member
Registered: May 2017
Location: Horsens, Denmark
Topic owner
|
super... huge diffrence..
|
Login and Post Reply
Page: 1
Time in this board is UTC.
|
|
|
|
|
|
|