Determining the network operator

This feature adopts three techniques to determine the network operator:

Special header in the third-party REGISTER request

If the REGISTER request contains a sentinel-network-operator header, then the network operator is the value of this header. For example, a REGISTER request, such as the one shown below, returns a network operator ‘HomeOneNet’.

REGISTER sip:registrar.home1.net:5060 SIP/2.0
...
From: <sip:scscf1.home1.net>;tag=m1xC8Q
To: <sip:user1_public1@home1.net>
...
sentinel-network-operator: HomeOneNet

If the header is present, but empty, then treat this as if there was not header present and try the next technique.

Look up the network operator in feature configuration data

This RegistrarStg:feature has configuration data that is a lookup table key → network operator. The feature uses a RegistrarStg:mapper IncomingSipRequest.class → String.class @ RegistrarMappingPoint.DetermineNetworkOperator.

The mapper included with the registrar returns the host from the To address as the lookup key. For example, a REGISTER request, such as the one shown below, results in a lookup key of ‘home1.net’.

REGISTER sip:registrar.home1.net:5060 SIP/2.0
...
From: <sip:scscf1.home1.net>;tag=CefmLQ
To: <sip:user1_public1@home1.net>
...

The feature uses this lookup key to find a network operator. If there is no network operator that corresponds to this key, then try the next technique.

Details

Feature script name

RegistrarDetermineNetworkOperator

Applicable contexts

SIP service

Prerequisite features

None

Session state inputs and outputs

Inputs

SentinelSelectionKey

A selection key with the platform operator set (such as OpenCloud::::)

Outputs

SentinelSelectionKey

A selection key with the platform operator and network operator set (such as OpenCloud:HomeOneNet:::)

Mappers

This feature uses a mapper that conforms to:

Mapping Mapper Execution Point

IncomingSipRequest.class → String.class

RegistrarMappingPoint.DetermineNetworkOperator

Feature responses

featureFailedToExecute()

FeatureError.Cause.invalidConfiguration — Could not determine Network Operator, and no default is configured.

featureHasFinished()

Once the feature has finished execution.

Statistics

Stats interface

DetermineNetworkOperatorStats

Parameter set to monitor

SLEE-Usage.Services.ServiceID\[RegistrarStg:name=sentinel.registrar,vendor=OpenCloud,version=1.0].SbbID\[RegistrarStg:name=sentinel.registrar,vendor=OpenCloud,version=1.0].(default)

Parameter …​ incremented if …​

CouldNotDetermineNetworkOperator

If the network operator cannot be inferred by analysis of the REGISTER request and there is no platform-level default network operator configured.

Error scenarios

Error Scenario for error

This feature signals an error to the registrar core, and increments a statistic

If it could not determine network operator, and there is no platform-level default network operator configured

Configuration

  • A profile table called SentinelRegistrarNetworkOperatorProfileTable.

    Each profile in the table:

    Parameter Type

    LookupKey

    java.lang.String

    NetworkOperator

    java.lang.String

    For example:

[Rhino@localhost (#3)] listprofileattributes SentinelRegistrarNetworkOperatorProfileTable home1.net
LookupKey=home1.net
NetworkOperator=HomeOneNet
  • The default network operator, which is in the Sentinel configuration table.

Provisioning interfaces

The feature is provisioned using the Sentinel Registrar Determine Network Operator REST API or web interface.

Previous page Next page
Sentinel Express Version 2.7.0