This service is for CDMA networks. |
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.
For this feature’s fit into the overall flow, please see the Reorigination basic flow diagram.
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
.
Each network operator supported by the platform has one entry in this table.
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.
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=2.8.0].SbbID[name=volte.sentinel.cdma,vendor=OpenCloud,version=2.8.0]
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 |
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.
-
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.
-
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.