Operating system name and version: Linux ( old gentoo, will be migrating soon )
Version of smsd: 3.1.11
Smsd installed from: sources
Name and model of a modem / phone: Cinterion MC55i (siemens compatible)
Interface: tcp to serial

I have been running SMS Server Tools for years now serving up messages for logging on to the wireless guest network of the company I work at. It's been working great so far, but I'm starting to have issues with load. We are now peaking login requests in periods at 1 request every 1-5 seconds and it's making my server sad. The one modem I have had handling this load up until now has managed quite nicely, but after a change in the wireless setup which pushed about twice as man users over to the guest portal rather than 802.1X, the modem cant send the messages fast enough.

Fair enough, simple solution, add mode modems. Or so I thought... My setup is now, 1 common queue and two modems both configured to handle the queue, no providers, only one modem configured to receive mesages. The SIMs are twin-SIMs sharing the same phone number. All messages are moved from the outgoing folder to the queue folder correctly.

The problem is that one modem is diligently handling the queue, but the other modem is only occasionally handling outgoing messages. The lazy modem is the one handling incoming messages, but the logs show that there are almost never any incoming messages, but it does check.

How can I make the lazy modem handle messages when there are messages not being handles by the other modem? If there are 2 messages, one locked by the other modem, I am expecting the lazy modem to handle it, but in reality it checks to see if there are any messages and does nothing. My queue is in other words building up to a queue in the hundreds, especially when users start hammering the login buttons to get the codes that never arrive due to the long queue...

Thank you again for a great product, and to anyone willing or able to assist me here.

Config:
devices =  GSM2,GSM3
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/outgoing
incoming = /var/spool/sms/incoming
loglevel = 7
alarmlevel = 4
delaytime = 6
delaytime_mainprocess = 1
errorsleeptime = 10
blocktime = 120
eventhandler = /var/www/localhost/htdocs/smsevent
receive_before_send = no
autosplit = 3
ignore_outgoing_priority = yes
spool_directory_order = no

[queues]
Main  = /var/spool/sms/outgoing/Main

[GSM2]
queues = Main
init = AT+CPMS="SM","SM","SM"
device = @x.x.x.x:950
incoming = no
pin = XXXX
baudrate = 115200
rtscts = yes              
cs_convert = yes    
report = no  
hangup_incoming_call = yes
keep_open = no      

[GSM3]
queues = Main
init = AT+CPMS="SM","SM","SM"        
device = @x.x.x.x:950              
incoming = high
pin = XXXX
baudrate = 115200
rtscts = yes
cs_convert = yes
report = no
hangup_incoming_call = yes
keep_open = yes

 
 
'smsdconf' Syntax Highlight powered by GeSHi