This feature receives a CAP trigger, 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 .
It is one of two features that enable circuit switched originating calls to be processed in the SCC-AS. The related feature is SCCCamelToIMSReOriginationSIP. These features are part of service centralization in the IMS.
Refer to Reorigination basic flow diagram to understand the role of SCCCamelToIMSReOriginationIN in reorigination.
|
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 |
---|---|---|---|---|---|---|---|
This feature is IN only, it does not exist in a SIP B2BUA |
Yes |
Mobile Originating and Mobile Terminating only |
Session_PreInitialCreditCheck |
Yes. See Correlation RA |
No |
Stateless |
1 POJO for IN behaviour |
Network operator data
Common network configuration data is stored in a profile table named SCCCommonReOriginationConfigProfileTable
.
For more information, see the shared configuration between the SCCCamelToIMSReOriginationSIP feature and the SCCCamelToIMSReOriginationIN feature.
Camel specific network configuration is stored in a profile table name SCCCamelToIMSReOriginationConfigProfileTable
. This data is scoped by Sentinel
selection key.
Attribute name | Type | Comments |
---|---|---|
RoutingToInternalNetworkNumber |
An enum. See RoutingToInternalNetworkNumber |
Used by the IN feature when forwarding the call. For allowed values, see RoutingToInternalNetworkNumber |
Nature |
An enum. See Nature |
Used by the IN feature when forwarding the call. For allowed values see Nature. |
NumberingPlan |
An enum. See NumberingPlan |
Used by the IN feature when forwarding the call. For allowed values see NumberingPlan |
BypassTermReorIfNotRegistered |
Boolean |
Used by the IN feature. If true, reorigination is skipped if the subscriber is not registered in the IMS network. |
AlwaysReoriginateIfRoaming |
Boolean |
Used by the IN feature.
If true, calls by roaming subscribers will always be reoriginated (regardless of IMS registration).
If false, reoriginated or bypass behaviour will be determined by |
RoutingToInternalNetworkNumber
This value is part of the CAP and ETSI INAP CalledPartyNumber.
The allowed values are:
-
ALLOWED
-
NOT_ALLOWED
The values are as if the type were specified in ASN.1 as follows:
RoutingToInternalNetworkNumber ::= ENUMERATED { ALLOWED (0), NOT_ALLOWED (1) }
For more information, please see CGIN.
Nature
This value is part of the CAP and ETSI INAP CalledPartyNumber. The allowed values are:
-
SUBSCRIBER
-
UNKNOWN
-
NATIONAL
-
INTERNATIONAL
-
NETWORK_SPECIFIC
-
NETWORK_ROUTING_NATIONAL
-
NETWORK_ROUTING_NETWORK_SPECIFIC
-
NETWORK_ROUTING_WITH_CALLED_DIRECTORY
The values are as if the type were specified in ASN.1 as follows:
Nature ::= ENUMERATED { ... , SUBSCRIBER (1), UNKNOWN (2), NATIONAL (3), INTERNATIONAL (4), NETWORK_SPECIFIC (5), NETWORK_ROUTING_NATIONAL (6), NETWORK_ROUTING_NETWORK_SPECIFIC (7), NETWORK_ROUTING_WITH_CALLED_DIRECTORY (8), ... }
For more information, please see CGIN.
NumberingPlan
This value is part of the CAP and ETSI INAP CalledPartyNumber.
The allowed values are:
-
SPARE_0
-
ISDN
-
SPARE_2
-
DATA
-
TELEX
-
NATIONAL_5
-
NATIONAL_6
-
SPARE_7
The values are as if the type were specified in ASN.1 as follows:
NumberingPlan ::= ENUMERATED { SPARE_0 (0), ISDN (1), SPARE_2 (2), DATA (3), TELEX (4), NATIONAL_5 (5), NATIONAL_6 (6), SPARE_7 (7) }
For more information, please see CGIN.
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
For information about use of the Cassandra-CQL RA, please see storing Call Information in Cassandra.
Statistics
SCCCamelToIMSReOriginationIN
statistics are tracked by the sentinel.volte.ss7 SBB and can be found under the following parameter set:
SLEE-Usage → sentinel.volte.ss7 service → sentinel.volte.ss7 SBB → feature → SCCCamelToIMSReOriginationIN
Parameter | Type | Description |
---|---|---|
Started |
Counter |
Incremented when the feature starts. |
FailedToStart |
Counter |
Incremented when the feature failed to start due to an error. |
IssuedWarning |
Counter |
Incremented when the feature raised a warning. |
FailedDuringExecution |
Counter |
Incremented when the feature failed due to a major error. |
TimedOut |
Counter |
Incremented when the feature timed out during execution. |
CallReOriginated |
Counter |
Incremented when the call is successfully reoriginated. |
CallReleased |
Counter |
Incremented when reorigination fails and the call is released. |
ReoriginationFailedCallContinued |
Counter |
Incremented when reorigination fails but the call is able to be continued. |
Misconfigured |
Counter |
Incremented when the feature has not been correctly configured. |
IdpVlrNumberPresent |
Counter |
Incremented when the VLR number is found in the incoming |
IdpVlrNumberNotPresent |
Counter |
Incremented when the VLR number is not found in the incoming |
VisitedNetworkIdNotFound |
Counter |
Incremented when the feature is unable to determine the Visited Network ID. |
VisitedNetworkIdFound |
Counter |
Incremented when the feature is able to determine the Visited Network ID based on the VLR address. |
PoolAllocationFailed |
Counter |
Incremented when the feature fails to acquire a correlation ID from the correlation RA. |
PoolAllocationSucceeded |
Counter |
Incremented when the feature acquires a correlation ID from the correlation RA. |
OriginatingIMRNAttempt |
Counter |
Incremented when the feature executes reorigination for an originating call leg. |
TerminatingIMRNAttempt |
Counter |
Incremented when the feature executes reorigination for a terminating call leg. |
ReoriginationBypassed |
Counter |
Incremented when the feature bypasses reorigination for an unregistered subscriber. |
StoringCorrelationDataInCassandra |
Counter |
Incremented when the feature stores call information data in cassandra |
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 |
Behaviour
The SCCCamelToIMSReOriginationIN
feature is triggered with an InitialDP
.
If the call type is not Mobile Originating or Mobile Terminating, the feature finishes execution without modifying any state.
The feature checks if the InitialDP
is a CAMEL InitialDP
.
If not, it finishes executing without modifying any state.
The SCCCamelToIMSReOriginationIN
feature checks network configuration, and if not present it informs Sentinel that it failed to execute, with an invalid configuration cause.
SCCCamelToIMSReOriginationIN
then finishes execution.
Once configuration is loaded, The SCCCamelToIMSReOriginationIN
feature attempts to reoriginate the call (forward the call into the IMS).
If BypassTermReorIfNotRegistered
= True
, the feature performs a subscriber lookup in Cassandra using the IMSIDLookupFromCassandraIN feature.
If the subscriber is not registered, or the registration has expired, then the value of AlwaysReoriginateIfRoaming
is checked:
-
If
AlwaysReoriginateIfRoaming
=True
and the subscriber is roaming, then reorigination is attempted. -
If
AlwaysReoriginateIfRoaming
=False
, or if the subscriber is not roaming, then the call is allowed to continue. AContinue
is sent to the MSC, theTCAP
dialog is closed, and the feature exits.
If BypassTermReorIfNotRegistered
= False
, or the subscriber lookup in Cassandra returns a current registration record, then reorigination is attempted.
If both BypassTermReorIfNotRegistered
and AlwaysReoriginateIfRoaming
are true, then reorigination will be bypassed
only if the subscriber is not registered in the IMS, and they are not roaming.
Reoriginating the call
The InitialDP
is checked for the presence of the CalledPartyBCDNumber
parameter.
If CalledPartyBCDNumber
is not present, then the call fails to reoriginate.
The SCCCamelToIMSReOriginationIN
feature uses the Visited Network ID Address List
to check that there is a known Visited Network ID
for the VLR address
present in the InitialDP
location information.
If there is a matching ID, the feature will continue processing as normal.
If there is no matching ID the call fails to reoriginate.
The purpose of checking for a known Visited Network ID is to avoid wasting resources establishing the SIP side of the call, only to have it fail when the SIP reorigination feature is
unable to find a matching Visited Network ID .
|
The SCCCamelToIMSReOriginationIN
feature allocates a correlation ID with the Correlation resource adaptor entity.
The correlation ID is used to form the address to route the call onwards.
The Correlation resource adaptor entity stores both the allocated correlation ID, and the key fields of the InitialDP
argument (call information).
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.
The call information is used in the SCCCamelToIMSReOriginationSIP feature. |
The SCCCamelToIMSReOriginationIN
feature then builds a destination routing address, using the correlation ID, and the network configuration for the address’s Nature
, RoutingToInternalNetworkNumber
, and NumberingPlan
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.
The SCCCamelToIMSReOriginationIN
feature then sends a Connect
operation (using the IMRN in the Destination Routing Address) and closes the TCAP
dialog.
If | Then |
---|---|
there are any problems with any of:
|
the call fails to reoriginate. |
Failure to Reoriginate
By default, if there is any failure trying to reoriginate the call, then the SCCCamelToIMSReOriginationIN
feature sends a ReleaseCall
to the MSC and closes the TCAP
dialog.
For terminating calls, if BypassTermReorIfNotRegistered
is enabled, then the SCCCamelToIMSReOriginationIN
feature instead sends a Continue
to the MSC and closes the TCAP
dialog.
This is because BypassTermReorIfNotRegistered
being enabled indicates that the CS network is able to handle the call, so the feature allows the call continue in CS where it has a chance to succeed, rather than releasing it immediately.