N2IWF EDRs
Introduction
The N2IWF logs the service logic events associated with the Diameter messaging that it performs and the actions taken based on that messaging.
The N2IWF creates EDRs for the following Event Types for SIGTRAN IWF functionality:
DIAMETER
/DIAMETER-R
/DIAMETER-A
PROBLEM
PRE
POST
GRACE
EXTERNAL
The N2IWF creates EDRs for the following Event Types for Diameter -> Diameter IWF functionality:
IWF-DIAM-PROXY
PROBLEM
Other N2SVCD applications used as part of controlling network sessions may also produce EDRs as usual, e.g.:
- LhoScpApp EDRs for CAMEL/INAP calls.
- LhoSipApp EDRs for SIP calls.
- InitialDPSMSService EDRs for CAMEL SMS.
- N2CUG EDRs for CUG lookups.
- etc.
All EDR types will be sent to the appropriate configured EDR stream.
EDR Format
The configuration parameters for configuring EDR output including filename structure and location is defined in the N2SVCD EdrApp configuration documentation.
All N2IWF EDRs follow these same file and record formatting definitions.
Diameter Signalling Gateway EDRs
Common EDR Fields
The following fields may be present in all EDRs generated by the IWF when used as a signalling gateway:
Field | SCP | IDPSMS | SIP | Type | Description |
---|---|---|---|---|---|
MSISDN |
Y | Y | Y | String | The subscriber identity sent to the OCS when N2IWF is configured to send the received MSISDN. |
IMSI |
Y | Y | N | String | The subscriber identity sent to the OCS when N2IWF is configured to send the received IMSI. |
URI |
N | N | Y | String | The subscriber identity sent to the OCS when N2IWF is configured to send the received SIP URI. |
TONE |
Y | N | N | Integer | Set according to the tone value of the matched tone rule, if any. |
NOTF |
Y | Y | Y | String | The configured notification name sent for a given action rule match, if any. |
ANN |
Y | N | Y | String | The configured announcement name for CAMEL/INAP or SIP sent for a given action rule match, if any. |
FCI |
Y | N | N | String | The configured FCI name sent for a given action rule match, if any. |
SCI |
Y | N | N | String | The configured SCI name sent for a given action rule match, if any. |
Note that rule engine variables or
read AVPs that have the edr
key specified will be written to all
N2WIF EDR types.
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.
If the application is configured to produce split Diameter EDRs, Diameter Credit-Control-Request messages will produce a DIAMETER-R EDR and Diameter Credit-Control-Answer messages - or the failure to receive a message - will produce a DIAMETER-A EDR. If split EDRs are not enabled, DIAMETER EDRs will instead be produced, containing all fields from DIAMETER-R and DIAMETER-A EDRs.
The following fields are available in DIAMETER / DIAMETER-R / DIAMETER-A EDRs:
Field | Type | In DIAMETER-R | In DIAMETER-A | Description |
---|---|---|---|---|
DSID |
String | Yes | Yes | The generated Diameter Session-Id value for this call. |
REC |
Integer | No | Yes | Set to 0 if no response was received from the OCS, otherwise not present. |
MODEL |
String | Yes | Yes | The charging model in use. |
REQ_A |
Integer | Yes | No | Set to 0 (DIRECT_DEBITING ) for charging or 1 (REFUND_ACCOUNT ) for refunds. Only present when using the IEC charging model |
REQ_N |
Integer | Yes | Yes | The Diameter CC-Request-Number value. |
REQ_T |
Integer | Yes | Yes | The Diameter CC-Request-Type value. One of 1 (INITIAL_REQUEST ), 2 (UPDATE_REQUEST ), or 3 (TERMINATE_REQUEST ). |
RC_R |
Integer | No | Yes | The root-level Result-Code received, if any. |
RC_M |
Integer | No | Yes | The Multiple-Services-Credit-Control → Result-Code received, if any. |
ACTION |
Integer | No | Yes | The Result-Code rule action selected based on the OCS response. |
TOTAL |
Integer | Yes | No | The total time (in seconds) or units used for the network session. |
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. |
RSU |
Integer | Yes | No | The Requested-Service-Units → CC-Time or CC-Service-Specific-Units value sent to the OCS for this request, if any. |
USU |
Integer | Yes | No | The Used-Service-Units → CC-Time or CC-Service-Specific-Units 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 has the is_bf flag set, otherwise not present. |
FINAL |
Integer | No | Yes | Set to 1 if the OCS returned a Final-Unit-Indication, otherwise not present. |
GRACE Event Type EDRs
The GRACE EDR provides information on service granted outside the control of the OCS when the grace
action is selected
during action rule processing. These EDRs provide additional information to allow
post-rating on the OCS, if required.
The following fields are available in GRACE EDRs:
Field | SCP | IDPSMS | SIP | Type | Description |
---|---|---|---|---|---|
TOTAL |
Y | Y | Y | Integer | For SCP calls, the total reported time (in seconds) by the network for the entire call, if any. For SIP, the total measured time (in seconds) by the IWF for the entire call, if any. For IDPSMS, will always be set to 1. In all cases, this includes the grace grant. |
SI |
Y | Y | Y | Integer | The Service-Identifier value that would have been sent to the OCS for this request, if any. |
RG |
Y | Y | Y | Integer | The Rating-Group value that would have been sent to the OCS for this request, if any. |
SCID |
Y | Y | Y | String | The Service-Context-Id value that would have been sent to the OCS for this request. |
USU |
Y | Y | Y | Integer | The used time or unit for the grace grant that would have been sent to the OCS. For SCP and SIP, represents the Used Service Units> → CC Time value. For IDPSMS, represents the Used-Service-Units → CC Service-Specific-Units value. |
GSU |
Y | Y | Y | Integer | For SCP and SIP, the number of seconds given for the grace grant. For IDPSMS, will always be set to 1. |
Note that SI
, RG
, and SCID
will only be present if the grace handling occurs after
rating information is determined.
EXTERNAL Event Type EDRs
EXTERNAL EDRs are created for each external processing action that a session receives.
The following fields are available in external action EDRs:
Field | SCP | IDPSMS | SIP | Type | Description |
---|---|---|---|---|---|
ACTION |
Y | Y | Y | String | The external process action type applied. |
NAME |
Y | Y | Y | String | The external process action name applied. |
MANDATORY |
Y | Y | Y | Boolean | 1 if the action is mandatory, otherwise 0 . |
SUCCEEDED |
Y | Y | Y | Boolean | 1 if the action succeeded, otherwise 0 . |
ERROR |
Y | Y | Y | String | If the action did not succeed, freeform text indicating the failure. |
PRE Event Type EDRs
PRE EDRs are created when a matching a pre-rating rule.
The following fields are available in pre-rating EDRs:
Field | SCP | IDPSMS | SIP | Type | Description |
---|---|---|---|---|---|
ACTION |
Y | Y | Y | String | The pre-rating rule action applied. |
POST Event Type EDRs
POST EDRs are created when a matching a post-rating rule.
The following fields are available in post-rating EDRs:
Field | SCP | IDPSMS | SIP | Type | Description |
---|---|---|---|---|---|
ACTION |
Y | Y | Y | String | The pre-rating rule action applied. |
LOOP |
Y | Y | Y | Integer | The current loop count. Present only when greater than zero. |
LOOPING |
Y | Y | Y | Boolean | Whether looping has been requested in this loop. |
PROBLEM Event Type EDRs
The N2IWF creates PROBLEM
EDRs when issues are encountered during processing.
Field | SCP | IDPSMS | SIP | Type | Description |
---|---|---|---|---|---|
ACTION |
Y | Y | Y | String | The error handling rule action applied. |
CLASS |
Y | Y | Y | String | A simple keyword for the problem category. |
ERROR |
Y | Y | Y | String | Free-form description of the error. |
Diameter-Diameter Interworking EDRs
IWF-DIAM-PROXY Event Type EDRs
The Diameter -> Diameter IWF generates IWF-DIAM-PROXY
EDRs when a Diameter request & response are proxied successfully.
Note that the answer message may have a Result-Code
of failure from the source endpoint.
The following fields are included in these EDRs when a successful IWF proxy event has been completed:
Field | Type | Description |
---|---|---|
SESSION_ID |
String | [Always Present] The value of the Session-Id AVP. |
REQ_NUM |
Integer | [Always Present] The value of the CC-Request-Number AVP. |
REQ_TYPE |
Integer | [Always Present] The value of the CC-Request-Type AVP. |
SCID |
String | [Always Present] The value of the Service-Context-Id AVP. |
MSISDN |
String | If a MSISDN-typed Subscription-Id AVP exists in the message, the MSISDN field will be filled. |
SUBSCRIPTION_ID |
String | If a MSISDN typed Subscription-Id AVP cannot be found in the message, the SUBSCRIPTION_ID field will be filled with the first Subscription-Id-Data AVP field value encountered. |
INBOUND_HOOK |
String | The name of the inbound hook that was executed by the IWF for this proxy event. This hook is the one run for the Request message. |
OUTBOUND_HOOK |
String | The name of the outbound hook that was executed by the IWF for this proxy event. This hook is the one run for the Answer message. |
RC_ROOT |
Integer | [Always Present] The value of the Result-Code AVP when the Answer messages is sent back from proxy to the originator of the Request message. |
TIME_S |
Double | [Always Present] The time, in seconds, between the moment the IWF started processing the Diameter Request message for this event, and the time the IWF sent the Answer message back to the N2SVCD DiameterApp for delivery to the originator of the Request. |
PROBLEM Event Type EDRs
When the Diameter -> Diameter IWF encounters an error in processing the request
or response it is proxying, a PROBLEM
EDR is generated. In addition to the
fields of the success case, PROBLEM
EDRs will include the following EDR
fields. Depending on where in the processing chain the failure occurred, some
of the success EDR fields will not be present.
Field | Type | Description |
---|---|---|
CLASS |
String | [Always Present] Describes in fixed terms the state of the Diameter IWF where the error was encountered. One of: proxy_setup , loop_detection , request_hook , request_response , answer_hook . |
ERROR |
String | [Always Present] A human-readable description of the error that was encountered. |