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:
- Global settings that configure operation of SMS for the Digi device.
- Settings controlling use of the Sender Control List (SCL) that permits users to select the addresses (or phone numbers) from which SMS messages will be accepted.
- Settings for processing Python commands sent via SMS
- Settings controlling execution of built-in SMS commands. Several built-in commands are supported for execution via SMS messages sent to your Digi device.
Important Notes:
- To determine whether the cellular modem in a Digi device supports SMS, Telnet to the command line and enter the show smscell command. If an error message is returned (error: show option not found), SMS is not supported for that Digi device.
- SMS is a feature that may be available as part of your mobile service agreement. However, sending and receiving text messages may have additional costs. Before using the SMS capabilities of your Digi device, verify with your mobile service provider that your agreement includes SMS as part of your service plan. Understand the costs of SMS before you enable the SMS features on this Digi device.
- See Supported character set.
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. |
ASCII |
GSM 03.38 |
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
- display smscell
- revert: The revert smscell command reverts specified SMS settings groups or all SMS settings.
- show smscell: The show smscell shows the current cellular SMS settings in a Digi device.
- smscell: The smscell command sends a message to a destination via SMS.