# Traffic Performance Optimization Configuration

This chapter describes how to configure Traffic Performance Optimization in-line service.

The following topics are covered in this chapter:

- Before You Begin
- Configuring TPO
- Verifying Your Configuration

Before You Begin

Before you can configure the TPO in-line service:

1. Configure the core network service as described in corresponding administration guide.
2. Configure the active charging service, rule definitions, charging action(s), and rulebase(s) as required. For information refer to the Enhanced Charging Service Administration Guide.

Configuring TPO

This section lists the high-level steps to configure the TPO in-line service.

1. Create and configure TPO profiles as described in the Creating and Configuring TPO Profiles section.
2. Create and configure TPO policies as described in the Creating and Configuring TPO Policies section.
3. Associate TPO policies to subscribers/APNs as described in the Applying TPO Policies to SubscribersAPNs section.
4. Save your configuration to flash memory, an external memory device, and/or a network location using the Exec mode command save configuration. For additional information on how to verify and save configuration files, refer to the System Administration Guide and the Command Line Interface Reference.

IMPORTANT:

Commands used in the configuration examples in this section provide base functionality to the extent that the most common or likely commands and/or keyword options are presented. In many cases, other optional commands and/or keyword options are available. Refer to the Command Line Interface Reference for complete information regarding all commands.

Creating and Configuring TPO Profiles

This section describes how to create and configure TPO profiles.

Creating TPO Profiles

To create a TPO profile use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          tpo
    profile <tpo_profile_name> [ -noconfirm ]

          end

Notes:

- A maximum of 2048 TPO profiles can be configured in the system.

Configuring TPO Profiles

To configure a TPO profile use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          tpo
    profile <tpo_profile_name>

    #configurations
    for HTTP optimizations:

             http
    ad-filter display { no-text | text-only <text_only_string> | text-with-click <text_with_click_string> }

             http
    params ad-filter display bgcolor <hex_color>

             http compression

             http
    params compression level <compression_level>

             http
    optimize-compressed-page

             http
    prevent-server-compression

             http
    params url-rewrite prefix <url_rewrite_prefix>

             http
    url-rewrite

    #configurations
    for TCP optimizations:

             tcp
    bandwidth { <bandwidth_kbps> | dynamic }

             tcp
    buffer-size { downlink | uplink } <buffer_size_kb>

             tcp
    congestion-control { basic | vegas | westwood-plus }

             tcp
    fast-retransmit-dupacks { <duplicate_acks> | dynamic }

             tcp
    handoff-optimization

             tcp
    initial-window { <initial_window> | dynamic
    bdp-percent <bdp_percent> | rfc5681 }

             tcp
    mss <mss>

             tcp
    rto { retrans-backoff { 1.0 | 1.5 | 2.0 } | rttvar-scaling <scaling_factor> }

             end

Notes:

- If you enable the URL Rewrite feature using the http url-rewrite command, make sure that a valid DNS client is configured in the destination context as described in the Configuring DNS Client for URL Rewrite Feature section.
- If for the Advertisement Blocking feature you configure the http ad-filter display { no-text | text-only <text_only_string> | text-with-click <text_with_click_string> } command, make sure that in the TPO policy, the match-ad and ad-filter commands are configured.
- The http prevent-server-compression command must only be configured if you want TPO to receive only uncompressed data from the Web server.

Configuring DNS Client for URL Rewrite Feature

To configure DNS client in ISP (destination) context for the HTTP URL Rewrite feature, use the following configuration:

    configure

       context <context_name>

          interface <interface_name>

             ip
    address <ip_address/mask>

             exit

          ip
    domain-lookup

          ip
    name-servers <ip_address>

          dns-client <dns_client_name>

             bind
    address <ip_address>

             round-robin-answers

             end

Creating and Configuring TPO Policies

This section describes how to create and configure a TPO policy.

Creating TPO Policies

To create a TPO policy use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          tpo
    policy <tpo_policy_name> [ -noconfirm ]

          end

Notes:

- A maximum of 2048 TPO policies can be configured in the system.

Configuring TPO Policies

To configure a TPO policy use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          tpo
    policy <tpo_policy_name>

             match-rule
    priority <rule_priority> tpo-ruledef <tpo_ruledef_name> tpo { none | profile <tpo_profile_name> } [ description <description> ]

             match-rule
    no-ruledef-match tpo { none | profile <tpo_profile_name> }

             match-ad
    priority <rule_priority> tpo-ruledef <ecs_ruledef_name>

             ad-filter
    ad-click-identity <bypass_string>

             end

Note:

- The match-ad and ad-filter commands must be configured if the Advertisement Filter feature is to be enabled.
- If the match-ad command is configured, the ACS ruledef specified must be configured with relevant match conditions. For information on how to create and configure ACS ruledefs, refer to the Enhanced Charging Service Administration Guide.

Configuring TPO Profile in ECS Charging Action

This section describe how to configure a TPO profile within an ECS charging action to enable ECS charging-action based TPO processing.

To configure a TPO profile within an ECS charging action use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          charging-action <charging_action_name>

             tpo
    profile <tpo_profile_name>

             end

Applying TPO Policies to Subscribers/APNs

This section describes how to associate TPO policies with subscribers/APNs.

- Applying TPO Policies to Subscribers
- Applying TPO Policies to APNs

Applying TPO Policies to Subscribers

To associate a TPO policy with subscriber(s) use the following configuration:

    configure

       context <context_name>

          subscriber { default | name <subscriber_name> }

             tpo
    policy <tpo_policy_name>

             end

Applying TPO Policies to APNs

To associate a TPO policy with an APN use the following configuration:

    configure

       context <context_name>

          apn
    name <apn_name>

             tpo
    policy <tpo_policy_name>

             end

Configuring Default TPO Policy for Subscribers

This section describes how to configure the default TPO policy for subscribers using a particular rulebase.

To configure the default TPO policy for subscribers in the rulebase use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          rulebase <rulebase_name>

             tpo
    default-policy <tpo_policy_name>

             end

Notes:

- This TPO policy is used for a subscriber only if no TPO policy to use is received from the AAA/OCS, and there is no TPO policy configured in the subscriber’s APN/subscriber template.

TPO Administration and Other Configurations

This section describes TPO administrative and other procedures.

This section includes the following topics:

- Changing TPO Policy in Mid Session
- DisablingEnabling TPO Optimizations for P2P Flows

Changing TPO Policy in Mid Session

To change the TPO policy in mid session use the following command available in the Exec mode:

    update active-charging
    switch-to-tpo-policy <tpo_policy_name> { all | callid <call_id> | imsi <imsi> | ip-address <ip_address> | msid <msid> | tpo-policy <tpo_policy_name> | username <user_name> } [ -noconfirm ] [ | { grep <grep_options> | more } ]

Notes:

- The switch-to-tpo-policy tpo_policy_name option specifies the new TPO policy to apply, and the tpo-policy tpo_policy_name option specifies to apply the new policy to sessions using this TPO policy.
- The CLI indicates the number of sessions for which the policy got switched.
- To be able to change the TPO policy in mid session, TPO must have been enabled for the subscriber in the APN/Subscriber template configuration during call setup.
- The update command takes effect only on current calls. For new calls, the RADIUS returned/APN/subscriber template configured policy is used.

Disabling/Enabling TPO Optimizations for P2P Flows

To disable/continue TPO optimizations when a peer-to-peer (P2P) flow is detected use the following configuration:

    configure

       active-charging
    service <ecs_service_name>

          tpo
    profile <tpo_profile_name>

             p2p-detected { cease-tpo | continue-tpo }

             end

Notes:

- In this release, only TPO TCP optimizations are disabled. Disabling HTTP optimizations will be supported in a future release.
- When TPO profiles are switched, if P2P flow is detected, TPO will be ceased/allowed based on the new TPO profile.

Verifying Your Configuration

This section describes how to verify your TPO configurations.

To verify your configurations, use the following steps:

1. To view TPO profile information, in the Exec Mode, enter one of the following commands:
   - To view information for all TPO profiles use the following command:show active-charging tpo profile statistics all
   - To view detailed information for a specific TPO profile use the following command:show active-charging tpo profile statistics name <tpo_profile_name>
2. To view TPO policy information, in the Exec Mode, enter one of the following commands:
   - To view information for all TPO policies use the following command:show active-charging tpo policy statistics all
   - To view detailed information for a specific TPO policy use the following command:show active-charging tpo policy statistics name <tpo_policy_name>
3. In the Exec Mode, enter the following command:show subscribers tpo { not-required | required }+The output of this command displays access information, call ID, MSID, user name, IP address, and idle time information for the specified subscribers — those with TPO enabled and those without.
4. In the Exec Mode, enter the following command:show subscribers fullThe output of this command indicates the TPO policy configured for the subscriber(s).
5. To detect CLI misconfigurations at runtime, in the Exec mode, enter the following command:show configuration errorsThe output of this command displays TPO CLI configuration errors such as the following: TPO policy configured in the APN is not defined. Default TPO policy configured in the rulebase in not defined. Ruledef/group-of-ruledefs used for match-rule/match-ad should be of application type tpo/charging.