SMS Server Tools 3
This site is hosted by Kekekasvi.com
 Menu
Basic information:
Additional information:
Support:
Get SMS Server Tools 3:
Additional Options

 Sponsored links

 Search
Custom Search

 Visitor locations
 
 SMS Server Tools 3 Community
Welcome, Guest. Please login or register. Sat Apr 20, 2024 01:14
SMSTools3 Community » Help and support Bottom

[answered] Message via especific modem

  This topic is locked

Page:  1

Author Post
Member
Registered:
Apr 2010
Location: Portugal
Hello.

Instead of configure queues and providers, configure a tag (exe. "Modem:") on the sms header to force an sms to be sent via a specific Modem.

Carlos

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
Carlos wrote
Instead of configure queues and providers, configure a tag (exe. "Modem:") on the sms header to force an sms to be sent via a specific Modem.

A tag "Modem:" cannot be used, because it's used to tell what modem has handled a sent (or failed) message. For example: 1) if a sending fails, you can use some external script (or regular_run) to check the failed directory and move message file back to the outgoing directory. 2) If sending was successfull, but no delivery report (status report) is received fast enough, your script can change the destination of a message file and move it back to sending.

In both cases, the "Modem:" header will cause unexpected consequences.

In any case, you must define and create queue directories. That's another reason why just "Modem:" tag cannot work. A definition of providers could be omitted, because in your case it's always "catch-all". Perhaps I should accept an empty provider definition in the code: is queues are defined and providers are not, all providers could default to "catch-all".

Member
Registered:
Apr 2010
Location: Portugal
Topic owner
Hello Keke.

I found a "workaround".

Goal: Send sms via all modems except when forcing to a specific one.

On smsd.conf:

--------------------------
...
[queues]
default = /var/spool/sms/defaultq
GSM1 = /var/spool/sms/GSM1q
GSM2 = /var/spool/sms/GSM2q

[providers]
default = 0,1,2,3,4,5,6,7,8,9,s
GSM1 = 0
GSM2 = 0
...

[GSM1]
...
queues = default,modemname

[GSM2]
...
queues = default,modemname
---------------

This way, all messages will go to "default" provider/queue and both modems will read this directory.
When the sms header has a line name "Queue:" then, the sms will be redirected that provider/queue => modem.

Best regards,
Carlos

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
Carlos wrote
I found a "workaround".

Great! But it's not a "workaround", it's the way how smsd works and should be used... ;)

You had another topic with this issue and it's answered yesterday, this post, have you seen it? It also contains an question for you, but probably I can close that topic now?

Next version of smsd does not need [providers] definition, if provider sorting is not used. I will also make better documentation for queues and provider sorting, including more samples with explanations.

Hopefully you are satisfied now, and do not need a "Modem" tag anymore... ;) Later, when you may have groups of modems, you can easily make a setup which targets messages to the first group (GSM11, GSM12 and GSM13), or to the second group (GSM21, GSM22, GSM23 and GSM24). (Names just as an example). But if you still and really want to use a "Modem" tag, and know what you are doing, this is how to use it:

- Define a checkhandler.
- In the checkhandler script, read the content of Modem: header.
- Remove the Modem: header.
- Write a new header to the file: Queue: <content>.

  This topic is locked

Page:  1

SMSTools3 Community » Help and support Top

 
Time in this board is UTC.  

Privacy Policy   SMS Server Tools 3 Copyright © Keijo Kasvi.