What is TIR?

From 3GPP TS 24.608:

The Terminating Identification Restriction (TIR) is a service offered to the terminating party which enables the terminating party to prevent presentation of the terminating identity information to originating party.

Feature cheat sheet

B2BUA Instance Originating / Terminating Point(s) in Session Plan Network Operator Data Subscriber Data Stateful or Stateless POJO Feature or SBB Feature

MMTEL

Terminating

SipAccess_SubscriberPreCreditCheck
SipAccess_PartyResponse

Yes

Yes, loaded from HSS

Stateless

POJO

Prerequisite features

These features must run before TIR:

Source Code

This feature’s source code is available in the Sentinel VoLTE SDK in the mmtel-id-presentation-restriction module pack. It can be viewed by using the create-module command in the SDK with that module pack, for example:

> create-module new-idpr-module opencloud#mmtel-id-presentation-restriction#volte/2.7.0;2.7.0.0

This command will prompt you for information needed to create the new modules, once completed the original source for the feature can be found in the new modules.

The module-pack includes the following modules relevant to this feature:

Module Name Description

mmtel-id-presentation-restriction

Group module for the feature that includes all of the modules listed below.

mmtel-id-presentation-restriction-library

Contains code shared by all ID presentation and restriction features.

mmtel-tir-profile

Contains the profile specification for the feature configuration profile table.

mmtel-tir

Contains the feature itself.

Network operator data

TIR’s Network Operator Data is held in a JSLEE configuration profile table named MMTelTIRConfigProfileTable. This data is scoped by sentinel selection key — each network operator has one entry in the table.

Attribute Name

Type

TIRMode (deprecated, present in MMTelTIRServiceData)

An enum with values PERMANENT, and TEMPORARY.

Fully qualified class name is
com.opencloud.volte.sentinel.simservs.xcap.IdentityPresentationModeType

Session input variables

Variable name Type Comments

Complex

Loaded from the HSS in SubscriberDataLookupFromHSS or from HLR in SubscriberDataLookupFromHLR

Session output variables

Variable name Type Comments
RanTir

boolean

Signals to other features that TIR ran on this session.

Statistics

MMTelTIR statistics are tracked by the volte.sentinel.sip SBB and can be found under the following parameter set:
SLEE-Usage → volte.sentinel.sip service → volte.sentinel.sip SBB.

Statistic

Incremented when…​

MMTelTIRFeatureStarted

the feature runs

MMTelTIRFeatureFailedToStart

sentinel VoLTE encounters an error while attempting to start the feature

MMTelTIRFeatureIssuedWarning

a non-fatal problem is encountered and the feature and issues a warning

MMTelTIRFeatureFailedDuringExecution

a fatal problem is encountered and the feature cannot execute correctly

MMTelTIRFeatureTimedOut

the feature takes too long to complete and Sentinel VoLTE aborts execution

MMTelTIRFeatureProcessingResponse

the feature processes a SIP response

MMTelTIRFeatureProcessingRequest

the feature processes a SIP request

MMTelTIRFeatureFromChangeTagRemoved

the feature removes the from-change tag from a Supported header in the outgoing SIP message

MMTelTIRFeatureReceivedMalformedPrivacyHeader

a non-standard Privacy header is found in an incoming SIP message

MMTelTIRFeaturePrivacyHeaderChanged

the feature changes the contents of the Privacy header on an outgoing SIP message

Behaviour

If operator data is not present, the TIR feature:

  1. Increments an error statistic.

  2. Logs a message at the Fine level.

  3. Informs the Sentinel core that the feature is not configured appropriately (Invalid Configuration).

  4. Exits.

Header manipulation

MMTelTIRServiceData.Mode
(Operator data)
SIP Operation MMTelTIRServiceData.Active
(Subscriber data)
MMTelTIRServiceData.DefaultBehaviourType
(Subscriber data)
Action(s)

TEMPORARY

INVITE

No

PRESENTATION_NOT_RESTRICTED

See row for Temporary, Active, Presentation Not Restricted

TEMPORARY

B-Party Responses

No

PRESENTATION_NOT_RESTRICTED

See row for Temporary, Active, Presentation Not Restricted

TEMPORARY

INVITE

No

PRESENTATION_RESTRICTED

See row for Temporary, Active, Presentation Restricted

TEMPORARY

B-Party Responses

No

PRESENTATION_RESTRICTED

See row for Temporary, Active, Presentation Restricted

TEMPORARY

INVITE

Yes

PRESENTATION_NOT_RESTRICTED

Forward INVITE to B party

TEMPORARY

INVITE

Yes

PRESENTATION_RESTRICTED

Forward INVITE to B party

TEMPORARY

B-Party Responses

Yes

PRESENTATION_NOT_RESTRICTED

Forward Response to A party

TEMPORARY

B-Party Responses

Yes

PRESENTATION_RESTRICTED

If a response does not contain a Privacy header, insert a Privacy with value set to id.

If the response contains a Privacy header and the value is set to none, the AS shall leave the value unchanged.

If the response contains a Privacy header with a value other than none, and if the value that does not include id, then add value id.

PERMANENT

INVITE

Yes

Behave as though PRESENTATION_RESTRICTED, regardless of tge configuration value.

If INVITE contains an option-tag from-change, remove the option-tag and forward to B party

PERMANENT

B-Party Responses

Yes

Behave as though PRESENTATION_RESTRICTED regardless of configuration value

If a response does not contain a Privacy header, insert a Privacy with value set to id.

If the response contains a Privacy header and the value is set to none, the AS shall replace the value with the value id.

If the response contains a Privacy header with a value other than none, and if the value that does not include id, then add value id.

Graceful handling of originating access

TIR is a terminating feature. It will finish execution without modifying any state if it is invoked in an originating attempt.

Previous page Next page
Sentinel VoLTE Version 2.7.0