Response-based TRM

This chapter describes the response-based Transactional Rule Matching (TRM) feature and provides detailed information on the following topics:

Feature Description

The Transactional Rule Matching (TRM) feature is enhanced to support response-based TRM for HTTP protocol. This feature is applicable to all HTTP transactions of a method type for the subscriber, when an HTTP method is configured for response-based TRM. A configurable option is provided to limit the behavior to HTTP methods configured for response-based TRM.

TRM gets engaged on the HTTP request packet and all further packets in the HTTP transaction bypass rule matching. The same rule is matched and charging-action is applied as that of the HTTP request.

With this release, a new variant of TRM is introduced, where engagement of TRM can be delayed till HTTP response is received. When response-based TRM is configured for a subscriber, TRM gets engaged on the first complete HTTP response packet. The same rule and charging action is applied to all further packets in the HTTP transaction.

  • Response-based TRM is supported only for the HTTP protocol. There is no capability to selectively enable response-based TRM for some HTTP transactions of a particular HTTP method type and not to other transactions of the same method for a subscriber.

  • Response-based TRM will support pipelined HTTP requests (both concatenated and non-concatenated). This will also support persistent HTTP connections. For pipelined HTTP requests of different HTTP methods, this feature will be applied only to those HTTP methods for which it is configured.

  • Response-based TRM can be enabled for subscribers classified according to the APN, Virtual-APN, Rulebase, or a combination of these.

  • The transactional-rule-matching response command is added in the ACS Trigger Action configuration mode to delay engagement of TRM for the flow.

  • The show active-charging analyzer statistics name http command displays the count if the feature has been applied to the different HTTP transactions based on HTTP request methods.

The service-scheme framework configuration is required to configure and enable the Response-based Charging feature for a subscriber. This framework is introduced to disassociate the dependency with rulebase/PCRF and update the policies specific to subscribers based on pre-configured events. For more information on the service-scheme framework, see the ECS Administration Guide.

Overview

The response-based TRM feature enables inspection of the HTTP response packets while still deriving the performance benefit of TRM. Based on the content in the HTTP response, free-rating or charging can be applied to all subsequent packets in the HTTP transaction. TRM is engaged on the response packet and rule-match can be bypassed for all subsequent packets in the HTTP transaction.

Relationships to Other Features

This section describes the interoperability of the Response-based TRM feature with other ECS features.

  1. Delay charging of control packets:

    • Charge-to-application option: This option of delay charging of control packets delays rule matching and charging of all TCP control packets or subsets of it, depending on the configuration. This feature will continue to work with response-based TRM in the same way as is with existing TRM.

    • Charge-separate-from-application option: This option to delay charging of control packets delays rule matching and charging of TCP control packets and charges them to an L7/L4/L3 rule at the end of the flow. This feature will continue to work with response-based TRM in the same way as is with existing TRM.

  2. Websocket: This feature involves charging subsequent packets of the flow after HTTP GET request as per the HTTP request, if the HTTP flow is upgraded to be a websocket flow. When Response-based TRM is configured for HTTP GET method, the HTTP response packet is rule matched and rule matching is bypassed for subsequent packets till the end of the flow, if the flow is upgraded to a websocket flow. If flow does not get upgraded to websocket flow, then rule match is bypassed for subsequent packets till the end of the GET transaction.

  3. HTTPS, RTSP, RTCP, WSP analyzers: Response-based TRM is not supported for these analyzers. This is supported only for the HTTP protocol.

  4. Transactional Rule Matching (TRM): The TRM-specific CLI command must be configured at the rulebase level for response-based TRM to be functional. When both TRM and response-based TRM are configured for a subscriber, response-based TRM will take precedence.

  5. Response-based Charging: When Response-based charging is enabled for a subscriber, HTTP request packets will be charged according to the HTTP response packet. Response-based charging will be supported with Response-based TRM.

How It Works

This section describes the Response-based TRM configuration. The Service Scheme framework configuration is required to configure and enable this feature for a subscriber.

Use the sample configuration to enable the response-based TRM feature for a subscriber on a particular rulebase.

configure 
   active-charging service s1 
      trigger-action ta1 
         transactional-rule-matching response http all 
      #exit 
      trigger-condition tc1 
         any-match = TRUE 
      #exit 
      service-scheme ss1 
         trigger sess-setup 
            priority 1 trigger-condition tc1 trigger-action ta1 
         #exit 
      #exit 
      subs-class sc1 
         rulebase = rb1 
      #exit 
      subscriber-base sb1 
         priority 1 subs-class sc1 bind service-scheme ss1 
      #exit 

Notes:

  • The transactional-rule-matching command configured in the rulebase that handles the subscriber for response-based TRM must be functional.

  • If the transactional-rule-matching command is not configured in the rulebase for a subscriber, response-based TRM will not be applicable to the subscriber.

Configuring Response-based TRM

Use the following configuration in the ACS Trigger Action Configuration mode to delay engagement of TRM for the flow.

configure 
   active-charging service service_name 
      trigger-action trigger_action_name 
         [ no ] transactional-rule-matching response http { all | connect | delete | get | head | options | post | put | trace } 
         exit 
  • To disable the feature for the subscriber, configure the following command:

    no transactional-rule-matching response http all

  • The response-based TRM feature applies to the following HTTP methods:
    • all - Applies to all HTTP methods

    • connect - HTTP Connect method

    • delete - HTTP Delete method

    • get - HTTP Get method

    • head - HTTP Head method

    • options - HTTP Options method

    • post - HTTP Post method

    • put - HTTP Put method

    • trace - HTTP Trace method

Verifying the Response-based TRM Configuration

Enter the following command to check if the response-based TRM feature is applied to the different HTTP transactions based on HTTP request methods:

show active-charging analyzer statistics name http

Monitoring and Troubleshooting the Response-based TRM feature

This section provides information on the show commands available to support this feature.

show active-charging analyzer statistics name http

The following fields display the count per HTTP method that has response-based TRM applied.

A sample output is shown below.

Response Based TRM: 
 GET      1    POST   0 
CONNECT   0    PUT    0 
HEAD      0    OPTION 0 
DELETE    0    TRACE  0 
Websocket 0 

show active-charging trigger-action all

The following field displays the specified HTTP method(s) that has response-based TRM applied. This field displays "all" if all HTTP methods are configured and "none" if no HTTP method is configured.

  • HTTP Response Based TRM