TSP Lab CIMDSMS - The SMS Sender (via CIMD over TCP/IP) CIMDSMS

The SMS Sender module (CIMD version)
("CIMDSMS")

Table of Contents

Features

Basic operation

User interface

The main menu

Menu Menuitem Shortcut(s) Meaning
[Log]
  Find line containing... (Ctrl-F) Find text in log window
  Find next matching line (F3) Find next occurrence of text in log window
  Details   Detail level of logging (Off, Normal, Detailed, or Debug)
[SMSC]
  Check and load input queue (Ctrl-L, or right-side ) Allow periodical loading of INI/[Advanced]/sSMSPath
  Allow auto-connect to SMSC (Ctrl-S, or left-side ) Allow automatic (re-)connecting to the SMSC
  Process waiting SM requests () Send Short Messages that have been loaded in the waiting queue
  Unload SMSC waiting queue   Put all prefetched Short Messages back to INI/[Advanced]/sSMSPath
  Forget SMSC waiting queue   Simply forget all prefetched Short Messages
  Terminate all SMSC connections gracefully   Disconnect all SMSC connections in the normal way
  Abort all SMSC connections immediately (!!!BRUTAL!!!)   Disconnect all SMSC connections immediately by breaking low layer sockets
  test: 36309304049   Send a test Short Message to the well-known guy at +36309304049
[White list]
  Syntax-check list   Check syntax (but do not load) white list file at INI/[Advanced]/sWhiteListFile
  Reload list   Reload white list file at INI/[Advanced]/sWhiteListFile now
[Options]
  Auto scroll (ScrollLock, or ) Allow automatic scrolling of the log screen
  Show log (Ctrl-Tab) Show log screen
  Show SMSC queues (Ctrl-Tab) Show SMSC waiting queue and SMSC connection status window
  Save settings   Save actual settings into the configuration (INI) file

The popup menu of the SMSC waiting queue

Right-click on the SMSC waiting queue window to access this menu!
  Menuitem Shortcut(s) Meaning
  Unload this SMSC request   Put the hilited (prefetched) Short Message back to INI/[Advanced]/sSMSPath
  Simply forget this SMSC request   Simply forget the hilited (prefetched) Short Message

The popup menu of the SMSC connection status window

Right-click on the SMSC connection status window to access this menu!
  Menuitem Shortcut(s) Meaning
  Cancel request   (Not available in the CIMD-based version.)
  Terminate this connection gracefully   Disconnect the hilited SMSC connection in the normal way
  Abort this connection immediately (!!!BRUTAL!!!)   Disconnect the hilited SMSC connection immediately by breaking its low layer socket

The bottom status-line

Logging

The module creates daily logfiles about its working. The name of the logfile is "Modulename_YYYYMMDD.log" reflecting the day when it is created.
The module can write information into the logfile and onto the screen with several detail levels set by the [Log]/Details menu item. The logging level can be: Status line counters are logged in every fifteen minutes irrespectively of logging level actually set.

The different colors of log entries have different meanings:

Code Color Usage
0 Black Compact data record
1 Red Errors
2 Green Open/close output file/stream
3 Blue Open/close input file/stream
4 Yellow Warnings
5 Light Gray Detailed data (debug info)
6 Dark Grey Detailed data (user info)
7 Purple Operator intervention;
Errors with emphasis

Configuration (CIMDSMS.ini) file settings

Section Entry Example Meaning
[Position]
  iLeft 140 Position of the program module on the display screen
  iTop 72 Position of the program module on the display screen
  iWidth 995 Position of the program module on the display screen
  iHeight 694 Position of the program module on the display screen
[Options]
  bAutoScroll True (Refer to the corresponding menuitem!)
[SMSC]
  sUserID1 LoGiNnAmE CIMD connection username, for even (every second) connections
  sUserID2 lOgInNaMe CIMD connection username, for odd (every other) connections
  sPassword1 PaSsWoRd CIMD connection password, for even (every second) connections
  sPassword2 pAsSwOrD CIMD connection password, for odd (every other) connections
  sIPAddress1 111.222.33.44 SMSC IP Address, for even (every second) connections
  sIPAddress2 111.222.33.45 SMSC IP Address, for odd (every other) connections
  wTCPPort1 8000 SMSC TCP Port, for even (every second) connections
  wTCPPort2 8000 SMSC TCP Port, for odd (every other) connections
  sLocalMSISDN1 9123456 ANumber (sender MSISDN) if left empty in input file, for even (every second) connections
  sLocalMSISDN2 9654321 ANumber (sender MSISDN) if left empty in input file, for odd (every other) connections
  bAllowAutoReadInput True (Refer to the corresponding menuitem!)
  dwSMSCMaxWaitingRequests 40 Size of the pre-fetch queue
  bAllowAutoConnect False (Refer to the corresponding menuitem!)
  wSMSCAutoConnectIntervalSec 5 Retry interval for CIMD connections, given in seconds
  wSMSCMaxConcurrentConnections 5 Number of simultaneous threads
  bSMSCProcessWaitingSMRequests False (Refer to the corresponding menuitem!)
  dwValidityPeriodSec 3600 Validity period for the short messages, given in seconds
  byTestSMS_NoA 0x91 Destination NoA for the periodic test SMS
  sTestSMS_MSISDN 36309123456 Destination MSISDN for the periodic test SMS; leave it empty for not sending any
  sAdCPrefix 00 Adjustable AdC prefix for SubmitSM (03) operations. It's appended to the recipient MSISDN (B number) of the short message.
  sAdCPrefixNumA 00 Adjustable Source Address Code prefix for SubmitSM (03) operations, parameter 023 (Originating address). It's appended to the sender MSISDN (A number) of the short message. (Defaults to "", i.e., empty string, for compatibility; logged at start-up)
  wSMSCTimeOutSec 5 If SMSC answer time on active connections reaches this value then the request is repeated.
[RemoteRequest2]
  sIPAddress 127.0.0.1 IP address of station where from UDP commands will be sent. (An optional station restriction can be set with this parameter for remote controlling)
  wUDPPort 1968 UDP port where the remote control connection will be accepted (Setting to zero means disable remote control feature)
[Advanced]
  wLogDetailLevel 3 (Equals to the listed order; refer to the corresponding menuitem!)
  dwMaxLinesInLogWindow 1000 Number of lines in the log window on screen
  sSMSPath c:\Sga-CIMD\SMSFiles Path for the SMS files to be sent
  sWhiteListFile c:\Sga-CIMD\WhiteList.txt Path and filename for the White List file to be applied
  sTrapFilesPath c:\Sga-CIMD\TrapFiles Path for the SNMP Trap files to be sent
  sLogFilesPath c:\Sga-CIMD\LogFiles Path for the LOG files
  sSMSNOKPath c:\Sga-CIMD\SMSFiles_NOK Optionally the program puts the short messages into this directory which not sent successfully, if defined (not an empty string).
[Its default value is empty]
  sSMSOKPath c:\Sga-CIMD\SMSFiles_OK Optionally the program puts the short messages into this directory which are sent successfully, if defined. (Defaults to "" (i.e., do not store result), for compatibility reason.)
  sCaption Buli Loui Alternative caption text for easy distinguishing amongst multiple instances of this module
  bRetryIfFailedDuringSending False Retry strategy if transmission fails during the actual sending:
If enabled, the program will trying to send the message continously.
If disabled, the program tries to send the message only once. If it fails, moves the message to the [Advanced] / sSMSNOKPath (if defined), or forgets it.
  bAlternateTrapUID False Allows using fixed UIDs in SNMP traps (See SNMP trap list below for details)
  bSubmitSCTSFieldIn060 False If true, sending SCTS (SMSC-Time-Stamp) parameter is enabled
  bApply0x20Offset False If true, optional 0x20 offset in CIMD parameter 033 is enabled
  bSubmitSMSCGTFieldIn069 False If true, sending SMSCGT field parameter is enabled
  sSMSRxPath c:\data\SMS_Rx Path for SMS's received

The white list feature

Periodic test SMS feature

SNMP trap list

Type (UID) Text Remarks To Do
If bAlternateTrapUID is set to TRUE
CEA(5) '[MAINCAPTION]' module is started.    
CRI(5) '[MAINCAPTION]' module has been shut down by operator.   Start the '[MAINCAPTION]' module
ERR(50) / CEA(50) At least one SMSC connection has died. ERR on one or more connection has died, CEA on it has been restored.
Check if the IP connection is correct between the MSMS and the SMSC or if the SMSC is alive
CRI(51) / CEA(51) All SMSC connections have died. CRI if all connection has died, CEA on at least one has been restored.
Check if the IP connection is correct between the MSMS and the SMSC or if the SMSCs are alive
CRI(52) Failed to create an(y) SMS file into '[PATH]'. No CEA is related.
Check if the '[PATH]' is valid, or there is enough space on the harddisk.
CRI(52) Permanently could not open SMS files for writing in '[PATH]'. No CEA is related.
Check if the '[PATH]' is valid, or there is enough space on the harddisk.
If bAlternateTrapUID is set to FALSE
CEA(0) '[MAINCAPTION]' module is started.    
CRI(0) '[MAINCAPTION]' module has been shut down by operator.   Start the '[MAINCAPTION]' module
INF(0) SMSC connection #[ConnectionNumber] is up.    
ERR(++N) / CEA(N) SMSC connection #[ConnectionNumber] has died. ERR on one or more connection has died, CEA on it has been restored.
Check if the IP connection is correct between the MSMS and the SMSC or if the SMSC is alive
CRI(++N) / CEA(N) All SMSC connections have died. CRI if all connection has died, CEA on at least one has been restored.
Check if the IP connection is correct between the MSMS and the SMSC or if the SMSCs are alive
CRI(++N) Failed to create an(y) SMS file into '[PATH]'. No CEA is related.
Check if the '[PATH]' is valid, or there is enough space on the harddisk.
CRI(++N) Permanently could not open SMS files for writing in '[PATH]'. No CEA is related.
Check if the '[PATH]' is valid, or there is enough space on the harddisk.
CRI(++N) Permanently could not open SMS files for writing in '[PATH]'. No CEA is related.
Check if the '[PATH]' is valid, or there is enough space on the harddisk.

Built-in limitations

Version history


Remote Control by CIMDSMS_UDP software

Basic Operation

Configuration (CIMDSMS_UDP.ini) file settings

Section Entry Example Meaning
[Advanced]
  sRemoteIPAddress 127.0.0.1 IP address of the station where the CIMDSMS modul runs
  wRemoteUDPPort 1968 Port where the remote CIMDSMS module waits for connection to remote control

Version history