Introduction
This Technical Guide describes the installation and configuration of the components included in the N-Squared Interworking Function (N2IWF) platform.
This package adds IWF runtime functionality to N2SVCD LogicApp implementations to function as an out-of-the-box Diameter signalling gateway with additional enrichment features. It does not provide any applications of its own.
The N2IWF Application is responsible for handling CAMEL, INAP, or SIP charged session control under the direction of a Diameter-capable Online Charging Server (OCS). For interaction with the telephony network, various applications in the N2SVCD, N2SCP, and/or N2SIP frameworks are used.
Refer to the appropriate documentation for general principles regarding these base components. The N2IWF documentation only describes its own delivered additional components.
N2IWF Packages
The N2IWF is delivered in a single package, n2iwf-svc
, that provides run-time session handling.
Refer to the installation instructions for the details of this package.
State Model
The N2IWF supports a complex state model for received traffic:
Under this model:
- The N2IWF configuration is loaded. The first invocation of the N2IWF will cause this to be read and parsed, storing it for future sessions to use.
- Initialise the N2IWF state and service context.
- Initialise the relevant protocol handler to read the input context and populate the service context.
- Populate any defined N2SVCD rule engine variables.
- Perform any configured external actions and record their results.
- Populate any mutable variable values again in case any refer to information only available after external actions.
- Check if pre-rating applies and continue only if configured to do so.
- Construct initial Diameter request and send it to the OCS.
- Parse the initial Diameter response from the OCS.
- Determine the appropriate Result-Code action rule that matches the response received.
- Apply the action rule determined using the .
- For the SCUR charging model, wait for any interim messaging and send/receive interim Diameter request/response messages as required, using the N2SVCD rule engine to find the appropriate action rule that matches the response received and asking the protocol handler to apply it.
- For the ECUR and SCUR charging models, wait for any final messaging and send/receive interim Diameter request/response messages as required to close the OCS session and asking the protocol handler to close the interaction.
- Check if post-rating handling applies and perform any core or protocol-specific actions accordingly as per section 4.5.5.9: Post-Rating. If no follow-on is configured, the protocol handler will close the interaction.
- If an error occurs at any time, perform configured actions accordingly as per section 4.5.5.3: Error Handling.
At various points, custom Lua hooks may can be used for bespoke functional requirements.