This CDMA Reorigination service receives CDMA OriginationRequest and AnalyzedInformation triggers, stores reorigination information, and is able to forward the call such that it is routed into the IMS .
It enables processing circuit-switched originating calls in the SCC-AS. Reorigination for terminating calls can be bypassed if the subscriber is not registered in the IMS network. There is a related feature (SCCCDMAReOrigination) that is part of service centralization in the IMS.
This service is for CDMA networks. |
Refer to Reorigination basic flow diagram to understand the role of CDMA Reorigination service in reorigination.
|
Configuration
Configuration for the CDMA Reorigination Service is in a profile 'cdma-configuration' in the profile table CDMAServiceConfigurationProfileTable
.
CDMAServiceConfigurationProfileTable
Attribute | Type | Default Value | Meaning |
---|---|---|---|
SupportedAnalyzedInformationTriggerList |
String |
'local-Call,local-Toll-Call,non-Local-Toll-Call,world-Zone-Call,international-Call,unrecognized-Number,prior-Agreement,specific-Called-Party-Digit-String,mobile-Termination,advanced-Termination,location' |
Supported terminating triggers in an AnalyzedInformation (comma separated list of CDMATriggerTypes) |
ActionOnUnsupportedTrigger |
String |
accessDeniedReason_terminationDenied |
action to take when an unexpected trigger is received |
ActionOnFailedToAllocateRoutingNumber |
String |
accessDeniedReason_busy |
action to take when there is a failure generating a routing number |
DefaultFailureAction |
String |
accessDeniedReason_serviceDenied |
default action to take on error |
IMRNTypeOfDigits |
String |
DIALED_OR_CALLED_PARTY_NUMBER |
The type of digits field of the IMRN generated |
IMRNNatureOfNumber |
String |
INTERNATIONAL |
The nature field of the IMRN generated |
IMRNNumberingPlan |
String |
TELEPHONY |
The numbering plan field of the IMRN generated |
BypassReoriginationIfNotRegistered |
Boolean |
true |
If true, reorigination is skipped if the subscriber is not registered in the IMS network |
Network operator data
Common network configuration data is stored in a profile table named SCCCommonReOriginationConfigProfileTable
.
For more information, see the shared configuration between
the SCCCDMAReOrigination feature and the CDMA reorigination service
.
Use of Correlation resource adaptor
For information about use of the Correlation RA, please see the shared Correlation RA.
Use of Cassandra-CQL resource adaptor
The CDMA reorigination service
uses Cassandra to:
-
determine if the subscriber is registered by querying 3rd party Registration Data
-
store reorigination information required by SCCCDMAReOrigination.
For information about use of the Cassandra-CQL RA, please see storing Call Information in Cassandra.
Statistics
CDMA reorigination statistics are collected by the 'volte.sentinel.cdma' SBB and can be found using the parameter set
SLEE-Usage.Services.ServiceID[name=volte.sentinel.cdma,vendor=OpenCloud,version=4.1].SbbID[name=volte.sentinel.cdma,vendor=OpenCloud,version=4.1]
Or in REM under the following parameter sets:
SLEE-Usage → Services → volte.sentinel.cdma service → volte.sentinel.cdma
Parameter | Type | Description |
---|---|---|
ConfigurationProfileTableMissing |
Counter |
Incremented if the configuration profile table is missing |
ConfigurationProfileMissing |
Counter |
Incremented if the configuration profile is missing |
FailedToEncodeRequest |
Counter |
Incremented if there is a failure encoding the incoming request for the correlation RA |
NoAvailableCorrelationEntries |
Counter |
Incremented if there are no free correlation entries |
OriginatingTreatment |
Counter |
Incremented on an originating trigger |
TerminatingTreatment |
Counter |
Incremented on a terminating trigger |
UnsupportedDialogOpenRequest |
Counter |
Incremented on receipt of a Unidirectional dialog |
FailedToAcceptDialog |
Counter |
Incremented if there is an error accepting the incoming dialog |
FailedToRefuseDialog |
Counter |
Incremented if there is an error refusing the incoming dialog |
AnalyzedInformationErrorResponseSent |
Counter |
Incremented if an error response is sent |
OriginationRequestErrorResponseSent |
Counter |
Incremented if an error response is sent |
FailedToSendAnalyzedInformationResponse |
Counter |
Incremented if there is a failure whilst sending an error response |
FailedToSendOriginationResponse |
Counter |
Incremented if there is a failure whilst sending an error response |
UnsupportedTrigger |
Counter |
Incremented if the trigger type of an AnalyzedInformation request is not supported |
UnsupportedCallType |
Counter |
Incremented if the call scenario is not mobile originating or mobile terminating |
InvalidOriginationRequest |
Counter |
Incremented if the called and calling parties cannot be determined |
InvalidAnalyzedInformation |
Counter |
Incremented if the called and calling parties cannot be determined |
CassandraQueryResultReceived |
Counter |
Incremented if 3rd-party registration lookup result received from Cassandra |
SubscriberNotRegistered |
Counter |
Incremented if subscriber is not registered |
SubscriberRegistered |
Counter |
Incremented if subscriber is registered |
CassandraError |
Counter |
Incremented if error returned by Cassandra during 3rd-Party registration lookup |
CassandraQueried |
Counter |
Incremented if 3rd-Party registration lookup invoked |
CallReOriginated |
Counter |
Incremented when the call is successfully reoriginated. |
ReoriginationBypassed |
Counter |
Incremented when the feature bypasses reorigination for an unregistered subscriber. |
CallReleased |
Counter |
Incremented when reorigination fails and the call is released. |
PoolAllocationFailed |
Counter |
Incremented on a failure to acquire a correlation ID from the correlation RA. |
PoolAllocationSucceeded |
Counter |
Incremented when a correlation ID is acquired from the correlation RA. |
StoringCorrelationDataInCassandra |
Counter |
Incremented when the feature stores call information data in cassandra |
InsertCorrelationDataCassandraQueryResultReceived |
Counter |
Incremented when the feature receives a call information data lookup result |
FailedToStoreCorrelationDataInCassandra |
Counter |
Incremented when there is a failure to store call information data in cassandra |
PoolAllocationReleased |
Counter |
Incremented when an allocated correlation ID is released due to any failure |
Reoriginating the call
The service is triggered with an OriginationRequest
or an AnalyzedInformation
. The service then attempts to reoriginate
the call (that is, forward the call into the IMS). The steps involved are explained in the following sections.
-
The configuration data used is indexed by the
Sentinel Selection Key
(as in most places in Sentinel). The first step is to build a sentinel selection key, by using platform level configuration to get the name of the platform operator. In the current release the network operator field is set to the name of the platform operator. This selection key is used for all subsequent configuration lookup. -
Find configuration, with a sentinel selection key based search. If there is no configuration, reject the session with
accessDeniedReason
ofunavailable
.
On OriginationRequest (ORREQ)
-
Check the OriginationRequest has all required fields to identify the calling and called parties. If not, send an OriginationRequest response based on the ActionOnUnsupportedTrigger configuration property.
-
Encode the OriginationRequest into a
byte[]
that can be stored by the correlation RA. If this fails, send an OriginationRequest response based on the ActionOnFailedToAllocateRoutingNumber configuration property. -
Direct the Correlation resource adaptor entity to allocate a reorigination address. This address will be used for routing the call onwards. The Correlation resource adaptor entity records the allocated correlation number and the encoded OriginationRequest. These are used later, in the CDMA Reorigination SIP feature.
-
The call information is also stored in Cassandra, keyed on the correlation ID. If the insert into cassandra fails, then the call fails to reoriginate.
-
Build a destination routing address, using the address returned by the Correlation RA, and the configuration for the address’s
TypeOfDigits
,NatureOfNumber
andNumberingPlan
fields. The network configuration for a prefix is used if the network configuration indicates a prefix is required. This address is called the “IP Multimedia Routing Number”, or IMRN for short. -
Send an OriginationRequest response with the IMRN in the
TerminationList
, and close the TCAP dialog.
On AnalyzedInformation (ANLYZD)
-
Check the
trigger type
against supported triggers in configuration. If the trigger is not supported, send an AnalyzedInformation response based on the ActionOnUnsupportedTrigger configuration property. -
For supported AnalyzedInformation triggers, check the call is Mobile Originating (MO) or Mobile Terminating (MT). If not, send an AnalyzedInformation response based on the ActionOnUnsupportedTrigger configuration property.
The call is MT if the trigger type is mobile-Termination , advanced-Termination or location .
All other calls are MO, unless RedirectingNumberDigits , RedirectingPartyName or RedirectingSubaddress is present, in which case the call is MF (Mobile Forwarded).
|
-
Check the AnalyzedInformation has all required fields to identify the calling and called parties. If not, send an AnalyzedInformation response based on the ActionOnUnsupportedTrigger configuration property.
-
Execute the CDMA reorigination bypass feature.
-
If
BypassReoriginationIfNotRegistered
=True
, construct a normalized IMRN from thedigits
address value in the ANLYZD message and perform a 3rd-Party registration lookup in Cassandra.-
If no registration record is found, send an empty AnalyzedInformation response so the call can continue without reorigination.
-
If an expired registration record is found, send an empty AnalyzedInformation response so the call can continue without reorigination.
-
If a current registration record is found, continue to the next step.
-
If Cassandra returns an error/failure or no response, continue to the next step.
-
-
If
BypassReoriginationIfNotRegistered
=False
, continue to the next step.
-
-
Encode the AnalyzedInformation into a
byte[]
that can be stored by the correlation RA. If this fails, send an AnalyzedInformation response based on the ActionOnFailedToAllocateRoutingNumber configuration property. -
Direct the Correlation resource adaptor entity to allocate a reorigination address. This address will be used for routing the call onwards. The Correlation resource adaptor entity records the allocated correlation number and the encoded AnalyzedInformation. These are used later, in the CDMA Reorigination SIP feature.
-
The call information is also stored in Cassandra, keyed on the correlation ID. If the insert into cassandra fails, then the call fails to reoriginate.
-
Build a destination routing address, using the address returned by the Correlation RA, and the configuration for the address’s
TypeOfDigits
,NatureOfNumber
andNumberingPlan
fields. The network configuration for a prefix is used if the network configuration indicates a prefix is required. This address is called the “IP Multimedia Routing Number”, or IMRN for short. -
Send an AnalyzedInformation response with the IMRN in the
TerminationList
, and close the TCAP dialog.