This feature submits an SMS Over IP request to the SMSC.
Feature cheat sheet
Feature Name | Network Operator Data | Used in PlanId(s) | Stateful or Stateless | POJO Feature or SBB Feature |
---|---|---|---|---|
IPSMGWMOSubmission |
No |
MOFSM |
Stateless with FSM encoded into session state |
POJO |
Statistics
MOSubmission statistics are tracked by the sentinel.ipsmgw SBB
and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.ipsmgw service → sentinel.ipsmgw SBB → feature → IPSMGWMOSubmission
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.ipsmgw,vendor=OpenCloud,version=2.9.0].SbbID[name=sentinel.ipsmgw,vendor=OpenCloud,version=2.9.0].feature.IPSMGWMOSubmission"
Name | Description |
---|---|
OpenRequestSent |
Incremented when OpenRequest is sent to SMSC |
FailedToSendOpenRequest |
Incremented when the feature fails to send OpenRequest to SMSC |
ForwardSMSent |
Incremented when a MO ForwardSMReq is sent to SMSC |
ForwardSMSuccessResponse |
Incremented when the feature gets the MO ForwardSMResp from SMSC |
Configuration
The feature is configured with configuration scoped according to a Sentinel Selection Key.
The Profile Table used to hold feature configuration is IPSMGWSharedConfigProfileTable
.
The following attributes are available
Attributes | Type | Meaning |
---|---|---|
HlrAddress |
String |
Address of the HLR to request the MSRN from, used when establishing the MAP dialog |
TemplateSmscAddress |
String |
Contains a Template SMSC SCCP Address, where the digits are replaced by the received SMSC address |
SentinelOriginatingAddress |
String |
Address of Sentinel used when establishing the MAP dialog |
SentinelIPSMGWAddress |
String |
The IP-SM-GW address that the feature will include it in MAP AnyTimeModification request to send to HLR |
InvokeTimeout |
int |
The timeout in milliseconds for the response from HLR. Used in the TCAP layer for the invoke timeout. Default is 5000 |
SmsContentSizeThreshold |
int |
The maximum number of octets that a SMS message is allowed to contain to send the message as part of the TC_BEGIN as described below |
ChargingOptions |
String[] |
If this array contains the value |
MAP Application Context
The feature uses MAP Application Context shortMsgMO_RelayContext_v2_ac
.
This application context was added in GSM MAP Phase 2.
Behaviour
The feature is triggered upon receipt of a SIP Message request.
The feature first checks that the SIP Message request’s Content-Type header is "application/vnd.3gpp.sms". If not, the feature finishes execution.
If the SIP Message request has a Content-Type header of "application/vnd.3gpp.sms" the feature extracts the body and parses it into an RP Message of the appropriate type. If the RP Message can be parsed, the feature extracts the SMSC address from the parsed RP Message. The feature then extracts the SMSC Address from the parsed RP Message. The further behaviour of the feature depends on whether online charging is enabled or not. If online charging is not enabled the feature immediately sends a 202 Accepted response to the SIP Message request, otherwise it will only send it after a successful online charging response.
Once the SMS has been accepted, the feature passes the SMS into the SMSC. This is through the use of the MAP MO Forward SM operation, on the shortMsgMO_RelayContext_v2_ac
MAP Application Context.
A general overview of the feature behaviour is depicted in the diagram below.
Submitting the SMS to the SMSC
There are two different flows where the feature can submit the SMS. Note both of these flows assume that the 202 response above has been sent.
The first is for an SMS that is sufficiently small according to the configured SmsContentSizeThreshold
attribute to fit both the MAP_OPEN
request and content of the MAP_MO_FORWARD_SHORT_MESSAGE
request
in a single TCAP Message.
The second is for an SMS that is too large to fit both the MAP_OPEN
request and content of the MAP_MO_FORWARD_SHORT_MESSAGE
request
in a single TCAP Message.