DSG-SCP EDRs

Introduction

The The DSG-SCP (Diameter Signalling Gateway - SCP) implements the Diameter interaction and service logic component of a CAMEL/Diameter interworking function.

It is built on top of the ScpApp base class, and generates the base SCP EDRs.

In addition, the N2DSG-SCP logs the service logic events associated with the Diameter messaging that it performs. These DSG EDRs are written to the same EDR stream as the SCP EDRs, and will be interleaved with them in the EDR files.

The DSG-SCP creates EDRs for the following Event Types:

Common Format

The configuration parameters for configuring EDR output including filename structure and location is defined in the configuration documentation for the EdrApp which is a base component provided by the n2svcd package.

All DSG EDRs are generated by the EdrApp application using its file and record formatting rules.

Refer to the n2svcd base documentation for more details on configuring and managing EDR streams, and on the syntax/encoding details for N-Squared EDRs.

DIAMETER / DIAMETER-R / DIAMETER-A Event Type EDRs

The DIAMETER EDR Event represents a single Diameter Credit-Control-Request message and its associated Credit-Control-Answer response message , if any. DIAMETER EDRs are only produced if the DSG-SCP application parameter diameter_split_edrs is set to produce combined EDRs.

If the application is configured to produce split Diameter EDRs, Diameter Credit-Control-Request messages will instead produce a DIAMETER-R EDR and Diameter Credit-Control-Answer messages - or the failure to receive a message - will produce a DIAMETER-A EDR. DIAMETER EDRs contain all fields from DIAMETER-R and DIAMETER-A EDRs.

In all cases, other SCP EDRs will be associated with Diameter EDRs containing additional information.

Attribute Type In DIAMETER-R In DIAMETER-A Description
DIAMETER_SID String Yes Yes [Always Present] The generated Diameter Session-Id value for this call.
RECEIVED Integer No Yes Set to 0 if no response was received from the OCS, otherwise not present.
MSISDN String Yes No The Subscription-IdSubscription-Id-Data value sent to the OCS when DSG-SCP is configured to send the received MSISDN.
IMSI String Yes No The Subscription-IdSubscription-Id-Data value sent to the OCS when DSG-SCP is configured to send the received IMSI.
REQ_NUM Integer Yes Yes [Always Present] The Diameter CC-Request-Number value.
REQ_TYPE Integer Yes Yes [Always Present] The Diameter CC-Request-Type value. One of 1 (INITIAL_REQUEST), 2 (UPDATE_REQUEST), or 3 (TERMINATE_REQUEST).
RC_ROOT Integer No Yes [Always Present] The root-level Result-Code used to determine the action to apply.
RC_ORIG_ROOT Integer No Yes The root-level Result-Code returned from the OCS. Only present if the Result-Code returned from the OCS was overridden as part of Result-Code rule processing.
RC_MSCC Integer No Yes The Multiple-Services-Credit-ControlResult-Code used to determine the action to apply, if any.
RC_ORIG_ROOT Integer No Yes The Multiple-Services-Credit-ControlResult-Code returned from the OCS. Only present if the Multiple-Services-Credit-ControlResult-Code returned from the OCS was overridden as part of Result-Code rule processing.
ACTION Integer No Yes [Always Present] The Result-Code rule action selected based on the OCS response. Note that this may contain alternate values in some cases:
  • close_root - the Diameter Multiple-Services-Credit-ControlResult-Code for the previous request indicated that the rating sub-session was closed, but the root Result-Code kept the session open. In such cases, the root session will be closed via this action with no rating information given.
  • close_all - the OCS indicated a successful rating response prior to termination, but did not provide any units to use. In such cases, both the root session and the Multiple-Services-Credit-Control sub-session, if any, are closed with no further usage.
NOTF String No Yes The notification message name sent, if any, according to the Result-Code rule applied.
TOTAL Integer Yes No The total time reported used (in seconds) by the network for the call, if any.
SI Integer Yes No The Service-Identifier value sent to the OCS for this request, if any.
RG Integer Yes No The Rating-Group value sent to the OCS for this request, if any.
SCID String Yes No The Service-Context-Id value sent to the OCS for this request, if any.
RSU Integer Yes No The Requested-Service-Units> → CC-Time value sent to the OCS for this request, if any.
USU Integer Yes No The Used-Service-Units> → CC-Time value sent to the OCS for this request, if any.
GSU Integer No Yes The Granted-Service-Units> → CC-Time value returned from the OCS for this request, if any.
BF Integer No Yes Set to 1 if the Result-Code rule indicates is_bf, otherwise not present.
FINAL Integer No Yes Set to 1 if the OCS returned a Final-Unit-Indication, otherwise not present.
TONE Integer No Yes Set according to the tone value of the matched tone rule, if any.
FCI String No Yes The FCI message name sent, if any.
SCI String No Yes The SCI message name sent, if any.
(tags) (various) Conditional Yes The name and value for each tag that has had a value assigned to it for this call instance. Note that tags that have their value set by the billing engine via AVP reading are suppressed in DIAMETER-R EDRs, although their value is still taken into account when building the request, i.e. when applying selector rules and specifying tags as part of the condition.

GRACE Event Type EDRs

The GRACE EDR Event provides information on time granted for a call outside the control of the OCS. Such EDRs are produced when the Result-Code rule action, billing bypass rule action, or CUG action used is continue_period, and they record the amount of unrated time that the call used. In all cases, either a DIAMETER EDR or BYPASS EDR will be produced, as appropriate, as well as other SCP EDRs that are associated with this instance containing additional information. These EDRs provide sufficient information to allow calls to be post-rated on the OCS, if required.

Attribute Type Description
MSISDN String The Subscription-IdSubscription-Id-Data value originally sent to the OCS when DSG-SCP is configured to send the received MSISDN.
IMSI String The Subscription-IdSubscription-Id-Data value originally sent to the OCS when DSG-SCP is configured to send the received IMSI.
ACTION Integer [Always Present] The triggering Result-Code rule action or CUG action applied.
TOTAL Integer [Always Present] The total time reported used (in seconds) by the network for the call, if any. This includes the grace grant.
SI Integer The Service-Identifier value originally sent to the OCS for this request, if any.
RG Integer The Rating-Group value originally sent to the OCS for this request, if any.
SCID String The Service-Context-Id value originally sent to the OCS for this request, if any.
USU Integer The Used-Service-Units> → CC-Time value that would have been sent to the OCS for the grace grant, i.e. the used time.
GSU Integer The number of seconds given for the grace grant.
(tags) (various) The name and value for each tag that has had a value assigned to it for this call instance.

EXTERNAL Event Type EDRs

EXTERNAL EDRs are created for each external processing action that a call receives.

Attribute Type Description
ACTION String [Always Present] The external process action applied.
SUCCEEDED Boolean [Always Present] 1 if the action succeeded, otherwise 0.
ERROR String If SUCCEEDED is 0, freeform text indicating the failure.
MSISDN String As for the DIAMETER EDR MSISDN field.
IMSI String As for the DIAMETER EDR IMSI field.
(tags) (various) As for the DIAMETER EDR.

Some external actions (e.g. CUG processing) may write additional EDRs as part of their action processing.

BYPASS Event Type EDRs

BYPASS EDRs are created when a received call matches a billing bypass rule.

Attribute Type Description
ACTION String [Always Present] The billing bypass rule action applied.
MSISDN String As for the DIAMETER EDR MSISDN field.
IMSI String As for the DIAMETER EDR IMSI field.
NOTF String The notification message name sent, if any, according to the billing bypass rule applied.
(tags) (various) As for the DIAMETER EDR.

PROBLEM Event Type EDRs

The DSG-SCP creates PROBLEM EDRs when issues are encountered during processing. These EDRs extend the format for SCP PROBLEM EDRs.

Attribute Type Description
TYPE String [Always Present] A simple keyword defining the category of the problem.
ERROR String [Always Present] Description of the error.
ACTION String [Always Present] The error handling rule action applied for the error.
MSISDN String As for the DIAMETER EDR MSISDN field.
IMSI String As for the DIAMETER EDR IMSI field.
NOTF String The notification message name sent, if any, according to the error handling rule applied.
FCI String The FCI message name sent, if any.
SCI String The SCI message name sent, if any.
(tags) (various) As for the DIAMETER EDR.

CUG Event Type EDRs

The DSG-SCP creates CUG EDRs when a CUG query is successfully performed as part of external action processing.

Note that if no CUG user was found, no fields will be included for CUG matches or CUG lists.

Attribute Type Description
USER Boolean [Always Present] 1 if a CUG user was found, otherwise 0.
U_IN String [Always Present] The input value for the user in the CUG lookup.
USCA Boolean [Always Present] 1 if the CUG user lookup allowed a match to be made on short codes, otherwise 0.
M_IN String [Always Present] The input value for the match in the CUG lookup.
MSCA Boolean [Always Present] 1 if the CUG match lookup allowed a match to be made on short code, otherwise 0.
ACTION String [Always Present] The CUG rule action applied.
MSISDN String As for the DIAMETER EDR MSISDN field.
IMSI String As for the DIAMETER EDR IMSI field.
U_NUM String The user number found in the CUG lookup. Note that this may be different to the match number initially provided for the CUG query.
G_ID Integer The database ID of the CUG group for the CUG user.
GROUP String The name of the CUG user’s CUG group
U_ID Integer The database ID of the CUG user.
U_SHORT String The short code of the CUG user.
U_LONG String The long number of the CUG user.
U_LN Boolean 1 if the CUG user was found by long number, otherwise 0.
U_PREF Boolean 1 if the CUG user was found by prefix, otherwise 0.
U_RANGE Integer The range size of the CUG user.
U_ORIG_ON Boolean 1 if the CUG user is allowed to make calls within the CUG group, otherwise 0.
U_ORIG_OFF Boolean 1 if the CUG user is allowed to make calls outside the CUG group, otherwise 0.
U_TERM_ON Boolean 1 if the CUG user is allowed to receive calls from within the CUG group, otherwise 0.
U_TERM_OFF Boolean 1 if the CUG user is allowed to receive calls from outside the CUG group, otherwise 0.
MATCH Boolean 1 if a CUG match was found, otherwise 0.
M_ID Integer The database ID of the CUG match user.
M_SHORT String The short code of the CUG match user.
M_LONG String The long number of the CUG match user.
M_LN Boolean 1 if the match was made against long number, otherwise 0.
M_PREF Boolean 1 if the match was made by prefix, otherwise 0.
M_RANGE Integer The range size of the CUG match user.
M_VIRTUAL Boolean 1 if the CUG match user is virtual, otherwise 0.
M_SC_DISP Boolean 1 if the caller shortcode was sent for presentation in the Connect messages, otherwise 0.
LIST Boolean 1 if a match was made to a blacklist or a whitelist, otherwise 0.
L_DENY Boolean 1 if the applicable list disallowed the call, otherwise 0.
L_ID Integer The database ID of the applicable list entry number.
L_NUM String The match number found in the list lookup. Note that this may be different to the match number initially provided for the CUG query.
L_WHITE Boolean 1 if the applicable list is a whitelist, otherwise 0.
L_PREF Boolean 1 if the applicable list match was made by prefix, otherwise 0.
(tags) (various) As for the DIAMETER EDR.

For further information on CUG concepts, refer to the CUG functionality overview.