This feature constructs IMS-Information AVPs that record leg-specific information about the call, for use in CDRs and Diameter Ro Credit-Control-Requests.

The feature name is DiameterPerLegInfo, as it is based on 3GPP TS 32.299 v12.11.0 (vcb0).

Description

Feature script name

DiameterPerLegInfo

Applicable contexts

SIP service

Prerequisite features

DetermineCauseCode, DetermineCallType, StoreHeaderInfo, RecordTimestamps

Feature execution points

All

Session state inputs and outputs

Inputs

Name Type Purpose

PerLegInitialRequestTimeMillis

Map<String, Long>

Holds the time when the initial INVITE request was seen on each leg. Used for the SIP-Request-Timestamp AVP in the Time-Stamps AVP. Set by the RecordTimestamps feature.

PerLegFinalResponseTimeMillis

long

Holds the time when the initial INVITE final response arrived on each leg. Used for the SIP-Response-Timestamp AVP in the Time-Stamps AVP. Set by the RecordTimestamps feature.

ChargingIdentifier

String

Used for the 3GPP-Charging-Id or Access-Network-Charging-Identifier-Value AVPs. Set by the StoreHeaderInfo feature.

Outputs

Name Type Description

ImsInformation

org.jainslee.resources.diameter.ro.types.vcb0.ImsInformation

The IMS-Information AVP that will be written to a CDR, or sent in a Credit-Control-Request. This AVP is defined in 3GPP TS 32.299 v12.11.0 ยง7.2.77.

PerLegEventType

Map<String, org.jainslee.resources.diameter.ro.types.vcb0.EventType>

The table of leg names mapped to their corresponding Event-Type AVP data

PerLegEarlyMediaDescription

Map<String, org.jainslee.resources.diameter.ro.types.vcb0.EarlyMediaDescription>

The table of leg names mapped to their corresponding Early-Media-Description AVP data

PerLegSdpMediaComponents

Map<String, org.jainslee.resources.diameter.ro.types.vcb0.SdpMediaComponent>

The table of leg names mapped to their corresponding SDP-Media-Component AVP data

PerLegTimeStamps

Map<String, org.jainslee.resources.diameter.ro.types.vcb0.TimeStamps>

The table of leg names mapped to their corresponding Time-Stamps AVP data

PerLegCallingPartyAddress

MultiMap<String, String>

The table of leg names mapped to their corresponding Calling-Party-Address AVP data, of which there may be several per leg

PerLegCalledPartyAddress

MultiMap<String, String>

The table of leg names mapped to their corresponding Called-Party-Address AVP data, of which there may be several per leg

PerLegCarrierSelectRoutingInformation

Map<String, String>

The table of leg names mapped to their corresponding Carrier-Select-Routing-Information AVP data

PerLegRequestedPartyAddress

Map<String, String>

The table of leg names mapped to their corresponding Requested-Party-Address AVP data

PerLegInitialCallingPartyRequestURIString

Map<String, String>

The table of leg names mapped to IntialCallingPartyRequestURI - used for the Requested-Party-Address AVP. Obtained from the incoming Request-URI.

Behaviour

The DiameterPerLegInfo feature populates the Diameter Ro IMS-Information AVPs with information about the call which is specific to each leg. Information about the call as a whole is populated by the Diameter Service Info feature. The information is gathered on a per-leg basis where it is specific to a given SIP leg. Such values are recorded into session state maps keyed by leg name. The feature needs to be run in two separate modes at different phases of each execution point. The inbound mode should be invoked in the SIP system pre scripts to process the incoming trigger leg, while the outbound mode should be invoked in the post scripts to monitor outgoing messages on all SIP legs. The feature stores the IMS-Information AVPs in session state, and updates it at various feature execution points when other features have run. The resulting AVPs are used by the AVP CDR Feature feature when writing a CDR. The AVPs are also sent in Credit-Control-Requests to the OCS.

Previous page Next page
Sentinel Express Version 2.7.0