SMPP Op - Receive Request
Overview
This operation causes the IN Tester to await an inbound SMPP PDU, simulating the role of a Message Center (MC).
Currently the only supported PDU is submit_sm
, which causes the tester to simulate the
effect of a MS (mobile handset) receiving a short message.
- Direction: INBOUND
- From: SCP (Application Under Test)
- To: MC (IN Tester)
Note: This operation must be preceded by a SMPP operation - Register operation. If no previous register operation has occurred within this Test Instance, then this operation will immediately abort. The IN Tester will add this operation automatically.
Note: Accepting an inbound message does not clear the registration. The registration for inbound SMPP requests to the registered Destination Address will remain in place until the end of the call. This means that you need only register for a Destination Address once, regardless of how many inbound SMPP requests are processed by the instance.
Attributes
The operation attributes are as follows:
Attribute | Type | Description |
---|---|---|
type
|
String |
smpp.smsc_FROM_esme.Request
|
parameters
|
Object | [Required] The parameters specifying the message we expect to receive. |
tests
|
Array of Object |
An array of anonymous Objects. Each Object represents a check to be performed. The associated
Pass/Fail entries will be generated in the test instance check_log . Refer to
the Operation Tests documentation for more information on the
syntax for Operation tests .
|
Example
This is an example entry within the operations
array:
{
"type": "smpp.smsc_from_esme.Request",
"arguments": {
"pdu": "submit_sm",
"seconds": 3,
"parameters": {
"destination_addr": "64216822771",
"source_addr": "101",
"short_message_text": "The quick brown fox jumps over the lazy dog."
},
"response": {
"command_status": 0,
"fields": {
"message_id": "10103333"
}
}
},
"tests": [
{ "kpath": "parameters.data_coding", "type": "integer", "value": "0" },
{ "kpath": "parameters.sm_length", "type": "integer", "value": "78" }
]
}
Arguments
The following operation arguments are supported:
Argument | Type | Notes |
---|---|---|
pdu
|
String |
[Required] Name of the SMPP Protocol Data Unit (PDU) to expect. Currently the only supported PDU is submit_sm .
|
seconds
|
Integer |
Number of seconds to wait for the inbound SMPP PDU to arrive. (Default = 10 , Maximum = 120 )
|
parameters
|
Object |
The structure of the SMPP-Arg to expect. Expressions may be supplied within this structure. |
response
|
Object |
The structure of the SMPP-Response to send. Expressions may be supplied within this structure. |
tests
|
Array of Object |
An array of anonymous Objects. Each Object represents a check to be performed. The associated
Pass/Fail entries will be generated in the test instance check_log . Refer to
the Operation Tests documentation for more information on the
syntext for Operation tests .
|
SMPP Parameters (Submit SM)
When the PDU type is submit_sm
, the following inbound parameters are supported.
Unless specifically indicated otherwise, the actual received inbound parameters will
be checked for each supplied “expected” value, and Pass/Fail entries will be
generated in the test instance check_log
.
To check that an inbound value is NOT present, specify the parameter as null
.
Parameter | Type | Notes |
---|---|---|
service_type
|
String | Service type parameter can be used to indicate the SMS Application service associated with the message. |
source_addr_ton
|
Integer | (Range 0..6) |
source_addr_npi
|
Integer | (Range 0..18) |
source_addr
|
Hex String | Address of the SME from which the message originated. |
dest_addr_ton
|
Integer | (Range 0..6) |
dest_addr_npi
|
Integer | (Range 0..18) |
destination_addr
|
Hex String | Destination address of the short message. |
esm_class
|
Integer | (Range 0..128) |
protocol_id
|
Integer | (Range 0..255) |
priority_flag
|
Integer | (Range 0..4) |
schedule_delivery_time
|
String | Defines the schedule delivery time of the short message, in Absolute or Relative time format (see SMPP 3.4 specification section 7.1.1 for more details). |
validity_period
|
String | The validity period of the message, in Absolute or Relative time format (see SMPP 3.4 specification section 7.1.1 for more details). |
registered_delivery
|
Integer | (Range 0..128) |
replace_if_present_flag
|
Integer | (Range 0..255) |
data_coding
|
Integer |
Refer to the SMPPApp data coding configuration. (Range 0..128) |
sm_default_msg_id
|
Integer | (Range 0..255) |
sm_length
|
Integer |
Defines the expected number of bytes in the raw (encoded) short message payload. (Range 0..255) |
short_message
|
Binary String |
Specify the expected encoded bytes of message content (up to 255 bytes). Alternatively, specify the expected decoded message in short_message_text .
|
short_message_text
|
String |
Specify the expected value of the decoded message text. Note that short_message_text will only be available when the data_coding
parameter is a value supported by the N2SVCD SMPP Codec.
|
SMPP Parameters (Submit SM)
When the PDU type is submit_sm
, the following inbound parameters are supported.
Unless specifically indicated otherwise, the actual received inbound parameters will
be checked for each supplied “expected” value, and Pass/Fail entries will be
generated in the test instance check_log
.
To check that an inbound value is NOT present, specify the parameter as null
.
Parameter | Type | Notes |
---|---|---|
command_status
|
Integer |
The return status to give back in the ACK/NACK that will be generated. (Default = 0 , Success)
|
fields
|
Object |
If the command_status is zero (success) then message fields may be specified.
|
fields
|
Object |
If the command_status is zero (success) then message fields may be specified.
|
The following fields may be specified for a successful response:
Parameter | Type | Notes |
---|---|---|
message_id
|
String |
Message ID to return back in ACK for deliversmresp or submitsmresp PDU.
|
KPath Test Paths
For SMPP Receive Response tests
the following top-level elements will be available via the KPath:
command_id
- The received SMPP Command ID (Integer). Should always be4
.command_status
- The SMPP response command status to send (Integer). Should always be0
.sequence_number
- The received SMPP sequence number (Integer).parameters
- Object containing the decoded SMPP body parameters as listed above (Object).