What is OIR?

From 3GPP 24.607:

The Originating Identification Restriction (OIR) service enables the originating user to prevent presentation of its identity information to the terminating user.

When the OIR service is applicable and activated, the originating network provides the destination network with the indication that the originating user’s identity information is not allowed to be presented to the terminating user. In this case, no originating user’s identity information shall be included in the requests sent to the terminating user. The presentation restriction function shall not influence the forwarding of the originating user’s identity information within the network as part of the supplementary service procedures.

Feature cheat sheet

B2BUA Instance SAS Support Originating / Terminating Point in Session Plan Network Operator Data Subscriber Data Stateful or Stateless POJO Feature or SBB Feature

MMTEL

Yes

Originating

SipAccess_SubscriberPreCreditCheck

Yes

Yes

Stateless

POJO

Prerequisite features

These features must run before OIR:

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.9.0;2.9.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-oir-profile

Contains the profile specification for the feature configuration profile table.

mmtel-oir

Contains the feature itself.

Network operator data

OIR Network Operator Data is present in a JSLEE configuration profile table named MMTelOIRConfigProfileTable. The operator data is scoped according to a Sentinel selection key.

Attribute Name Type Description
OIRMode (deprecated, present in MMTelOIRServiceData)

An enum with two values: PERMANENT and TEMPORARY.

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

OIRPresentationRestrictionType

An enum with two values: ONLY_IDENTITY and ALL_PRIVATE_INFORMATION.

Fully qualified type name is com.opencloud.volte.sentinel.simservs.xcap.IdentityPresentationRestrictionType.

Use of ALL_PRIVATE_INFORMATION means the Privacy header is set to Privacy:header

Use of ONLY_IDENTITY means that the Privacy header is set to Privacy:id.

OIRUserPolicy

An enum with three values: NONE, ANONYMIZE_FROM, and ADD_USER_PRIVACY.

Fully qualified type name is com.opencloud.mmtel.sentinel.feature.common.IdentificationRestriction.UserPolicy.

Default for network operator data

Attribute Default value
MMTelOIRServiceData.Mode
TEMPORARY
OIRPresentationRestrictionType
ONLY_IDENTITY
OIRUserPolicy
NONE

Session input variables

Variable name Type Comments

Complex

Stored from the HSS or HLR in SubscriberDataLookupFromHSS or SubscriberDataLookupFromHLR

DialledCallerIDRestriction

DialledCallerIDRestrictionType

Used to override PRESENTATION_RESTRICTION behavior, valid values are OIR_AS_CONFIGURED, OIR_CALLER_ID_BLOCK and OIR_CALLER_ID_UNBLOCK

Session output variables

Variable name Type Comments
RanOir

boolean

Signals to other features that OIR ran on this session.

Statistics

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

Statistic Increments when…​
Started

the feature runs

FailedToStart

Sentinel VoLTE encounters an error while attempting to start the feature

IssuedWarning

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

FailedDuringExecution

a fatal problem is encountered and the feature cannot execute correctly

TimedOut

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

Misconfigured

a fatal error if the feature configuration can not be loaded

ReceivedMalformedPrivacyHeader

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

FromHeaderAnonymized

the feature anonymizes the From header in an outgoing SIP message

PrivacyHeaderChanged

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

Behaviour

If operator data is not present, the OIR 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.

If MMTelOIRServiceData.OperatorAuthorized or MMTelOIRServiceData.Active is false, the feature finishes execution without modifying any state.

The rest of the behaviour section assumes that MMTelOIRServiceData.Active is true.

Temporary mode vs permanent mode

OIR behaves in temporary mode if the network configuration for MMTelOIRServiceData.Mode is set to TEMPORARY

It behaves in permanent mode if the network configuration for MMTelOIRServiceData.Mode is set to PERMANENT.

The UE signals its request for privacy through use of the Privacy header.

Adjustments to identity headers in temporary mode

When in temporary mode, the OIR feature will apply header manipulation related to privacy, based on:

  • the value of DialledCallerIDRestriction session state field,

  • whether or not the UE’s request has any Privacy header at all,

  • whether or not the Privacy header indicates that privacy should be enabled or disabled (for this dialog), and

  • the value of MMTelOIRServiceData.DefaultBehaviourType.

The value of OirPerCallOverride is used to modify privacy values as follows:

OIROverrideType Resulting 'Privacy' header
OIR_AS_CONFIGURED

'Privacy' header unchanged

OIR_CALLER_ID_BLOCK

'Privacy' header with 'Privacy:user'

OIR_CALLER_ID_UNBLOCK

'Privacy' header with 'Privacy:none'

Any changes are then treated as if the request has come from the UE and manipulation continues as follows:

UE request Value of MMTelOIRServiceData.DefaultBehaviourType Privacy based header manipulation occurs

No Privacy header

PRESENTATION_RESTRICTED

Yes

Privacy header with Privacy:none
(UE is asking for no privacy)

PRESENTATION_RESTRICTED

No

UE asks for privacy — Privacy header exists, and set to
Privacy:id, or Privacy:header, or Privacy:user

PRESENTATION_RESTRICTED

Yes

No Privacy header

PRESENTATION_NOT_RESTRICTED

No

Privacy header with Privacy:none
(UE is asking for no privacy)

PRESENTATION_NOT_RESTRICTED

No

UE asks for privacy — Privacy header exists, and set to
Privacy:id, or Privacy:header, or Privacy:user

PRESENTATION_NOT_RESTRICTED

Yes

Adjustments to identity headers in permanent mode

When in permanent mode, the OIR feature will apply header manipulation related to privacy regardless of whether or not the UE’s request indicated that privacy is requested. Whether or not anything is modified is based on the value of the MMTelOIRServiceData.DefaultBehaviourType session state variable. The value of PRESENTATION_NOT_RESTRICTED means that the OIR feature will not modify header manipulation related to privacy.

UE request indicates privacy shall apply Value of MMTelOIRServiceData.DefaultBehaviourType Privacy-based header manipulation occurs

N/A (the UE is ignored)

PRESENTATION_RESTRICTED

Yes

N/A (the UE is ignored)

PRESENTATION_NOT_RESTRICTED

No

Headers read and modified in SIP INVITE

Information about headers that are modified under different conditions are documented on the following links:

A few of the options are in the table below. For more refer to the links above.

MMTelOIRServiceData.Mode (operator data) MMTelOIRServiceData.DefaultBehaviourType (subscriber) OIRPresentationRestrictionType (network data) OIRUserPolicy (network data) Link

TEMPORARY

PRESENTATION_NOT_RESTRICTED
ONLY_IDENTITY
NONE

TEMPORARY

PRESENTATION_NOT_RESTRICTED
ONLY_IDENTITY
ANONYMIZE_FROM

TEMPORARY

PRESENTATION_NOT_RESTRICTED
ONLY_IDENTITY
ADD_USER_PRIVACY

TEMPORARY

PRESENTATION_RESTRICTED
ONLY_IDENTITY
NONE

TEMPORARY

PRESENTATION_RESTRICTED
ONLY_IDENTITY
ANONYMIZE_FROM

TEMPORARY

PRESENTATION_RESTRICTED
ONLY_IDENTITY
ADD_USER_PRIVACY

Graceful handling of terminating access

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

Previous page Next page
Sentinel VoLTE Public Version 2.9.0