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 |
SAS Support |
No |
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 |
PerLegFinalResponseTimeMillis |
long |
Holds the time when the initial INVITE final response arrived on each leg.
Used for the |
ChargingIdentifier |
String |
Used for the |
Outputs
Name | Type | Description |
---|---|---|
ImsInformation |
org.jainslee.resources.diameter.ro.types.vcb0.ImsInformation |
The |
PerLegEventType |
Map<String, org.jainslee.resources.diameter.ro.types.vcb0.EventType> |
The table of leg names mapped to their corresponding |
PerLegEarlyMediaDescription |
Map<String, org.jainslee.resources.diameter.ro.types.vcb0.EarlyMediaDescription> |
The table of leg names mapped to their corresponding |
PerLegSdpMediaComponents |
Map<String, org.jainslee.resources.diameter.ro.types.vcb0.SdpMediaComponent> |
The table of leg names mapped to their corresponding |
PerLegTimeStamps |
Map<String, org.jainslee.resources.diameter.ro.types.vcb0.TimeStamps> |
The table of leg names mapped to their corresponding |
PerLegCallingPartyAddress |
MultiMap<String, String> |
The table of leg names mapped to their corresponding |
PerLegCalledPartyAddress |
MultiMap<String, String> |
The table of leg names mapped to their corresponding |
PerLegCarrierSelectRoutingInformation |
Map<String, String> |
The table of leg names mapped to their corresponding |
PerLegRequestedPartyAddress |
Map<String, String> |
The table of leg names mapped to their corresponding |
PerLegInitialCallingPartyRequestURIString |
Map<String, String> |
The table of leg names mapped to IntialCallingPartyRequestURI - used for the |
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.