ACR Event Records

The OCSBC supports ACR [Event] records, according to 3GPP TS 32.260. This is in addition to start, stop and interim records. These records reflect a preset type of SIP event. The ACRs are then sent to the CCF.

The OCSBC can create Event ACR messages on REGISTER, local-re-REGISTER and/or Short Message Service (SMS) message requests. A local re-register is when registration caching is enabled and the REGISTER from an currently registered endpoint occurs before half of the registration expiration time. In such cases the OCSBC sends a 200 OK to the re-registering endpoint and does not forward the re-REGISTER to the registrar. A message is an SMS event, on which the OCSBC collects critical RF information.

Event record creation is enabled with the generate-event parameter in the account config. This parameter can be set to register, local-register, message or any combination of all three values. The configured value(s) indicates the type of message that initiates an event ACR message sent to a CCF. Register only prompts the OCSBC to create Event ACRs at a REGISTER. Local-register prompts the OCSBC to create Event ACRs on a re-REGISTER that was replied to by the OCSBC. Message prompts the OCSBC to create EVENT ACRs sending information on SMS traffic within STOP records.

Event messages are created when the OCSBC receives a SIP Final Response 2xx or SIP Final Response (4xx or 5xx), that indicates an unsuccessful REGISTER.

Event ACR messages are also generated to indicate there has been an unsuccessful session attempt. Upon receiving a 4xx, 5xx or 6xx response to a SIP Invite, an Event message is created.

ACR Event Message Construction

An Event ACR is generated according to the tables that describe the AVPs present in the OCSBC’s ACR message. Refer to the checked items in the Event column to see all included AVPs. Note that the Accounting-Record-Type AVP (480) is set to Event_Record (1).

Event-Type AVP

The Event-Type AVP (AVP code 823) is a Grouped AVP and contains information about the type of chargeable telecommunication service/event for which the accounting-request and/or credit control request message(s) is generated.

It is used in an AAR Event record. In this context, refer to the following:

AVP Number Acme # Definition
[ SIP-Method ] 824 173 Contains the name of the SIP Method. Values include REGISTER or MESSAGE (for SMS).

These generate an accounting request to the CCF.

[ Event ] 825 245 Holds the content of the "Event:" header.

This is not present in a REGISTER or re-REGISTER message

[ Expires ] 888 246 Holds the content of the "Expires" header.

Upon a re-REGISTER this value is the time remaining until the endpoint’s registration expires.

The OCSBC generates additional information for SMS and distributes the information within the SIP-Method grouped AVP.

Expires Value

A refresher on the expires value: If the Contacts: header does not contain an expires parameter, the OCSBC adds one with the value in the Expires: header in the 200 OK returned to the UA who sent the INVITE. If there is no Expires: header, the OCSBC adds expires parameter with a value of 3600 and an Expires header with a value of 3600 to the 200 OK.

As the OCSBC forwards the final 200 OK to the initiating endpoint, the Expires (888) AVP contains the largest expires value of all expires parameters in Contact: headers.

When registration caching is enabled and the OCSBC receives a reREGISTER from an endpoint before the halftime of the local registration has expired, the OCSBC inserts the maximum of all associates contacts’ remaing time until expiry in the Expires AVP.

Event ACRs Generated for Unsuccessful Session Attempts

When any of the following responses are received in response to a SIP Invite, an Event ACR message is created to indicate there has been an unsuccessful session attempt:

  • 4xx Request Failure Code — this code is used when the SIP transaction is terminated due to an IMS node receiving a 4xx error response.
  • 5xx Server Failure Code — this code is used when the SIP transaction is terminated due to an IMS node receiving a 5xx error response.
  • 6xx Global Failure Code — this code is used when the SIP transaction is terminated due to an IMS node receiving a 6xx error response.

This example call flow shows how a 5xx server failure results in the sending of an Event ACR.

The 5xx server failure call flows is described above.

Call Flow Example Showing Event ACR Generation Due to 5xx Server Failure

The following call flow example shows two session agents. The first session agent replies with 503, which results in an Event ACR with cause code 503. The second session agent replies with 200OK that causes the sending of a Start ACR. The generate-start parameter is OK.

The two session agents call flow is described above.

Call Flow Example Showing Sending of an Event and Start ACR

This example call flow illustrates the same call flow when generate-start are equal to Invite. In this case, Start, Interim and Stop ACRs are sent. The generate-start parameter is OK.

The generate-start equal to Invite call flow is described above.

Call Flow Example Showing Generation of Event ACRs Due to 5xx Server Failures

This example call flow shows how a session is created and a Start ACR is sent but then a 5xx server failure occurs that results in sending an Interim ACR. The generate-start parameter is Invite.

The 5xx server failure interim ACR call flow is described above.

Call Flow Example Showing Sending of Start and Interim ACRs

This example call flow shows how the SD rejects a call before a session is created. When the enhanced-cdr option is not set, an Event ACR is then sent.

The SD reject call flow is described above.

Call Flow Example Showing Unsuccessful Session Creation and Sending of a Event ACR

Event ACRs Generated for Receipt of SIP Messages

An Event ACR is issued when the following SIP messages are received:

  • 200 OK message for a SIP Register from the IMS core.
  • SIP Final/Redirection Response 3xx
  • SIP Final Response (4xx, 5xx or 6xx) — this indicates an unsuccessful session-unrelated procedure.
  • SIP Final Response (4xx, 5xx or 6xx) — this indicates an unsuccessful SIP session set-up.

This example call flow shows an Event ACR that is created due to the reception of a 3xx SIP message. In this example the call fails after being redirected.

The 3xx SIP message receipt Event ACR is described above.

Event ACR Created Upon Reception of a 3xx Message Followed by Call Failure After Redirect

This example call flow shows an Event ACR that is created due to the reception of a 3xx SIP message. Then it shows a Start ACR upon reception of a 200OK. In this example the call succeeds after being redirected. The generate-start is OK.

The 3XX SIP receipt Start ACR event ACR is described above.

Event ACR Created Upon Reception of a 3xx Message Followed by Call Success After Redirect

This example call flow shows a Start ACR being sent when an Invite is received and an Interim ACR that is created due to the reception of a 3xx SIP message. In this example the call succeeds after being redirected. The generate-start is Invite.

The Start ACR Interim ACR call flow is described above.

Event ACRs for SMS

The OCSBC generates call data event records with information for SMS that differs somewhat from that of calls. You configure the OCSBC to generate ACRs for SMS using the same procedures you use for calls, which then treats the SMS messages as events, similar to call data during registrations.

End stations send SMS messages using a SIP MESSAGE (content-type=application/vnd.3gpp.sms) with a GSM-SMS body. The OCSBC complies with 3GPP specifications 23.040 (Technical realization of the Short Message Service (SMS) and 24.011 Point-to-Point (PP) Short Message Service (SMS) support on mobile radio interface) with respect to message format. The OCSBC parses message information for AVP data during message processing and ultimately provides ACRs to the CCF using the Rf interface.

SMS processing that includes ACR generation includes a separate timer, the sms-report-timeout within the sip-config, for SMS accounting. If the OCSBC does not receive a delivery report /submit report within this timer's value, it discards all accounting for that message. The diagrams below present the start and stop locations of this timer within the context of overall ACR generation.

The call flow diagram below illustrates the OCSBC, as P-CSCF, gathering data for the SMS report during a message originating scenario. The OCSBC ultimately issues the ACR after the message delivery is complete.

This call flow illustrates the OCSBC, as P-CSCF, gathering data for the SMS report during a message originating scenario.

The call flow diagram below illustrates the OCSBC, as P-CSCF, gathering data for the SMS report during a message terminating scenario.

This call flow diagram illustrates the OCSBC, as P-CSCF, gathering data for the SMS report during a message terminating scenario.

VoLTE Call and SMS AVPs for Diameter

The OCSBC issues custom AVPs that capture VoLTE and SMS information within ACRs. These are in addition to the common AVPs for all traffic. The process for VoLTE calls is the same as all other calls. For SMS, the process is different given that the message is an event, and the data recorded on the message equates to what is recorded for a call session.

The table below identifies AVPs specific to VoLTE and SMS traffic.

AVP ACME Diameter Attribute Start Interim Stop Event = MESSAGE AVP Type
Pgw-IP 95 Y Y Y N UTF8String
Sgw-IP 96 Y Y Y N UTF8String
IMEI 97 Y Y Y Y UTF8String
IMSI 98 Y Y Y Y UTF8String
History-Info 99 Y Y Y N UTF8String
Sms-Msg-Type 100 N N N Y UTF8String
Sms-called party-Number 101 N N N Y UTF8String
Sms-calling party-Number 102 N N N Y UTF8String
Sms-Msg-Length 103 N N N Y Unsigned32

Diameter AVPs for VoLTE Calls

The OCSBC sends an ACR to the PCRF for call accounting with the following VoLTE-specific AVPs. The table shows all mandatory and optional AVP's. If there is data, the OCSBC includes Optional AVPs. If not the OCSBC does not include them.

AVP Name AVP Code Is grouped ? Group hierarchy Type
Access-Network-Information 1263 Yes

[ACR] | [Service-Information] | [IMS Information] | [Access-Network-Information ]

String
IMS-Visited-Network-Identifier 2713 Yes

[ACR] | [Service-Information] | [IMS Information] | [IMS-Visited-Network-Identifier]

String
Originating-IOI 839 Yes

[ACR] | [Service-Information] | [IMS Information] | [Inter-Operator-Identifier] | [Originating-IOI]

String
Terminating-IOI 840 Yes

[ACR] | [Service-Information] | [IMS Information] | [Inter-Operator-Identifier] | [Terminating-IOI]

String

In addition, the OCSBC sends the following fields as custom AVP's in the ACR.

IMSI 98 UTF8String
IMEI 97 UTF8String
History-Info 99 UTF8String
PGW-IP Address 95 UTF8String
SGW-IP Address 96 UTF8String

Diameter AVPs for SMS Messages

The OCSBC sends an ACR to the PCRF for MESSAGE accounting with the following SMS-specific AVPs. The table shows all mandatory and optional AVP's. If there is data, the OCSBC includes Optional AVPs. If not the OCSBC does not include them.

AVP Name AVP Code Is grouped ? Group hierarchy Type
Session ID 263 No String
Origin Host 264 No String
Origin Realm 296 No String
Destination Realm 283 No String
Origin State ID 278 No Unsigned Int
Accounting record Type 480 No Enum
Accounting-Record-Number 485 No Unsigned Int
Accounting App ID 259 No Unsigned Int
Event Timestamp 55 No Time
Service Context ID 461 No String
Subscription-Id-Type 450 Yes

[ACR] | [Service-Information] | [Subcription ID] | [Subscription-Id-Type]

Enum
SIP-Method 824 Yes

[ACR] | [Service-Information] | [IMS Information] | [Event-Type ] | [SIP-Method]

String
Role-Of-Node 829 Yes

[ACR] | [Service-Information] | [IMS Information] | [Role-Of-Node]

Enum
Node Functionality 862 Yes

[ACR] | [Service-Information] | [IMS Information] | [Node Functionality]

Enum
SIP-Request-Timestamp 834 Yes

[ACR] | [Service-Information] | [IMS Information] | [Timestamp ] | [SIP-Request-Timestamp]

Time
SIP-Response-Timestamp 835 Yes

[ACR] | [Service-Information] | [IMS Information] | [Timestamp ] | [SIP-Response-Timestamp]

Time
SIP-Request-Timestamp-Fraction 2301 Yes

[ACR] | [Service-Information] | [IMS Information] | [Timestamp ] | [SIP-Request-Timestamp- Fraction]

Unsigned Int
SIP-Response-Timestamp-Fraction 2302 Yes

[ACR] | [Service-Information] | [IMS Information] | [Timestamp ] | [SIP-Response-Timestamp-Fraction]

Unsigned Int
Access-Network-Information 1263 Yes

[ACR] | [Service-Information] | [IMS Information] | [Access-Network-Information ]

String
IMS-Visited-Network-Identifier 2713 Yes

[ACR] | [Service-Information] | [IMS Information] | [IMS-Visited-Network-Identifier]

String
Originating-IOI 839 Yes

[ACR] | [Service-Information] | [IMS Information] | [Inter-Operator-Identifier] | [Originating-IOI]

String
Terminating-IOI 840 Yes

[ACR] | [Service-Information] | [IMS Information] | [Inter-Operator-Identifier] | [Terminating-IOI]

String

In addition, the OCSBC sends the following fields as custom AVP's in the ACR.

IMSI 98 UTF8String
IMEI 97 UTF8String
SMS MSG Type 100 UTF8String
SMS Calling party number 102 UTF8String
SMS Called party number 101 UTF8String
Message Length 103 Unsigned32

Distinct VoLTE Processes

For VoLTE calls, the process for generating CDRs is the largely the same as for other calls. As described, there are additional data points included for these call types.

In addition, the list below presents additional processes reserved for VoLTE data management with which you should be familiar:

  • When there is an SRVCC event, the OCSBC creates a separate set of CDRs for the handover session. The OCSBC correlates the original and handover session using the "Generic-ID" field, which points to the Call-ID of the initial session. In addition, the OCSBC populates the Generic-ID field within the Initial Session CDRs (STOP), with the HO session Call-ID.
  • The OCSBC copies the Call id of the second INVITE (Handover INVITE) into the Generic Id into the CDR for the first INVITE (initial call) for both MO and MT call
    • For mobile originating call—When the OCSBC receives the 200 Ok for the BYE from UE, it inserts the Call id of second INVITE, which is generated from the MSC-S as Generic Id, into the CDR of First MO Invite (Before the handover call).
    • For mobile terminating call—When the OCSBC receives the 200 Ok for the BYE from UE, it inserts the Call id of the second INVITE, which is generated from the MSC-S as Generic Id, into the CDR of the first MT INVITE (before the handover call).
    • If there is a negative case, such as a BYE timeout, the OCSBC writes the Call id of second INVITE, which is generated from the MSC-S as the Generic Id, into the CDR of the first INVITE (before the handover call) when that corresponding call gets terminated.

Note:

The OCSBC performs these same processes for both RADIUS accounting when generating CDRs and Diameter accounting when generating ACRs.
Configurations to Specify VoLTE and SMS Data

You can configure the OCSBC to use specific data in call data records provided over RADIUS, Diameter and within local CSVs. This ensures that the specified fields

There are two configurations available for specifying VoLTE and SMS data:

  • Subscribe to IP-CAN-CHANGE events
  • Specify Inter-Operator Identifier (IOI)

Subscribe to IP-CAN-CHANGE Events

You can configure a subscription to the IP-CAN-CHANGE event using the Rx interface during the AAA/RAR exchange. To do this, you configure the ip-can-change value to the specific-action-subscription of the applicable ext-policy-config. This causes the OCSBC to apply the value in the AN-GW-Address AVP from the PCRF as the S-GW IP address.

Note:

If the OCSBC receives more than one AN-GW-Address AVP from the PCRF, it applies the value in the AN-GW-Address AVP from the PCRF. It also uses the S-GW IP address the first AVP as the S-GW IP address.

Option to Specify IOI

You configure the realm-as-ioi option in the applicable account-config to send the realm name as the IOI in diameter ACRs. If this option is not set, the OCSBC uses the IOI from the charging vector.

Configure this option using the syntax below.

ORACLE(account-config)# options +realm-as-ioi

If you type options and then the option value without the plus sign, you overwrite any previously configured options. To add a new option to an options list, pre-pend the new option with a plus sign as shown in the previous example.

Configuring the ip-can-change Subscription

You use the steps below to Subscribe to IP-CAN-CHANGE events at the PCRF and apply the value in the AN-GW-Address AVP from the PCRF as the S-GW IP address.

To obtain the S-GW IP address for mobile originating and terminating scenarios and provide that data in CDRs for RADIUS, diameter and local CSVs:
  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type media-manager and press Enter.
    ORACLE(configure)# media-manager
  3. Type ext-policy-config and press Enter.
    ORACLE(session-router)# ext-policy-config
    ORACLE(ext-policy-config)#
  4. Type specific-action-subscription, ip-can-change and press Enter.
    ORACLE(session-router)# specific-action-subscription ip-can-change
    ORACLE(ext-policy-config)#
    The specific-action-subscription accepts multiple values. When configuring 2 or more specific actions, enclose them in quotation marks, with the values separated by spaces.
  5. Save your work.

Event Local CSV File

This feature also creates an Event CSV file when the generate-event parameter is enabled. The following table describes the inclusive CSV element order:

CSV Placement Attribute Name AVP Number
1 Record Type 480
2 NAS IP Address  
3 NAS Port 16
4 Calling Station ID  
5 Called Station ID  
6 Diameter Session ID 263
7 SIP Method 824
8 Event Time 55
9 User Name 1
10 Node Function 862
11 Application ID 259
12 Role Node 829
13 Event 825
14 Expires 888
15 Associated URI 856
16 Cause Code 861
17 CDR Sequence Number  
18 Origin Realm 296
19 Origin Host 264
20 Destination Realm 283
21 Destination Host  

The OCSBC generates a different CSV for message events, triggered by SMS traffic. This layout is presented in Appendix B.