Feature cheat sheet

Feature Name Network Operator Data Used in PlanId(s) Stateful or Stateless POJO Feature or SBB Feature

IPSMGWPSDelivery

Yes

MTFSM_PS,MTFSM_PS_CS,MTFSM_CS_PS

Stateless

POJO

Statistics

IPSMGWPSDelivery 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 → IPSMGWPSDelivery
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.0.0].SbbID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.0.0].feature.IPSMGWPSDelivery"

Name Description
SentMessage

Incremented when a SIP MESSAGE containig RP-Message is sent to the UE.

DeliverySucceeded

Incremented when a delivery report indicating success is received.

DeliveryFailed

Incremented when any 3xx or greater response is received for the SIP MESSAGE or when a delivery report indicating failure is received.

DeliveryTimedOut

Incremented when the timer that is armed on sending the SIP MESSAGE gets fired.

PSDeliveryFailed

Incremented when a SIP message cannot be sent, the delivery times out, or a report indicating delivery failure is received.

NotAttemptedCreditLimitReached

Incremented when a CreditLimitReached Direct Debit CCA is received. The PS Delivery attempt is aborted, with an Sm-DeliveryFailure sent back to the SMSC.

NotAttemptedChargingFailure

Incremented when a general charging error occurs. The PS Delivery attempt is aborted, with an Sm-DeliveryFailure sent back to the SMSC.

SubscriptionFailed

Incremented when an attempt to subscribe to UEReachabilityForIP notifications fails.

SentReportSMDeliveryStatus

Incremented when a ReportSMDeliveryStatus message is sent to the UE.

FailedToSendReportSMDeliveryStatus

Incremented when there was an error trying to send a ReportSMDeliveryStatus message.

ReportSMSucceeded

Incremented when a ReportSMDeliveryStatus success response is received.

ReportSMFailed

Incremented when a ReportSMDeliveryStatus error response is received.

ReportSMSuppressed

Incremented when a ReportSMDeliveryStatus error response is suppressed.

NameAlreadyBoundException

Incremented when the MT-FSM ACI name cannot be bound to ACI. The delivery report cannot be received, and the PS delivery is cancelled.

RPErrorFallbackAvoidanceCodeMatched

Incremented when the cause value from the incoming RP error matches one of the configured RP error fallback avoidance codes.

FallbackToCS

Incremented when the PS delivery fails. It attempts to fall back to CS.

Configuration

The IPSMGWPSDelivery feature configuration is scoped according to a Sentinel Selection Key. The IPSMGWPSDelivery feature refers to three Profile Tables for configuration.

The first Profile Table is Shared Configuration Profile. The following attributes are used:

Attributes Type Meaning
ICSCFURI

String

The I-CSCF SIP URI that will be used to route outbound SIP MESSAGE requests (see SIP Transports and Routing)

SipTransport

String

The SIP transport for the IPSMGW’s own SIP URI, used in the From and P-Asserted-Identity headers of outbound requests (see SIP Transports and Routing)

SubscribeToUEReachabilityForIP

Boolean

If true, request UEReachabilityForIP notifications from the HSS on certain PS Delivery failures.

DeliveryOrder

Enum

If CS Delivery will run after PS Delivery, there is no need to send error report to SMSC on PS delivery failure

UseMsisdnAsHlrAddress

Boolean

Controls whether to address the outbound HLR leg using a GT address formed from the subscriber MSISDN, instead of using the configured HlrAddress.

ChargingOptions

String[]

If this array contains the value IEC_MT_PS, charging is enabled for PS delivery

SuppressHLRInteraction

boolean

If true, no MAP messages will be sent to the HLR. Can only be set to true when DeliveryOrder is PS_ONLY. For more information, refer to Suppression of HLR Interaction

The second Profile Table is IPSMGWPSDeliveryConfigProfileTable. The following attributes are used:

Attributes Type Meaning
FallbackTimer

int

Time in milliseconds to wait for a response during PS Delivery before setting 'PSDeliveryStatus' to FAILED

RPErrorFallbackAvoidanceCodes

int[]

A list of error codes that if matched from the RP-ERROR will stop a CS fallback

The third Profile Table (IPSMGWPSDeliveryPerNodeURIConfigTable) holds node-specific feature configuration. The following attributes are used:

Attributes Type Meaning
NodeURI

String

The SIP Local URI for this node to use when sending the MESSAGE

MAP Application Contexts

The feature can be triggered by any of the following MAP Application Contexts: shortMsgMT_RelayContext_v3_ac shortMsgMT_RelayContext_v2_ac shortMsgMT_RelayContext_v1_ac

Behaviour

The feature is triggered upon receipt of a mt_ForwardSM in any of the above three MAP Application Contexts.

After validating configuration and session state inputs, it then takes the ForwardSM argument and creates an RpDATA that it can send in a SIP MESSAGE to the ICSCF

The SIP MESSAGE is created as follows:

3GPP TS 24.341 V12.6.0 (2014-12) section 5.3.3.4.2 Delivering a short message in a SIP MESSAGE request
If a short message is received from the SMS-GMSC, the IP-SM-GW shall extract the IMSI of the SM-over-IP receiver from the received message. Then the IP-SM-GW shall send a SIP MESSAGE request with the following information:
a)  the Request-URI, which shall contain a public user identity of the SM-over-IP receiver associated with the received IMSI;
b)  the Accept-Contact header, which shall contain a "+g.3gpp.smsip" parameter and the "explicit" and "require" tags according to RFC 3841 [17];
c)  the Request-Disposition header which shall contain the "no-fork" directive;
d)  the P-Asserted-Identity header which shall contain the SIP URI of the IP-SM-GW;
e)  the Content-Type header which shall contain "application/vnd.3gpp.sms"; and
f)  the body of the request which shall contain an RP-DATA message as defined in 3GPP TS 24.011 [8], including the SMS headers and the SMS user information encoded as specified in 3GPP TS 23.040 [3].

For example flows, see MT Delivery Flows

The IPSMGWPSDelivery feature arms a service timer (with the value of FallbackTimer attribute in the IPSMGWPSDeliveryConfigProfileTable) when it sends the SIP MESSAGE. If this timer expires, then PS Delivery has taken too long and the PSDeliveryStatus session state field is set to FAILED (default is NOT_ATTEMPTED.)

The following tables explains the behaviour during MT PS delivery.

PS_ONLY or CS_THEN_PS

This section describes the behaviour when the DeliveryOrder attribute in the Shared Configuration Profile is set to PS_ONLY or CS_THEN_PS.

For a PS delivery:

If Then

Charging is performed and returns a failure

Error returned to SMSC in MT-FSM response

Response received from UE is a 408 or 410, or no response received from UE before the FallBackTimer expires

Error returned to SMSC in MT-FSM response, IP-SM-GW subscribes to receive UEReachabilityForIP notifications using stored MSISDN, IP-SM-GW sends a MAP Report SM Delivery Status to the HLR

Response received from UE is other code that is not a 2xx (e.g. not 202 or 200)

Error returned to SMSC in MT-FSM response

Response received from UE is a 2xx

If Then

Delivery Report does not arrive before the FallBackTimer expires

Error returned to SMSC in MT-FSM response, IP-SM-GW subscribes to receive UEReachabilityForIP notifications using stored MSISDN, IP-SM-GW sends a MAP Report SM Delivery Status to the HLR

Delivery Report does not contain RP Data

Error returned to SMSC in MT-FSM response

Delivery report contains an RP ERROR with "memory out of capacity"

Error returned to SMSC in MT-FSM response, IP-SM-GW sends a MAP Report SM Delivery Status to the HLR

Delivery report contains an RP ERROR with other error

Error returned to SMSC in MT-FSM response

Delivery report contains an RP ACK

Success returned to SMSC in MT-FSM response, IP-SM-GW sends a MAP Report SM Delivery Status to the HLR

PS_THEN_CS

This section describes the behaviour when the DeliveryOrder attribute in the Shared Configuration Profile is set to PS_THEN_CS. In this mode, PS Delivery may not necessarily respond to the SMSC itself, instead falling back to CS Delivery.

For a PS delivery:

If Then

Charging is performed and returns a failure

Error returned to SMSC in MT-FSM response

No Response received from UE before the FallBackTimer expires

CS Fallback initiated, IP-SM-GW subscribes to receive a UEReachabilityForIP notification using the stored MSISDN

Response received from UE is not a 2xx (e.g. not 202 or 200)

CS Fallback initiated, IP-SM-GW may subscribe to receive a UEReachabilityForIP notification using the stored MSISDN

Response received from UE is a 2xx

If Then

Delivery Report does not arrive before the FallBackTimer expires

CS Fallback initiated, the feature may subscribe to receive UEReachabilityForIP notifications using stored MSISDN

Delivery Report does not contain RP Data

CS Fallback initiated

Delivery report contains an RP ERROR

If Then

No RPErrorFallbackAvoidanceCodes configured

CS Fallback initiated

RP-Error code does not match any entry in RPErrorFallbackAvoidanceCodes

CS Fallback initiated

RP-Error code matches an entry in RPErrorFallbackAvoidanceCodes

Error returned to SMSC in MT-FSM response

Delivery report contains an RP ACK

Success returned to SMSC in MT-FSM response, IP-SM-GW sends a MAP Report SM Delivery Status to the HLR

Requesting a UE Reachability for IP Notification

This feature may request a UE Reachability for IP Notification from the HSS, using Diameter Sh’s SubscribeNotificationRequest operation (through the Sh Cache Microservice). This operation is only sent to the HSS if the SubscribeToUEReachabilityForIP configuration flag is set to true and one of the following occurs:

  • the SIP Message Request sent towards the UE is responded to with a 408 (Request Timeout) or 410 (Gone) error response, or

  • an RP-ACK or RP-ERROR is not received from the UE within a guard time period

The guard time value is the FallBackTimer. The Sh SubscribeNotificationRequest operation is sent with the MSISDN as the access key, and the One Time Notification flag set.

Session state inputs and outputs

Inputs

Name Type Format Description Behaviour if null/invalid

SentinelSelectionKey

com.opencloud.sentinel.common.SentinelSelectionKey

selection key (for example, <platform>::::)

For selecting configuration data and updating network operator field

Report featureCannotStart, featureHasFinished

MSISDN

String

The MSISDN to use in the subscription-notification and ReportSMDeliveryStatus operations, and to use for GT routing if configured

Unable to send subscription-notification and ReportSMDeliveryStatus messages, and to route on GT if configured

IsSMSOverIPRegistered

boolean

N/A

True if the user is logged in to the IMS - feature only runs if logged in

MTFSMDeliveryOrder

com.opencloud.sentinel.ipsmgw.shared.config.profile.DeliveryOrder

One of CS_ONLY, PS_ONLY, CS_THEN_PS, PS_THEN_CS

Current DeliveryOrder based on configuration and available routing info, correpsonding to current selection key plan Id.

Set PSDeliveryStatus to FAILED and report featureHasFinished

RegistrationRecords

List of com.opencloud.sentinel.state.RegistrationRecord

RegistrationRecords for the user - the default public ID is extracted from the first record and used as the RequestURI

Report featureCannotStart, featureHasFinished

SRI4SMArgV1, SRI4SMArgV2, SRI4SMArgV3

com.opencloud.slee.resources .cgin.map.MAPSendRoutingInfoForSMArg, com.opencloud.slee.resources .cgin.map.MAPRoutingInfoForSM_Arg

The SendRoutingInfoForSM Arg received from the SMSC, used to populate the service centre address in a Report SM Delivery Status

Use the IP-SM-GW address as the service centre address

Outputs

Name Type Description

PSDeliveryStatus

Enum

Values are NOT_ATTEMPTED, FAILED, SUCCEEDED. Indicates the state of PS Delivery

FallbackAllowed

boolean

True if the RP-Data Deliver MESSAGE received a SIP error response, or no RP-Ack MESSAGE was received, or if the delivery report didn’t contain RP Data, or if an RP-Error was received and its cause code was not a configured RPErrorFallbackAvoidanceCodes value.

RP Cause Mappings

Any values not in the table are still valid as RPErrorFallbackAvoidanceCodes but it is unlikely they will appear in the RP-ERROR.

Cause Value

UNASSIGNED_NUMBER

1

OPERATOR_DETERMINED_BARRING

8

CALL_BARRED

10

RESERVED

11

SHORT_MESSAGE_TRANSFER_REJECTED

21

MEMORY_CAPACITY_EXCEEDED

22

DESTINATION_OUT_OF_ORDER

27

UNIDENTIFIED_SUBSCRIBER

28

FACILITY_REJECTED

29

UNKNOWN_SUBSCRIBER

30

NETWORK_OUT_OF_ORDER

38

TEMPORARY_FAILURE

41

CONGESTION

42

RESOURCES_UNAVAILABLE

47

REQUESTED_FACILITY_NOT_SUBSCRIBED

50

REQUESTED_FACILITY_NOT_IMPLEMENTED

69

INVALID_SHORT_MESSAGE_REFERENCE_VALUE

81

INVALID_MESSAGE

95

INVALID_MANDATORY_INFORMATION

96

MESSAGE_TYPE_NONEXISTENT_OR_NOT_IMPLEMENTED

97

MESSAGE_NOT_COMPATIBLE_WITH_SHORT_MESSAGE_PROTOCOL_STATE

98

INFORMATION_ELEMENT_NONEXISTENT_OR_NOT_IMPLEMENTED

99

PROTOCOL_ERROR

111

INTERWORKING

127

Previous page Next page
Sentinel IP-SM-GW Version 4.0.0