set smscell

Purpose

Configures the cellular Short Message Service (SMS) capabilities of the mobile module of the Digi device.

There are several groups of SMS settings, configured by several versions of the set smscell command:

Important Notes:

Required permissions

For Digi products with two or more users, permissions must be set to set permissions s-sms-cellular=read to display settings, and set permissions s-sms-cellular=rw to display and configure settings. See set permissions for details on setting user permissions for commands.

Syntax

Set global SMS settings

set smscell global [state={on|off}]
[ackrcvdcmds={on|off}]
[nakpswdfail={on|off}]
[exteventlog={on|off}]
[password=password]
[defreceiver={logonly|python}]
[cmdidchar=char]

Set Sender Control List (SCL) SMS settings

set smscell scl [state={on|off}]
[nakrejectedcmds={on|off}
SCL entry-specific options; entry is selected with index option:
index=1-16 (required)
[enabled={on|off}]
[address=string]
[match={exact|right|left|partial}]

Set Python-related SMS settings

set smscell python state=[on|off}]
[password=password]
[readqueuemsgmax=10-100] default=100
[readholdsecmax=0-86400]

Set SMS built-in command settings

set smscell command [name={cli|help|cwm|dcloud|idigi|ping}]
[state={on|off}]
[password=password]

Show all SMS settings

set smscell all

Options

SMS Global options—“set smscell global”

state={on|off}

Enables or disables cellular SMS. When this option is enabled, the remaining SMS options may be configured. This option is disabled (off) by default.

ackrcvdcmds={on|off}

Enables or disables sending an acknowledgment (ACK) reply via SMS to the originator of the command message, indicating that the command has been accepted and will be processed. This option is disabled (off) by default.

nakpswdfail={on|off}

Enables or disables, when a command is received by SMS, sending a a negative acknowledgment (NAK) reply via SMS to the originator of the command message that the command has been rejected because of a password validation failure, such as a missing or incorrect password. This option is disabled (off) by default.

exteventlog={on|off}

Enables or disables recording of extended detail (verbose) SMS activity information in the system event log for the Digi device. The SMS feature normally records limited, relevant activities to the system event log. These log entries identify SMS initialization, reconfiguration, and message send/receive activities. This option is disabled (off) by default.

For troubleshooting purposes, the message send and receive activity logging can be recorded in greater detail by enabling this option. However, this can result in filling the event log with more SMS activity records than are useful for normal operation, and it is recommended that this option should be enabled only if greater detail is required for some interval of time.

on

Extended detail (verbose) SMS activity information is recorded in the system event log.

off

Limited relevant SMS activity is logged in the system event log.

password=password

The password to submit/accept commands via SMS. When a command message is received via SMS, and a global password is specified in these settings, that password must be provided by the originator of the command message or the message will be rejected by the Digi device. If you configure a command-specific password, that command-specific password must be provided instead of this global command password. Specifically, a command-specific password overrides the global password, and the global password is not considered if a command-specific password is configured in the settings. This option is disabled (no global password required) by default.

To remove the password, enter the command

set smscell global password=""

That is, two consecutive double quote characters designate an empty string, which clears the password.

defreceiver={logonly|python}

The default receiver of SMS messages. When a message is received via SMS, the default message receiver is used to determine which SMS user receives the message and process it. This handling pertains to messages that are not enabled commands for which command processing is performed. The choices for this option are:

logonly

The received message is logged but otherwise not processed (default option).

python

The received message is passed to the standard Python receiver. Further processing of the message text is the responsibility of the Python program that is implemented to receive SMS messages. Note that these messages are logged when they are placed on the Python read queue.

cmdidchar=char

The command identifier character. When a message is received via SMS, the first character of that message is examined to determine whether the received message text is actually a command to be performed by the Digi device. The command identifier character selects the character that is used to identify a command. This character can be customized for security or convenience to the user.

The command identifier character can be one of the following characters only:

# ! % * + /

The default command identifier character is #.

Since it is possible that some characters may not pass successfully (or without alteration) through a SMS gateway, the default command identifier character, #, can be configured to be one of the alternate characters in the list provided in the web interface. Only one command identifier character can be active at any time.

SMS SCL options—“set smscell scl”

The Sender Control List (SCL) permits user to select the addresses (or phone numbers) from which SMS messages will be accepted. This is in effect a “caller ID” capability in which message senders are screened by the Digi device and either processed or discarded according to the configured SCL rules.

state={on|off}

Enables or disables the Sender Control List capabilities on this Digi device. When this option is enabled, the remaining SCL-specific SMS options can be configured. This option is disabled (off) by default.

nakrejectedcmds={on|off}

Enables or disables sending a negative acknowledgment (NAK) message reply via SMS if received message is rejected by SCL. If enabled, when a message is received via SMS, SCL is enabled, and the sender is not permitted by the SCL rules, send a negative acknowledgment (NAK) message via SMS to the originator of the command message, indicating that the message has been rejected due to the configured SCL rules. This option is disabled (off) by default.

For each SCL rule, the following options may be configured:

index=1-16

The index number for SCL entry, ranging from 1 through 16. This index number is required to set entry-specific options.

enabled={on|off}

Enables or disables the use of the rule by SMS. Rules may be enabled and disabled without removing them altogether from the SCL. Disabled rules are ignored when examining received messages.

address=string

The address (phone number) of the sender for which this rule applies. If the sender's address matches this configured address, the SMS message is accepted for further processing. If the sender's address does not match any of the enabled SCL rule addresses, it is rejected and no further processing is performed. To remove the address, clear the address field on the settings page.

match={exact|right|left|partial}

The type of address-match test that is to be performed for this rule. There are four supported match types. The address string comparisons are case-independent.

exact

The sender's address must match exactly the address configured for this rule.

right

The sender's address must match the address configured for this rule when comparing the rightmost characters to the shorter of the two strings (sender address, rule address). For example, 5551212 matches 13125551212 since the rightmost characters match to the length of the shorter string, 5551212. This is the default match type.

The shorter address string must match the rightmost portion of the longer address string.

left

The sender's address must match the address configured for this rule when comparing the leftmost characters to the shorter of the two strings (sender address, rule address). For example, 1312555 matches 13125551212 since the leftmost characters match to the length of the shorter string, 1312555.

partial

The sender's address must match the address configured for this rule when comparing the consecutive characters to the shorter of the two strings (sender address, rule address). For example, 312555 matches 13125551212 since the shorter string 312555 is a substring of the longer string 13125551212.

SMS Python options—“set smscell python”

state=[on|off]

Enables SMS features for Python on this Digi device. When this option is enabled, the remaining Python-specific SMS options can be configured. This option is enabled (on) by default.

password=password

The password to submit/accept Python commands via SMS. This password is checked only if using the #python command form. Although this use is not typical, a message may be directed for deliver to Python by sending #python as a command to this Digi device. In such a case, this Python password may be configured to validate the acceptance of such a command message before it is accepted and placed on the dedicated Python SMS message read queue for further processing. When Python is configured as the default message receiver, it is not necessary to use the Digi device command message syntax, since all otherwise unhandled messages will be delivered to the Python read queue. However, password validation is not performed for non-command messages. This option is disabled (no Python password required) by default.

To remove the password, enter the command

set smscell python password=""

That is, two consecutive double quote characters designate an empty string, which clears the password.

readqueuemsgmax=10-100

The maximum number of received messages that can be placed on the dedicated Python SMS message read queue awaiting processing by Python. Once this limit is reached, new received messages are logged but discarded until the read queue falls below this configured maximum message count. The range is 10 to 100 messages. The default value is 100 messages.

readholdsecmax=0-86400

Maximum received message hold time; the maximum amount of time in seconds that a received message will be held on the dedicated Python SMS message read queue while waiting for Python SMS message processing to be brought into service. This setting allows messages to be received and queued for Python before the Python program that processes them is ready to receive such messages, thereby eliminating loss of messages that are received before the Python program is ready to handle them. The range The default value for this setting is 600 seconds (10 minutes).

SMS built-in command options

Several built-in commands are supported for execution via SMS messages sent to your Digi device. Descriptions of built-in command-related settings for the SMS feature and how to execute them from the command lien follow. Detailed descriptions of the SMS command syntax and supported command options are available on the Digi support site, www.digi.com/support/

name={cli|help|cwm|dcloud|ping}

The command for which to settings are being changed. This is required for setting the command state or password.

cli

Request that a CLI command be run on the Digi device. The output from the CLI command is returned to the sender via SMS, with a limit of around 2000 characters for the number of CLI output characters returned in the reply.

help

The Digi device replies to the sender via SMS with a message that specifies the command syntax and a list of the supported, available commands that may be sent to this device. You may obtain further help for a specific command by sending that command as a parameter. For example, to request a help reply for the #ping built-in command, issue the command #help ping.

cwm
dcloud
idigi

Manage or obtain status for a device connection to a Remote Manager server. The Digi device replies to the sender via SMS with a message that contains the status or result of the requested action.

Note cwm and idigi are accepted aliases for dcloud.

ping

Request that the Digi device reply to the sender via SMS to verify two-way SMS communication between the sender and the Digi device.

For each built-in command, the following options are supported:

state={on|off}

Enables or disables the specified command for use via SMS. All commands are enabled by default.

password=password

The password for submitting or accepting the specified command via SMS. The configured password must be specified on the command message for that message to be accepted for further processing. If a command-specific password is configured, that command-specific password must be provided instead of the global command password (if one is configured, see the SMS Global password=password option above). Specifically, a command-specific password overrides the global password, and the global password is not considered if a command-specific password is configured in the settings. This option is disabled (no command password required) by default.

To remove the password, enter the command

set smscell command password=""

That is, two consecutive double quote characters designate an empty string, which clears the password.

Supported character set

For SMS via GSM service, it is necessary to translate between the GSM 03.38 7-bit alphabet and ASCII, which is the native character set for the Digi device and is the character set used in the CLI and web UI.

The characters of ASCII and GSM 03.38 do not map one-to-one, and in fact some ASCII characters must be represented in GSM 03.38 as multi-character escape sequences (per extensions to the original GSM 03.38 alphabet). In the table below, such characters are shown as 0x1Bhh under the GSM 03.38 Code column. This notation indicates a two-character sequence, where hh is a pair of hexadecimal digits.

In the reverse translation (from GSM 03.38 to ASCII), some of the GSM 03.38 characters have no ASCII counterpart. These are replaced with ASCII space characters. One exception is the INVERTED QUESTION MARK (0x60 in GSM 03.38) that is replaced with an ASCII QUESTION MARK (0x3F) character.

The following table documents the supported characters and the mapping used between these two alphabets.

Note Unknown characters are replaced with space characters during the translation. In the table below, such characters are shown as 0x20 * under the GSM 03.38 Code column.

Notes for the table:

(1)

The GRAVE ACCENT character (0x60) in ASCII has no counterpart in GSM 03.38. A substitution is made using the APOSTROPHE (0x27) in its place.

*

The characters marked with * indicate a substitution since the ASCII characters have no counterpart in GSM 03.38. These characters are replaced with the SPACE (0x20) character. As such, these characters are not supported in the Digi product support of GSM short messages.

Supported character set for SMS

ASCII
Code

GSM 03.38
Code

ASCII Character

Description

0x00

0x20 *

NUL

NULL

0x01

0x20 *

SOH

START OF HEADING

0x02

0x20 *

STX

START OF TEXT

0x03

0x20 *

ETX

END OF TEXT

0x04

0x20 *

EOT

END OF TRANSMISSION

0x05

0x20 *

ENQ

ENQUIRY

0x06

0x20 *

ACK

ACKNOWLEDGE

0x07

0x20 *

BEL

BELL

0x08

0x20 *

BS

BACKSPACE

0x09

0x20 *

HT

HORIZONTAL TABULATION

0x0A

0x0A

LF

LINE FEED

0x0B

0x20 *

VT

VERTICAL TABULATION

0x0C

0x1B0A

FF

FORM FEED

0x0D

0x0D

CR

CARRIAGE RETURN

0x0E

0x20 *

SO

SHIFT OUT

0x0F

0x20 *

SI

SHIFT IN

0x10

0x20 *

DLE

DATA LINK ESCAPE

0x11

0x20 *

XON

DEVICE CONTROL ONE

0x12

0x20 *

DC2

DEVICE CONTROL TWO

0x13

0x20 *

XOFF

DEVICE CONTROL THREE

0x14

0x20 *

DC4

DEVICE CONTROL FOUR

0x15

0x20 *

NAK

NEGATIVE ACKNOWLEDGE

0x16

0x20 *

SYN

SYNCHRONOUS IDLE

0x17

0x20 *

ETB

END OF TRANSMISSION BLOCK

0x18

0x20 *

CAN

CANCEL

0x19

0x20 *

EM

END OF MEDIUM

0x1A

0x20 *

SUB

SUBSTITUTE

0x1B

0x20 *

ESC

ESCAPE

0x1C

0x20 *

FS

FILE SEPARATOR

0x1D

0x20 *

GS

GROUP SEPARATOR

0x1E

0x20 *

RS

RECORD SEPARATOR

0x1F

0x20 *

US

UNIT SEPARATOR

0x20

0x20

SP

SPACE

0x21

0x21

!

EXCLAMATION MARK

0x22

0x22

"

QUOTATION MARK

0x23

0x23

#

NUMBER SIGN

0x24

0x02

$

DOLLAR SIGN

0x25

0x25

%

PERCENT SIGN

0x26

0x26

&

AMPERSAND

0x27

0x27

'

APOSTROPHE

0x28

0x28

(

LEFT PARENTHESIS

0x29

0x29

)

RIGHT PARENTHESIS

0x2A

0x2A

*

ASTERISK

0x2B

0x2B

+

PLUS SIGN

0x2C

0x2C

,

COMMA

0x2D

0x2D

-

HYPHEN-MINUS

0x2E

0x2E

.

FULL STOP (PERIOD)

0x2F

0x2F

/

SOLIDUS (SLASH)

0x30

0x30

0

DIGIT ZERO

0x31

0x31

1

DIGIT ONE

0x32

0x32

2

DIGIT TWO

0x33

0x33

3

DIGIT THREE

0x34

0x34

4

DIGIT FOUR

0x35

0x35

5

DIGIT FIVE

0x36

0x36

6

DIGIT SIX

0x37

0x37

7

DIGIT SEVEN

0x38

0x38

8

DIGIT EIGHT

0x39

0x39

9

DIGIT NINE

0x3A

0x3A

:

COLON

0x3B

0x3B

;

SEMICOLON

0x3C

0x3C

<

LESS-THAN SIGN

0x3D

0x3D

=

EQUALS SIGN

0x3E

0x3E

>

GREATER-THAN SIGN

0x3F

0x3F

?

QUESTION MARK

0x40

0x00

@

COMMERCIAL AT

0x41

0x41

A

LATIN CAPITAL LETTER A

0x42

0x42

B

LATIN CAPITAL LETTER B

0x43

0x43

C

LATIN CAPITAL LETTER C

0x44

0x44

D

LATIN CAPITAL LETTER D

0x45

0x45

E

LATIN CAPITAL LETTER E

0x46

0x46

F

LATIN CAPITAL LETTER F

0x47

0x47

G

LATIN CAPITAL LETTER G

0x48

0x48

H

LATIN CAPITAL LETTER H

0x49

0x49

I

LATIN CAPITAL LETTER I

0x4A

0x4A

J

LATIN CAPITAL LETTER J

0x4B

0x4B

K

LATIN CAPITAL LETTER K

0x4C

0x4C

L

LATIN CAPITAL LETTER L

0x4D

0x4D

M

LATIN CAPITAL LETTER M

0x4E

0x4E

N

LATIN CAPITAL LETTER N

0x4F

0x4F

O

LATIN CAPITAL LETTER O

0x50

0x50

P

LATIN CAPITAL LETTER P

0x51

0x51

Q

LATIN CAPITAL LETTER Q

0x52

0x52

R

LATIN CAPITAL LETTER R

0x53

0x53

S

LATIN CAPITAL LETTER S

0x54

0x54

T

LATIN CAPITAL LETTER T

0x55

0x55

U

LATIN CAPITAL LETTER U

0x56

0x56

V

LATIN CAPITAL LETTER V

0x57

0x57

W

LATIN CAPITAL LETTER W

0x58

0x58

X

LATIN CAPITAL LETTER X

0x59

0x59

Y

LATIN CAPITAL LETTER Y

0x5A

0x5A

Z

LATIN CAPITAL LETTER Z

0x5B

0x1B3C

[

LEFT SQUARE BRACKET

0x5C

0x1B2F

\

REVERSE SOLIDUS (BACKSLASH)

0x5D

0x1B3E

]

RIGHT SQUARE BRACKET

0x5E

0x1B14

^

CIRCUMFLEX ACCENT

0x5F

0x11

_

LOW LINE (UNDERSCORE)

0x60

0x27 (1)

`

GRAVE ACCENT

0x61

0x61

a

LATIN SMALL LETTER A

0x62

0x62

b

LATIN SMALL LETTER B

0x63

0x63

c

LATIN SMALL LETTER C

0x64

0x64

d

LATIN SMALL LETTER D

0x65

0x65

e

LATIN SMALL LETTER E

0x66

0x66

f

LATIN SMALL LETTER F

0x67

0x67

g

LATIN SMALL LETTER G

0x68

0x68

h

LATIN SMALL LETTER H

0x69

0x69

i

LATIN SMALL LETTER I

0x6A

0x6A

j

LATIN SMALL LETTER J

0x6B

0x6B

k

LATIN SMALL LETTER K

0x6C

0x6C

l

LATIN SMALL LETTER L

0x6D

0x6D

m

LATIN SMALL LETTER M

0x6E

0x6E

n

LATIN SMALL LETTER N

0x6F

0x6F

o

LATIN SMALL LETTER O

0x70

0x70

p

LATIN SMALL LETTER P

0x71

0x71

q

LATIN SMALL LETTER Q

0x72

0x72

r

LATIN SMALL LETTER R

0x73

0x73

s

LATIN SMALL LETTER S

0x74

0x74

t

LATIN SMALL LETTER T

0x75

0x75

u

LATIN SMALL LETTER U

0x76

0x76

v

LATIN SMALL LETTER V

0x77

0x77

w

LATIN SMALL LETTER W

0x78

0x78

x

LATIN SMALL LETTER X

0x79

0x79

y

LATIN SMALL LETTER Y

0x7A

0x20

z

LATIN SMALL LETTER Z

0x7B

0x1B28

{

LEFT CURLY BRACKET

0x7C

0x1B40

|

VERTICAL LINE (PIPE)

0x7D

0x1B29

}

RIGHT CURLY BRACKET

0x7E

0x1B3D

~

TILDE

0x7F

0x20 *

DEL

DELETE

See also