ESRVCC registration process

ATCF not involved in registration

The ESRVCC registration feature checks if the ATFC parameters are present in the Feature-Caps header. If not present, the feature stores registration data, accepts registration and ends.

.ESRVCC registration
ESRVCC registration, ATCF not involved

ATCF is involved in registration

If the ATFC parameters are present in the Feature-Caps header, the feature queries HSS and updates ATCF if required.

  • The Feature-Caps header of the first-party REGISTER request includes a number of ATCF-related parameters:

    • +g.3gpp.atcf

    • +g.3gpp.atcf-mgmt

    • +g.3gpp.atcf-path

  • The ESRVCC registration feature:

    • queries the HSS to obtain the STN-SR and the C-MSISDN (correlation MSISDN)

    • compares the STN-SR returned by the HSS with the STN-SR that was in the first-party REGISTER request

      • If they are different, the HSS is updated with the STN-SR from the first-party REGISTER request

    • updates the ATCF, passing it the SCC AS’s own ATU-STI and the C-MSISDN, by sending the ATCF a SIP MESSAGE message.

      • The address of the ATCF is taken from the +g.3gpp.atcf-mgmt parameter in the Feature-Caps header of the first-party REGISTER request.

      • The body of the SIP MESSAGE has a content type application/vnd.3gpp.SRVCC-info+xml and contains an XML document such as:

        <?xml version="1.0" encoding="UTF-8"?>
        <SRVCC-infos>
            <SRVCC-info ATCF-Path-URI="<sip:termsdgfdfwe@localhost:5560>">
                <ATU-STI>sip:sccas1.home1.net:5060</ATU-STI>
                <C-MSISDN>tel:+16505550425</C-MSISDN>
            </SRVCC-info>
        </SRVCC-infos>
    • stores the registration data

Note If any of these steps fail (for example, the ATCF update times out, or the HSS returns a failed Answer) the ESRVCC registration feature responds to the registrar core with a SIP error.
.ESRVCC registration
ESRVCC registration, ATCF update

ATFC Update retry

The ESRVCCRegistration feature may be configured to retry the ATCF update if the ATCF responds with a configured SIP error response. The ESRVCCRegistration feature will resend the MESSAGE request, on receipt of the SIP error response, after the delay period has expired. The delay period is configurable.

.ESRVCC registration
ESRVCC registration, ATCF update retry after error

Session state

Before …​

CMSISDN

The correlation MSISDN retrieved from the HSS

EncapsulatedRegisterRequest

The first-party REGISTER request that was in the body of the third-party REGISTER request received by the registrar. The ESRVCC feature processes the Feature-Caps header from the REGISTER request

HasCMSISDN

If CMSISDN was fetched from HSS

PrivateId

The private-id of the UE

PublicIds

The list of public IDs provided in the 3rd party registrar message

SentinelSelectionKey

A selection key with the platform operator, network operator and session type set to ESRVCCRegistration (such as OpenCloud:OpenCloud:ESRVCCRegistration::)

StnSR

The STN-SR from the third-party register request, if it differs from the current HSS state.

…​ After

AcceptRegisterRequest

Indicates whether the REGISTER must be acepted after execution of the feature

AtcfMgmtUri

The ATCF Management URI from Feature-Caps header in the initial first-party REGISTER request

AtcfPathUri

The ATCF Path URI from Feature-Caps header in the initial first-party REGISTER request

CurrentATUSTI

The ATU-STI for the SCC AS

IsUeSrvccCapable

Indicates whether the UE supports ESRVCC

RejectRegisterRequest

Indicates whether the RejectRegisterRequest feature must issue a SIP error response on the triggering REGISTER leg.

Mappers

This feature uses mappers that conform to:

Mapping Mapper Execution Point

SentinelRegistrarSessionState.class → OutgoingSipRequest.class

RegistrarMappingPoint.UpdateATCF

Feature responses

None

Statistics

ESRVCCRegistration statistics are tracked by the sentinel.registrar SBB and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.registrar service → sentinel.volte.sip SBB → feature → CacheESRVCCRegistration
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.registrar,vendor=OpenCloud,version=4.0.0].SbbID[name=sentinel.registrar,vendor=OpenCloud,version=4.0.0].feature.CacheESRVCCRegistration"

Parameter …​ incremented if …​

Started

The feature runs

FailedToStart

A fatal error occurs before feature execution

IssuedWarning

A non-fatal error occurs during feature execution

FailedDuringExecution

A fatal error occurs during feature execution

TimedOut

Feature execution does not complete within a reasonable time frame

MapperErrorUpdatingATCF

The mapper that creates a SIP MESSAGE message, to pass to the ATCF, fails

NetworkErrorUpdatingATCF

There is a network error sending a SIP MESSAGE message to the ATCF

ATCFRespondsWithSipError

The ATCF responds to a SIP MESSAGE message with an error response

ATCFResponseTimesOut

There is no response to the SIP MESSAGE message sent to the ATCF

RegisterMissingFeatureCAPSHeader

The REGISTER message is missing a Feature-Caps header

RegisterFeatureCAPSHeaderMissingAtcfMgmt

The Feature-Caps header does not contain a +g.3gpp.atcf-mgmt parameter

Error scenarios

The ESRVCC feature increments statistics and responds to the registrar core with rejectReqisterRequest() if:

  • the REGISTER request is missing essential headers or header parameters

  • there is a problem sending a UserDataRequest to the HSS, such as a mapper error creating the message, or a network error sending the message

  • there is a problem sending a ProfileUpdateRequest to the HSS, such as a mapper error creating the message, or a network error sending the message

  • there is a problem sending a SIP MESSAGE message to the ATCF, such as a mapper error creating the message, or a network error sending the message.

Configuration

This feature has a configuration profile which determines the user identities used when querying the HSS. The default profile table is named CacheESRVCCRegistrationConfigProfileTable and profiles are named with a Sentinel Selection Key e.g. opencloud::::. The feature has a Sentinel Feature Configuration page in REM.

Attribute Name Type Description

UserIdentityTypeStringForStnSrRequest

An enum with value PUBLIC_ID or CMSISDN

Determines whether the user’s IMS Public ID or C-MSISDN will be used for their identity when requesting the STN-SR from the HSS.

IncludePrivateIdInStnSrRequest

boolean

Determines whether the user’s IMS Private ID will be included in the request for the STN-SR.

RetryAtcfUpdateOnSIPErrorDelayMilliseconds

long

Time, in milliseconds, to wait before retrying the ATCF update. If the time is less than, or equal to zero, then ATCF update retry is disabled.

RetryAtcfUpdateOnSIPErrorCode

int

The SIP error response, received from the ATCF, that will trigger an ATCF update retry. ATCF update retry is disabled if the value is not a valid SIP error response code (400-699).

There are also fields relevant to this feature in the RegistrarConfigurationTable table:

AtcfUpdateTimeout

The time (ms) the ESRVCC registration feature should wait for a response from the ATCF.

Previous page Next page
Sentinel VoLTE Version 4.0.0