Contents
The TIBCO StreamBase® Short Message Peer-to-Peer Protocol (SMPP) Adapter supports writing SMPP services that can act in an External Short Message Entity (ESME) role.
The adapter enables sending and receiving of short text messages (SMS) over the Internet, and is able to handle traffic of 3000 to 5000 messages per second.
This section describes the properties you can set for this adapter, using the various tabs of the Properties view in StreamBase Studio.
Name: Use this required field to specify or change the name of this instance of this component, which must be unique in the current EventFlow module. The name must contain only alphabetic characters, numbers, and underscores, and no hyphens or other special characters. The first character must be alphabetic or an underscore.
Adapter: A read-only field that shows the formal name of the adapter.
Class name: Shows the fully qualified class name that implements the functionality of this adapter. If you need to reference this class name elsewhere in your application, you can right-click this field and select Copy from the context menu to place the full class name in the system clipboard.
Start options: This field provides a link to the Cluster Aware tab, where you configure the conditions under which this adapter starts.
Enable Error Output Port: Select this check box to add an Error Port to this component. In the EventFlow canvas, the Error Port shows as a red output port, always the last port for the component. See Using Error Ports to learn about Error Ports.
Description: Optionally enter text to briefly describe the component's purpose and function. In the EventFlow Editor canvas, you can see the description by pressing Ctrl while the component's tooltip is displayed.
Property | Type | Description |
---|---|---|
Connect At Startup | check box | If enabled, the adapter connects to the server upon startup. |
Instance ID | string | Unique ID of an SMPP instance. If not provided, the adapter generates one for you. |
Host | string | Hostname for the Short Message Service Center (SMSC) server to use. |
Port | string | Port number for the SMSC server to use. |
System ID | string | The system ID (username) for connecting to an SMSC server. Supports up to 15 characters. |
Password | string | The password for connecting to SMSC server. Supports up to 8 characters. |
System Type | string | Optional value for system_type in bind request. |
Connection Timeout(MS) | int | Timeout of connection (in ms). |
Keep Alive Interval(MS) | int | Interval (in ms) between ENQUIRE_LINK requests. The adapter periodically sends these to check the session is still active. Set to 0 to disable (not recommended). If set, must be greater than 100. |
Retry Interval(MS) | int | Interval (in ms) between re-bind attempts. Must be greater than 100. |
Max Number of Retries | int | A maximum number of reconnection retries. A negative number means no limit. |
Log Level | Controls the level of verbosity the adapter uses to send notifications to the console. This setting can be higher than the containing application's log level. If set lower, the system log level is used. Available values, in increasing order of verbosity, are: OFF, ERROR, WARN, INFO, DEBUG, TRACE. |
Property | Type | Description |
---|---|---|
Bind Type | string | Type of bind request to use, must be one of TX, RX or TRX (transmitter, receiver or transceiver). |
Address TON | String | Type of Number (TON), for specifying the type of address of an originator address (OA) or destination address (DA). For example: national or international. |
Address NPI | String | Defines the numeric plan indicator (NPI) to be used in the ESME originator address parameters. |
Use the settings in this tab to allow this operator or adapter to start and stop based on conditions that occur at runtime in a cluster with more than one node. During initial development of the fragment that contains this operator or adapter, and for maximum compatibility with TIBCO Streaming releases before 10.5.0, leave the Cluster start policy control in its default setting, Start with module.
Cluster awareness is an advanced topic that requires an understanding of StreamBase Runtime architecture features, including clusters, quorums, availability zones, and partitions. See Cluster Awareness Tab Settings on the Using Cluster Awareness page for instructions on configuring this tab.
Use the Concurrency tab to specify parallel regions for this instance of this component, or multiplicity options, or both. The Concurrency tab settings are described in Concurrency Options, and dispatch styles are described in Dispatch Styles.
Caution
Concurrency settings are not suitable for every application, and using these settings requires a thorough analysis of your application. For details, see Execution Order and Concurrency, which includes important guidelines for using the concurrency options.
Use the control port to send action commands to the adapter. Tuples enqueued on this port connect or disconnect the adapter to the message center, as well as list all existing sessions.
Field | Data Type | Description |
---|---|---|
command | string | The command tells the adapter what action to take. Available commands are connect, disconnect, and list. |
instanceId | string | Unique instance ID on which action is taken. |
param.host | string | Hostname for the SMSC server to use. |
param.port | string | Port number for the SMSC server to use. |
param.systemId | string | Value for system_id in the bind request. Must be 15 characters or less. |
param.password | string | Value for password in bind request. Must be 8 characters or less. |
param.systemType | string | Optional value to categorize the type of ESME (External Short Message Entity) that binds to the SMSC. |
param.connectionTimeoutMS | int | Connection timeout (in ms). Default is 2000. |
param.keepAliveIntervalMS | int | Interval (in ms) between ENQUIRE_LINK requests. The adapter periodically sends requests to verify the session is still active. Set to 0 to disable (not recommended). If set, the value must be greater than 100. Default is 5000. |
param.retryIntervalMS | int | Interval (in ms) between re-bind attempts. Must be greater than 100. Default is 5000. |
param.maxNumberOfRetries | int | A maximum number of reconnection retires. Negative number means no limit. Default is 10. |
Field | Data Type | Description |
---|---|---|
data | list | List of data to be sent. |
data.instanceId | string | Unique existing instance ID, indicating which instance to be used. |
data.shortMessage | string | Message content. |
data.sourceAddress | string | Defines the address of SME (Short Message Entity) which originated this message. |
data.destinationAddress | list(string) | Defines list of destination SME addresses. For mobile-terminated messages, this is the directory number of the recipient. |
data.scheduleDeliveryTime | string | This parameter specifies the scheduled time at which the message delivery should be first attempted. It defines either the absolute date and time or relative time from the current SMSC time at which delivery of this message will be attempted by the SMSC. For example: 2020-01-22 16:45:19.000-0500. This is optional. |
data.serviceType | string |
The service type parameter indicates the SMS Application service associated
with the message. For cellular messaging, use CMT .
|
data.sourceAddrTON | String | Type of Number (TON), for specifying the type of address of an originator address (OA). For example: national or international. Default is unknown. |
data.sourceAddrNPI | String | Defines the Numeric Plan Indicator (NPI) to be used in the SME address parameters. Default is unknown. |
data.destAddrTON | String | Type of Number (TON), for specifying the type of address of a DA. For example: national or international. Default is unknown. |
data.destAddrNPI | String | Defines the Numeric Plan Indicator (NPI) to be used in the SME address parameters. Default is unknown. |
Field | Data Type | Description |
---|---|---|
Status | string | The name of the status. |
Message | string | Status message. |
InstanceId | string | Instance ID of the SMPP session. |
Host | string | Hostname for the SMSC server to use. |
Port | int | Port number for the SMSC server to use. |
InstanceNumber | int | Number of valid instances. |
Instances | string | Valid instances' Ids. |
Attempt | int | Number of retries. |
MaxRetryTimes | int | Max retry times. |
InstanceNumber | int | Number of valid instances. |
InputTuple | tuple | Input tuple. |
time | timestamp | The date and time the status information was produced. |
The following lists all available status:
-
Connected — Connection established.
-
Already Connected — Try to connect to a connected session.
-
Connect Failed — Connection failed.
-
Disconnected — Disconnect a session.
-
Reconnecting — Try to reconnect to a session.
-
Reconnected — Reconnected to a session.
-
Instance Info — Information pertaining to the session.
-
Input Error — Input error.
-
Error — An error occurred.
Field | Data Type | Description |
---|---|---|
Status | string | The name of the status. |
Message | string | Status message. |
InstanceId | string | Id of SMPP instance. |
DeliveryStatus | string | The status of the delivery report. |
DeliveryErrorCode | string | Error code of the delivery report. |
DeliveryText | string | Message content delivered. |
InputTuple | tuple | Input tuple. |
MessageId | string | This Id identifies the submitted short message for later use (delivery receipt, QUERY_SM, CANCEL_SM, REPLACE_SM). |
time | timestamp | The date and time the status information was produced. |
The following lists all available status messages and related information:
-
Error — An error occurred.
-
Delivery — Received delivery report.
-
Message Submitted — Message submitted to MC.
-
Message Not Sent — Message not sent.