# Application Detection and Control Configuration

This chapter describes how to configure the Application Detection and Control (ADC) feature.

The following topics are covered in this chapter:

- Configuring Dynamic Software Upgrade
- Configuring System for ADC
- Gathering ADC Statistics
- P2P Reports

Configuring Dynamic Software Upgrade

This section describes how to install and configure the dynamic software upgrade plugin in the ASR 5000.

### How to perform Dynamic Software Upgrade

The procedure for the dynamic software upgrade is as follows.

1. Obtain the patch TAR file from your designated Cisco representative.
2. Copy the patch file into the /flash directory of the ASR 5000 chassis by the TFTP or FTP method using the following command from the Exec mode.

       patch plugin plugin_name filepath certificate filepath

   For example:

       [local]asr5k# patch
       plugin p2p libp2p-1.17.4343.tar

       New patch for plugin p2p
       available for installation

   In the above example, p2p is the plugin name and libp2p-1.17.4343.tar is the plugin file which has to be installed in the running machine.
3. After the file has been copied, install the plugin using the following install plugin command from the Exec mode.

       install plugin plugin_name patch_file_name

   For example:

       [local]asr5k# install
       patch plugin p2p patch_libp2p-1.17.4343.tgz

       Install patch file patch_libp2p-1.17.4343.tgz [Yes/No]

       Install module p2p version
       1.17.4343 successful

   IMPORTANT:

   The plugin will be unpacked into /flash/patch/p2p folder. Ensure that there is enough space in /flash folder before installing a given patch. Use the dir /flash/patch/p2p command to check is the file is installed properly.
4. After the patch has been successfully installed, the patch version must be configured before it can be loaded into the system. To configure the patch before any other version of patch, first check the existing plugin configuration using the following command. This command entered in the Exec mode is used to list the priorities on the configured patches.

       show plugin plugin_name

   For example:

       show plugin p2p

   IMPORTANT:

   The data is read from /flash/module.sys and if it is not available, reads the default priorities from /etc/plugin.conf (read only) and lists the priorities.
5. Configure the plugin using the plugin command from the Global Configuration mode, and enters the Plugin Configuration mode. `plugin plugin_name` `module priority number version module_version` For example:

       [local]asr5k# configure

       [local]asr5k(config)# plugin
       p2p

       [local]asr5k(plugin-p2p)# module
       priority 1 version 1.17.4343

   The plugin name must match the name of the plugin which has been copied to and unpacked on the system or an error message is displayed.

   IMPORTANT:

   The above configuration will be internally stored in /flash/module.sys so that the current configuration survives an ASR5000 reload. Ensure that the file is not deleted by mistake.
6. Enter the following command to update the specified module running in the system. Wait 5-10 seconds for the update to occur on all the PSC cards.

       update module plugin_name

   For example:

       [local]asr5k# update
       module p2p

       Update to module p2p version
       1.17.4343 successful

   When the above command is issued, the priorities configured using module priority command is converted into a Module priority List and then the module with least priority is loaded. If it fails to load, the module with next higher priority is attempted and so on till a successful load occurs.

   IMPORTANT:

   If none of the configured modules load properly, then the system automatically tries to load the default patch that comes along with the currently loaded build.
7. Enter the following command to rollback a running patch version in the system:

       rollback module plugin_name

   For example:

       [local]asr5k# rollback
       module p2p

       Rollback to module p2p
       version 1.17.4340 successful

   When the above command is issued, the system automatically tries to load the patch with next highest priority in the VPL and if that fails, it tries to load the next one and so on.
8. Enter the following command in Exec mode to view the status of the currently running VPL. Ensure that the patch with least priority is loaded. Others will have the “loaded” column displayed as “no”. show module plugin_name For example:

       [local]asr5k# show
       module p2p

       Module p2p

       Priority version loaded
       location time status

       1 1.17.4343 no /var/opt/lib
       07/04/2012:05:06:59 success

       2 1.17.4340 yes /var/opt/lib
       03/06/2012:04:05:53 success

       3 1.17.4335 no /var/opt/lib
       03/05/2012:03:04:35 success

9. Delete older patch files. The operator has to manually delete the older patch files from /flash/patch/<plugin name> directory to save disk space if necessary.
10. For an ICSR setup: If the ASR 5000 system is in ICSR mode (geographical redundancy) then the operator has to repeat the above steps for update/rollback in both the systems individually. If it is not done, then after an SRP switchover the new active ASR 5000 comes up with an outdated plugin priority which can lead to loading an older version of patch for a particular plugin. Using the srp validate-configuration command, check for the same plugin module priority and raise error if it is different across the active-standby pair.

## Configuring System for ADC

This section lists the high-level steps to configuring the system with enhanced charging services for ADC in conjunction with ECS services.

To configure the system for ADC support with ECS:

1. Set initial configuration parameters such as modifying the local context as described in the Initial Configuration section.
2. Enable the Enhanced Charging service with ADC and set basic ECS parameters such as service configuration, Ruledefs, charging actions, and EDRs as described in the ADC Configuration section.
3. 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.

### Initial Configuration

To perform initial system configuration for ADC support with ECS:

1. Enable ACS as described in the Enabling Enhanced Charging section.
2. Set local system management parameters as described in the Modifying the Local Context section.

Enabling Enhanced Charging

Use the following configuration example to enable enhanced charging on the system:

    configure

             require active-charging

             end

Modifying the Local Context

Use the following configuration example to set the default subscriber and AAA group in the local context:

    configure

             context local

                 interface <interface>

                   ip address <address/mask>

                   ip arp timeout <timeout>

                   exit

                server ftpd

                exit

                server sshd

                   subsystem sftp

                   exit

                server telnetd

                   exit

                subscriber default

                   exit

                administrator <security_admin> encrypted password <password> ftp

                aaa group default

                   exit

                gtpp group default

                   exit

                ip route <route> SPIO1

                exit

                port ethernet <slot/port>

                   no shutdown

                   bind interface <interface> local

                exit

             snmp engine-id local <id_number>

             end

### ADC Configuration

To configure ADC with ACS:

1. Create the ACS service as described in the Creating the Active Charging Service section.
2. Configure ADC rules as described in the Configuring ADC Rules section.
3. Configure the charging action as described in the Configuring the Charging Action section.
4. Configure the rulebase as described in the Configuring the Rulebase section.
5. Optional: Set EDR formats as described in the Setting EDR Formats section.
6. Configure the IP protocol and server port mapping for EDRs as described in the Configuring IP Protocol and Server port mapping section.
7. Configure the P2P events for generation of EDRs as described in the Configuring EDR for P2P Events section.

   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 the Active Charging Service

Use the following configuration example to create the ACS service:

    configure

             active-charging service <acs_service_name> [ -noconfirm ]

             end

Configuring ADC Rules

Use the following configuration example to set the P2P detection protocols in the ACS and the rule definitions for each P2P protocol. Note that the following example includes configuration to report voice and non-voice components for Skype, Yahoo, and MSN separately.

IMPORTANT:

The list of P2P protocols will be populated based on the currently installed plugin.

    configure

             active-charging service <acs_service_name>

                p2p-detection protocol all

                ruledef <charging_ruledef_actsync>

                   p2p protocol = actsync

                   exit

                ruledef <charging_ruledef_aimini>

                   p2p protocol = aimini

                   exit

                ruledef <charging_ruledef_antsp2p>

                   p2p protocol = antsp2p

                   exit

                ruledef <charging_ruledef_applejuice>

                   p2p protocol = applejuice

                   exit

                ruledef <charging_ruledef_ares>

                   p2p protocol = ares

                   exit

                ruledef <charging_ruledef_armagettron>

                   p2p protocol = armagettron

                   exit

                ruledef <charging_ruledef_battlefld>

                   p2p protocol = battlefld

                   exit

                ruledef <charging_ruledef_bittorrent>

                   p2p protocol = bittorrent

                   exit

                ruledef <charging_ruledef_blackberry>

                   p2p protocol = blackberry

                   exit

                ruledef <charging_ruledef_callofduty>

                   p2p protocol = callofduty

                   exit

                ruledef <charging_ruledef_citrix>

                   p2p protocol = citrix

                   exit

                ruledef <charging_ruledef_clubpenguin>

                   p2p protocol = clubpenguin

                   exit

                ruledef <charging_ruledef_comodounite>

                   p2p protocol = comodounite

                   exit

                ruledef <charging_ruledef_crossfire>

                   p2p protocol = crossfire

                   exit

                ruledef <charging_ruledef_ddlink>

                   p2p protocol = ddlink

                   exit

                ruledef <charging_ruledef_directconnect>

                   p2p protocol = directconnect

                   exit

                ruledef <charging_ruledef_dofus>

                   p2p protocol = dofus

                   exit

                ruledef <charging_ruledef_ebuddy>

                   p2p protocol = ebuddy

                   exit

                ruledef <charging_ruledef_edonkey>

                   p2p protocol = edonkey

                   exit

                ruledef <charging_ruledef_facebook>

                   p2p protocol = facebook

                   exit

                ruledef <charging_ruledef_facetime>

                   p2p protocol = facetime

                   exit

                ruledef <charging_ruledef_fasttrack>

                   p2p protocol = fasttrack

                   exit

                ruledef <charging_ruledef_feidian>

                   p2p protocol = feidian

                   exit

                ruledef <charging_ruledef_ficall>

                   p2p protocol = ficall

                   exit

                ruledef <charging_ruledef_fiesta>

                   p2p protocol = fiesta

                   exit

                ruledef <charging_ruledef_filetopia>

                   p2p protocol = filetopia

                   exit

                ruledef <charging_ruledef_flash>

                   p2p protocol = flash

                   exit

                ruledef <charging_ruledef_florensia>

                   p2p protocol = florensia

                   exit

                ruledef <charging_ruledef_freenet>

                   p2p protocol = freenet

                   exit

                ruledef <charging_ruledef_fring>

                   p2p protocol = fring

                   exit

                ruledef <charging_ruledef_funshion>

                   p2p protocol = funshion

                   exit

                ruledef <charging_ruledef_gadugadu>

                   p2p protocol = gadugadu

                   exit

                ruledef <charging_ruledef_gamekit>

                   p2p protocol = gamekit

                   exit

                ruledef <charging_ruledef_gmail>

                   p2p protocol = gmail

                   exit

                ruledef <charging_ruledef_gnutella>

                   p2p protocol = gnutella

                   exit

                ruledef <charging_ruledef_goober>

                   p2p protocol = goober

                   exit

                ruledef <charging_ruledef_gotomeeting>

                   p2p protocol = gotomeeting

                   exit

                ruledef <charging_ruledef_gtalk>

                   p2p protocol = gtalk

                   exit

                ruledef <charging_ruledef_guildwars>

                   p2p protocol = guildwars

                   exit

                ruledef <charging_ruledef_halflife2>

                   p2p protocol = halflife2

                   exit

                ruledef <charging_ruledef_hamachivpn>

                   p2p protocol = hamachivpn

                   exit

                ruledef <charging_ruledef_iax>

                   p2p protocol = iax

                   exit

                ruledef <charging_ruledef_icecast>

                   p2p protocol = icecast

                   exit

                ruledef <charging_ruledef_imesh>

                   p2p protocol = imesh

                   exit

                ruledef <charging_ruledef_imo>

                   p2p protocol = imo

                   exit

                ruledef <charging_ruledef_implus>

                   p2p protocol = implus

                   exit

                ruledef <charging_ruledef_iplayer>

                   p2p protocol = iplayer

                   exit

                ruledef <charging_ruledef_iptv>

                   p2p protocol = iptv

                   exit

                ruledef <charging_ruledef_irc>

                   p2p protocol = irc

                   exit

                ruledef <charging_ruledef_isakmp>

                   p2p protocol = isakmp

                   exit

                ruledef <charging_ruledef_iskoot>

                   p2p protocol = iskoot

                   exit

                ruledef <charging_ruledef_itunes>

                   p2p protocol = itunes

                   exit

                ruledef <charging_ruledef_jabber>

                   p2p protocol = jabber

                   exit

                ruledef <charging_ruledef_kakaotalk>

                   p2p protocol = kakaotalk

                   exit

                ruledef <charging_ruledef_kontiki>

                   p2p protocol = kontiki

                   exit

                ruledef <charging_ruledef_manolito>

                   p2p protocol = manolito

                   exit

                ruledef <charging_ruledef_maplestory>

                   p2p protocol = maplestory

                   exit

                ruledef <charging_ruledef_meebo>

                   p2p protocol = meebo

                   exit

                ruledef <charging_ruledef_mgcp>

                   p2p protocol = mgcp

                   exit

                ruledef <charging_ruledef_mig33>

                   p2p protocol = mig33

                   exit

                ruledef <charging_ruledef_mojo>

                   p2p protocol = mojo

                   exit

                ruledef <charging_ruledef_msn>

                   p2p protocol = msn

                   exit

                ruledef <charging_ruledef_msrp>

                   p2p protocol = msrp

                   exit

                ruledef <charging_ruledef_mute>

                   p2p protocol = mute

                   exit

                ruledef <charging_ruledef_mypeople>

                   p2p protocol = mypeople

                   exit

                ruledef <charging_ruledef_myspace>

                   p2p protocol = myspace

                   exit

                ruledef <charging_ruledef_nateontalk>

                   p2p protocol = nateontalk

                   exit

                ruledef <charging_ruledef_naverline>

                   p2p protocol = naverline

                   exit

                ruledef <charging_ruledef_netflix>

                   p2p protocol = netflix

                   exit

                ruledef <charging_ruledef_netmotion>

                   p2p protocol = netmotion

                   exit

                ruledef <charging_ruledef_nimbuzz>

                   p2p protocol = nimbuzz

                   exit

                ruledef <charging_ruledef_octoshape>

                   p2p protocol = octoshape

                   exit

                ruledef <charging_ruledef_off>

                   p2p protocol = off

                   exit

                ruledef <charging_ruledef_ogg>

                   p2p protocol = ogg

                   exit

                ruledef <charging_ruledef_oovoo>

                   p2p protocol = oovoo

                   exit

                ruledef <charging_ruledef_openft>

                   p2p protocol = openft

                   exit

                ruledef <charging_ruledef_openvpn>

                   p2p protocol = openvpn

                   exit

                ruledef <charging_ruledef_operamini>

                   p2p protocol = operamini

                   exit

                ruledef <charging_ruledef_orb>

                   p2p protocol = orb

                   exit

                ruledef <charging_ruledef_oscar>

                   p2p protocol = oscar

                   exit

                ruledef <charging_ruledef_paltalk>

                   p2p protocol = paltalk

                   exit

                ruledef <charging_ruledef_pando>

                   p2p protocol = pando

                   exit

                ruledef <charging_ruledef_pandora>

                   p2p protocol = pandora

                   exit

                ruledef <charging_ruledef_pcanywhere>

                   p2p protocol = pcanywhere

                   exit

                ruledef <charging_ruledef_popo>

                   p2p protocol = popo

                   exit

                ruledef <charging_ruledef_pplive>

                   p2p protocol = pplive

                   exit

                ruledef <charging_ruledef_ppstream>

                   p2p protocol = ppstream

                   exit

                ruledef <charging_ruledef_ps3>

                   p2p protocol = ps3

                   exit

                ruledef <charging_ruledef_qq>

                   p2p protocol = qq

                   exit

                ruledef <charging_ruledef_qqgame>

                   p2p protocol = qqgame

                   exit

                ruledef <charging_ruledef_qqlive>

                   p2p protocol = qqlive

                   exit

                ruledef <charging_ruledef_quake>

                   p2p protocol = quake

                   exit

                ruledef <charging_ruledef_quicktime>

                   p2p protocol = quicktime

                   exit

                ruledef <charging_ruledef_rdp>

                   p2p protocol = rdp

                   exit

                ruledef <charging_ruledef_rfactor>

                   p2p protocol = rfactor

                   exit

                ruledef <charging_ruledef_rmstream>

                   p2p protocol = rmstream

                   exit

                ruledef <charging_ruledef_scydo>

                   p2p protocol = scydo

                   exit

                ruledef <charging_ruledef_secondlife>

                   p2p protocol = secondlife

                   exit

                ruledef <charging_ruledef_shoutcast>

                   p2p protocol = shoutcast

                   exit

                ruledef <charging_ruledef_skinny>

                   p2p protocol = skinny

                   exit

                ruledef <charging_ruledef_skype>

                   p2p protocol = skype

                   exit

                ruledef <charging_ruledef_slingbox>

                   p2p protocol = slingbox

                   exit

                ruledef <charging_ruledef_sopcast>

                   p2p protocol = sopcast

                   exit

                ruledef <charging_ruledef_soulseek>

                   p2p protocol = soulseek

                   exit

                ruledef <charging_ruledef_splashfighter>

                   p2p protocol = splashfighter

                   exit

                ruledef <charging_ruledef_spotify>

                   p2p protocol = spotify

                   exit

                ruledef <charging_ruledef_ssdp>

                   p2p protocol = ssdp

                   exit

                ruledef <charging_ruledef_stealthnet>

                   p2p protocol = stealthnet

                   exit

                ruledef <charging_ruledef_steam>

                   p2p protocol = steam

                   exit

                ruledef <charging_ruledef_stun>

                   p2p protocol = stun

                   exit

                ruledef <charging_ruledef_tango>

                   p2p protocol = tango

                   exit

                ruledef <charging_ruledef_teamspeak>

                   p2p protocol = teamspeak

                   exit

                ruledef <charging_ruledef_teamviewer>

                   p2p protocol = teamviewer

                   exit

                ruledef <charging_ruledef_thunder>

                   p2p protocol = thunder

                   exit

                ruledef <charging_ruledef_tor>

                   p2p protocol = tor

                   exit

                ruledef <charging_ruledef_truphone>

                   p2p protocol = truphone

                   exit

                ruledef <charging_ruledef_tunnelvoice>

                   p2p protocol = tunnelvoice

                   exit

                ruledef <charging_ruledef_tvants>

                   p2p protocol = tvants

                   exit

                ruledef <charging_ruledef_tvuplayer>

                   p2p protocol = tvuplayer

                   exit

                ruledef <charging_ruledef_twitter>

                   p2p protocol = twitter

                   exit

                ruledef <charging_ruledef_ultrabac>

                   p2p protocol = ultrabac

                   exit

                ruledef <charging_ruledef_usenet>

                   p2p protocol = usenet

                   exit

                ruledef <charging_ruledef_uusee>

                   p2p protocol = uusee

                   exit

                ruledef <charging_ruledef_veohtv>

                   p2p protocol = veohtv

                   exit

                ruledef <charging_ruledef_viber>

                   p2p protocol = viber

                   exit

                ruledef <charging_ruledef_vpnx>

                   p2p protocol = vpnx

                   exit

                ruledef <charging_ruledef_vtun>

                   p2p protocol = vtun

                   exit

                ruledef <charging_ruledef_warcft3>

                   p2p protocol = warcft3

                   exit

                ruledef <charging_ruledef_webex>

                   p2p protocol = webex

                   exit

                ruledef <charging_ruledef_whatsapp>

                   p2p protocol = whatsapp

                   exit

                ruledef <charging_ruledef_wii>

                   p2p protocol = wii

                   exit

                ruledef <charging_ruledef_winmx>

                   p2p protocol = winmx

                   exit

                ruledef <charging_ruledef_winny>

                   p2p protocol = winny

                   exit

                ruledef <charging_ruledef_wmstream>

                   p2p protocol = wmstream

                   exit

                ruledef <charging_ruledef_wofkungfu>

                   p2p protocol = wofkungfu

                   exit

                ruledef <charging_ruledef_wofwarcraft>

                   p2p protocol = wofwarcraft

                   exit

                ruledef <charging_ruledef_xbox>

                   p2p protocol = xbox

                   exit

                ruledef <charging_ruledef_xdcc>

                   p2p protocol = xdcc

                   exit

                ruledef <charging_ruledef_yahoo>

                   p2p protocol = yahoo

                   exit

                ruledef <charging_ruledef_yourfreetunnel>

                   p2p protocol = yourfreetunnel

                   exit

                ruledef <charging_ruledef_zattoo>

                   p2p protocol = zattoo

                   exit

    # Configuration
    to report audio and video components for GTalk, Kakaotalk, Meebo, MSN, MyPeople, Oscar, QQ, Tango, Skype, Viber and Yahoo separately:

                ruledef <charging_ruledef_gtalk_audio>

                   p2p protocol = gtalk

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_gtalk_video>

                   p2p protocol = gtalk

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_gtalk_nonav>

                   p2p protocol = gtalk

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_kakaotalk_audio>

                   p2p protocol = kakaotalk

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_kakaotalk_nonav>

                   p2p protocol = kakaotalk

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_meebo_audio>

                   p2p protocol = meebo

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_meebo_video>

                   p2p protocol = meebo

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_meebo_nonav>

                   p2p protocol = meebo

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_msn_audio>

                   p2p protocol = msn

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_msn_video>

                   p2p protocol = msn

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_msn_nonav>

                   p2p protocol = msn

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_mypeople_audio>

                   p2p protocol = mypeople

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_mypeople_nonaudio>

                   p2p protocol = mypeople

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_oscar_audio>

                   p2p protocol = oscar

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_oscar_video>

                   p2p protocol = oscar

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_oscar_nonav>

                   p2p protocol = oscar

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_qq_audio>

                   p2p protocol = qq

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_qq_video>

                   p2p protocol = qq

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_qq_nonav>

                   p2p protocol = qq

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_skype_audio>

                   p2p protocol = skype

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_skype_nonav>

                   p2p protocol = skype

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_tango_audio>

                   p2p protocol = tango

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_tango_video>

                   p2p protocol = tango

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_tango_nonav>

                   p2p protocol = tango

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_viber_audio>

                   p2p protocol = viber

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_viber_nonaudio>

                   p2p protocol = viber

                   p2p traffic-type = unclassified

                   exit

                ruledef <charging_ruledef_yahoo_audio>

                   p2p protocol = yahoo

                   p2p traffic-type = audio

                   exit

                ruledef <charging_ruledef_yahoo_video>

                   p2p protocol = yahoo

                   p2p traffic-type = video

                   exit

                ruledef <charging_ruledef_yahoo_nonav>

                   p2p protocol = yahoo

                   p2p traffic-type = unclassified

                   exit

                   end

Configuring the Charging Action

Use the following configuration example to configure the charging actions:

    configure

             active-charging service <acs_service_name>

                charging-action <charging_action_name1>

                   flow limit-for-bandwidth direction
    downlink peak-data-rate 4000 peak-burst-size 1024 violate-action discard
    committed-data-rate 3200 committed-burst-size 512 exceed-action discard

                   exit

                charging-action <charging_action_name2>

                   content-id 1

                   exit

                charging-action <charging_action_name3>

                   flow action terminate-flow

                   end

Configuring the Rulebase

Use the following configuration example to configure the rulebases for P2P. This configuration also enables the P2P analyzer to detect the P2P applications configured for the Active Charging Service. Note that the following example includes configuration to report voice and non-voice components for GTalk, MSN, Oscar, Skype, and Yahoo separately.

    configure

             active-charging service <acs_service_name>

                rulebase <rulebase_name>

                   action priority <priority> ruledef <charging_ruledef_actsync> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_aimini> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_antsp2p> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_applejuice> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ares> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_armagettron> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_battlefld> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_bittorrent> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_blackberry> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_callofduty> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_citrix> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_clubpenguin> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_comodounite> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_crossfire> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ddlink> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_directconnect> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_dofus> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ebuddy> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_edonkey> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_facebook> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_facetime> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_fasttrack> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_feidian> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ficall> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_fiesta> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_filetopia> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_flash> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_florensia> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_freenet> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_fring> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_funshion> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gadugadu> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gamekit> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gmail> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gnutella> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_goober> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gotomeeting> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gtalk> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_guildwars> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_halflife2> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_hamachivpn> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_iax> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_icecast> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_imesh> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_imo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_implus> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_iplayer> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_iptv> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_irc> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_isakmp> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_iskoot> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_itunes> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_jabber> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_kakaotalk> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_kontiki> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_manolito> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_maplestory> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_meebo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mgcp> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mig33> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mojo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_msn> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_msrp> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mute> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mypeople> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_myspace> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_nateontalk> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_naverline> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_netflix> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_netmotion> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_nimbuzz> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_octoshape> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_off> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ogg> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_oovoo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_openft> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_openvpn> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_operamini> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_orb> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_oscar> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_paltalk> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_pando> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_pandora> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_pcanywhere> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_popo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_pplive> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ppstream> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ps3> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_qq> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_qqgame> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_qqlive> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_quake> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_quicktime> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_rdp> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_rmstream> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_rfactor> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_scydo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_secondlife> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_shoutcast> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_skinny> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_skype> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_slingbox> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_sopcast> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_soulseek> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_splashfighter> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_spotify> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ssdp> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_stealthnet> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_steam> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_stun> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tango> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_teamspeak> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_teamviewer> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_thunder> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tor> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_truphone> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tunnelvoice> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tvants> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tvuplayer> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_twitter> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_ultrabac> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_usenet> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_uusee> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_veohtv> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_viber> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_vpnx> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_vtun> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_warcft3> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_webex> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_whatsapp> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_wii> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_wmstream> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_winmx> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_winny> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_wofkungfu> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_wofwarcraft> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_xbox> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_xdcc> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_yahoo> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_yourfreetunnel> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_zattoo> charging-action <charging_action_name>

    # Configuration
    to report audio and video components for GTalk, Kakaotalk, Meebo, MSN, Oscar,
    Skype, Tango, and Yahoo
    separately:

                   action priority <priority> ruledef <charging_ruledef_gtalk_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gtalk_video> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_gtalk_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_kakaotalk_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_kakaotalk_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_meebo_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_meebo_video> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_meebo_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_msn_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_msn_video> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_msn_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mypeople_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_mypeople_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_oscar_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_oscar_video> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_oscar_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_skype_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_skype_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tango_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tango_video> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_tango_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_viber_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_viber_unclassified> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_yahoo_audio> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_yahoo_video> charging-action <charging_action_name>

                   action priority <priority> ruledef <charging_ruledef_yahoo_unclassified> charging-action <charging_action_name>

                   p2p dynamic-flow-detection

                   end

Setting EDR Formats

ECS generates postpaid charging data files which can be retrieved from the system periodically and used as input to a billing mediation system for post-processing. Event Detail Records (EDRs) are generated according to action statements in rule commands.

Up to 32 different EDR schema types may be specified, each composed of up to 32 fields or analyzer parameter names. The records are written at the time of each rule event in a comma-separated (CSV) format. This configuration aids in capturing the detected P2P protocol data in the EDR.
Use the following example to set the EDR configuration:

    configure

             active-charging service <ecs_service>

                edr-format <edr_flow_format>

                   rule-variable traffic-type priority <priority>

                   rule-variable p2p
    duration priority <priority>

                   attribute sn-start-time
    format seconds priority <priority>

                   attribute sn-end-time
    format seconds priority <priority>

                   attribute radius-calling-station-id
    priority <priority>

                   rule-variable ip server-ip-address
    priority <priority>

                   attribute sn-server-port
    priority <priority>

                   attribute sn-port-service-name priority <priority>

                   attribute sn-app-protocol priority <priority>

                   attribute sn-parent-protocol priority <priority>

                   rule-variable ip protocol priority <priority>

                   attribute sn-ip-protocol-name priority <priority>

                   rule-variable p2p
    protocol priority <priority>

                   attribute sn-volume-amt
    ip bytes uplink priority <priority>

                   attribute sn-volume-amt
    ip bytes downlink priority <priority>

                   attribute sn-volume-amt
    ip pkts uplink priority <priority>

                   attribute sn-volume-amt
    ip pkts downlink priority <priority>

                   rule-variable bearer
    3gpp charging-id priority <priority>

                   rule-variable bearer
    3gpp imei priority <priority>

                   rule-variable bearer
    3gpp rat-type priority <priority>

                   rule-variable bearer
    3gpp user-location-information priority <priority>

                   end

Notes:

- For information on EDR format configuration and rule variables, refer to the EDR Format Configuration Mode Commands chapter of the Command Line Interface Reference Guide.

Configuring IP Protocol and Server port mapping

Use the following configuration to enable IP protocol and server port mapping for EDRs:

    configure

             active-charging service <acs_service_name>

                [ default | no ] edr-ipproto-port-map

                end

Notes:

- For information, refer to the ACS Configuration Mode Commands chapter of the Command Line Interface Reference.

Configuring EDR for P2P Events

Use the following configuration to generate EDRs for P2P events. This command is associated with the Dynamic Software Upgrade process.

    configure

             active-charging service <acs_service_name>

                rulebase rulebase_name

                   edr p2p p2p_event_list [ charging-edr charging_edr_format_name | edr-format edr_format_name | reporting-edr reporting_edr_format_name ] +

                   end

Notes:

- The plugin supports only the “audio-end” and “video-end” events. This P2P event list can be any P2P event that is supported by the plugin.
- For information, refer to the ACS Rulebase Configuration Mode Commands chapter of the Command Line Interface Reference.

Gathering ADC Statistics

In the following table, the first column lists what statistics to gather, the second column lists an action to perform, and the third column describes what information is displayed or what information to look for in the resulting output.
Table 1. Gathering Statistics

Statistics Wanted | Action to Perform | Information to Look For
--- | --- | ---
Analyzer statistics | At the Exec Mode prompt, enter the following command: show active-charging analyzer statistics name p2p verbose | The output of this command displays the analyzer statistics if a P2P analyzer is used. Since the analyzer statistics are not bound to any service, the traffic information per gateway can be obtained.
Ruledef statistics | At the Exec Mode prompt, enter the following command: show active-charging ruledef statistics name <name> | The output of this command displays the Ruledef statistics including the packet count, byte count and hits.
P2P flow statistics | At the Exec Mode prompt, enter the following command: show active-charging flows type p2p traffic-type audio show active-charging flows type p2p traffic-type video show active-charging flows type p2p traffic-type unclassified | The output of this command displays the number of P2P audio, video and unclassified flows.
Charging Action information | At the Exec Mode prompt, enter the following command: show active-charging charging-action statistics | The output of this command displays the charging action information and corresponding statistics configured in the active charging service.
Transmit and Receive data | At the Exec Mode prompt, enter the following command: show active-charging sessions tx-data <operator> <bytes> show active-charging sessions rx-data <operator> <bytes> | The output of the command displays the information for sessions that have received or transmitted data which matches the criteria.
Sessions using specific protocol | At the Exec Mode prompt, enter the following command: show active-charging sessions type p2p application <protocol> | The output of this command displays information for the sessions using the specified protocol.
Total and current P2P and P2P voice flows | At the Exec Mode prompt, enter the following command: show active-charging subsystem all | The output of this command displays total and current P2P flow and P2P voice flow statistics, and total number of subscribers.
Voice Statistics | At the Exec Mode prompt, enter the following command: show active-charging analyzer statistics name p2p application [ gtalk | msn | oscar | skype | yahoo ] | The output of this command displays the voice and non-voice analyzer statistics for voice supported protocols (MSN, Yahoo, GTalk, Skype, Oscar).

Supported Bulk Statistics

For information on ADC bulk statistics and bulk statistics configuration and collection, refer to the Bulk Statistics Configuration Mode Commands chapter of the Command Line Interface Reference, and the Statistics and Counters Reference.

P2P Reports

The P2P reports provide details of the bandwidth consumption of P2P traffic over time. These reports are used to analyze network performance, identify the customer trends, network usage patterns, and network categorization.

IMPORTANT:

In 9.0 and earlier releases, the P2P reporting functionality was available in the Web Element Manager software. For more information, refer to the Web Element Manager Online Help documentation.

IMPORTANT:

In 10.0 and later releases, the P2P reporting functionality is supported in MUR. For more information, refer to the Mobility Unified Reporting Online Help documentation.

The following bandwidth usage reports are supported:

- Cumulative analyzer count - representing the total bandwidth consumed by the P2P traffic in bits/sec. Daily, monthly or yearly reports are supported.
- Total bandwidth consumed P2P traffic against other protocols like HTTP, RTSP, etc. Daily or monthly reports are supported.
- Per protocol type - total bandwidth consumed by the individual P2P protocol traffic in packets/sec or bytes/sec plotted against time range or date range. Daily reports are supported. The graph uses separate colors to differentiate among the multiple protocol types.
- The number of active users per application for specified date/time range. Daily reports are supported.
- Analysis of the percentage of total bandwidth consumed by P2P traffic from the total subscriber traffic. Weekly reports are supported.

IMPORTANT:

For additional information about viewing reports, refer to the Web Element Manager Online Help documentation.