Adding NPLI to Interim CDRs

You can configure the Oracle Communications Session Border Controller (OCSBC) with a trigger to generate an INTERIM Call Detail Record (CDR) during applicable originating and terminating Voice over LTE and WiFi call flows when the INVITE egresses the system. This CDR contains Network Provided Location Information (NPLI) information received from the Policy and Charging Rules Function (PCRF) or other source that may be more accurate than network location information presented in the start CDR. When configured, the OCSBC adds this NPLI to RADIUS, DIAMETER, and/or local CSV CDRs.

A typical call flow includes the P-CSCF function retrieving policy information, including NPLI, from the PCRF via DIAMETER. This happens during the authorization/authentication (AAR/AAA) and, with the exception of WiFi, re-authorization request/answer (RAR/RAA) sequences over the Rx interface.

In the following diagram, the OCSBC is performing the P-CSCF function. The timing of these exchanges affects the contents of CDRs, wherein the start record may have 'stale' location information, but an interim record sent after the egress INVITE can include updated location information from the PCRF.

Depicts diameter exchanges to focus on NPLI management and subsequent CDR content.

Having obtained updated NPLI, the OCSBC distributes and/or records NPLI using the following protocol objects:

  • DIAMETER — The system provides NPLI using the Access-Network-Information AVP (code 1263) in the ACR (Rf interface), which is of type OctetString. Per 3GPP TS 32.299, this AVP indicates the SIP P-header, P-Access-Network-Information.
  • RADIUS — The system provides NPLI using the Access-Network-Information VSA in the CDR (code 248) in the Accounting-Request message.
  • Local CSV CDR Files — The system records NPLI using the Access Network Information entry, ACME 248, in Start, Interim, and Stop records.

You configure the OCSBC to produce these interim CDRs using the account-config's generate-interim's parameter. Set this parameter to Egress-Invite.

ORACLE(account-config)# generate-interim Egress-Invite

When the interim CDR is set to Egress-Invite, and all other parameters are at their default, the applicable SIP and DIAMETER signaling call flow would appear similar to the flow shown below. Assuming the PCRF provides NPLI in the authentication exchange, the SIP signaling would include the NPLI in the PANI header in both the interim and stop CDRs.

Depicts call flow with OCSBC including NPLI in PANI Header.

When configured, the system provides NPLI in interim CDRs for the following call types, based on the OCSBC's perspective:

  • VoLTE originating
  • VoLTE terminating
  • VoLTE WiFi originating — RAR is not relevant
  • VoLTE WiFi terminating — RAR is not relevant

Other configuration parameters that can impact this NPLI inclusion behavior include:

  • reserve-incomplete— When enabled, the OCSBC sends an AAR when it receives the SDP offer. This provides an opportunity for the egress-invite ACR to contain the AAA NPLI, assuming it was present in the AAA. When disabled, the OCSBC sends and AAR only after the SDP answer. This means the egress-invite ACR would not contain AAA NPLI, instead using the OCSBC's default-location-string, assuming it is configured.
  • hold-invite-calls-for-loc-info— The hold-invite-calls-for-loc-info attribute, in the sip-config, is the time the systems waits for the RAR, assuming it is greater than 0 and reserve-incomplete is enabled.
  • intermediate-period— If intermediate-period attribute set to > 0, the SBC generate interim CDRs periodically for SIP calls, all of which would include this NPLI.
  • npli-upon-register— If enabled, the OCSBC sends an AAR to the PCRF when it receives REGISTER messages. The OCSBC stores any NPLI received in its registration cache and uses that information for all relevant purposes even if it is stale.
  • cache-loc-info-expire— Specifies the timer (default of 32 seconds) when the OCSBC removes the NPLI from its NPLI cache. The system would not include NPLI in any context until it receives another applicable RAR.
  • hold-invite-calls-for-loc-info— Specifies the wait timer that the system waits for RAR. If this expires, the system inserts the default location string defined in the applicable sip-interface as NPLI in CDRs.
  • hold-invite-calls-for-aaa=wifi— When configured to wifi, the system inserts the NPLI from the AAA, if it is available, in all applicable CDRs. Otherwise, the system uses the default location string defined in the applicable sip-interface.

The system writes a DEBUG level log message in log.sipd when NPLI is inserted into a CDR for debug purpose.

Aug 9 19:25:01.803
[SESSION] (3) GenerateStart: adding NPLI string
3GPP-GERAN;network-provided
Aug 9 19:25:45.525
[SESSION] (3) GenerateInterim: adding NPLI string
3GPP-GERAN;network-provided
Aug 9 19:26:45.267
[SESSION] (3) GenerateStop: adding NPLI string
3GPP-GERAN;network-provided

This configuration does not require a reboot, and is supported by HA deployments.