Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation  Back up to About Overview 
ContentIndex
  
[+] Expand All
[-] Collapse All

 A  C  D  E  F  G  I  J  L  M  N  P  Q  R  S  T  W

 

A

address pools    
assigned IP subscribers    
configuring
address pools.     See IP address pools    
application manager    
role, in PCMM environment
assigned IP subscribers    
PCMM network    12
address pools
IP address pools
setting timeouts
voice over IP
 

C

cable modem termination system.     See CMTS devices    
classify-traffic condition    
match direction, setting    
SRC CLI
client type 1, PCMM
client type 2, PCMM
CMTS devices    
adding objects to directory    
SRC CLI
adding virtual router objects to directory    
SRC CLI
configuration statements    12
role
CMTS locator    
monitoring    
C-Web interface
SRC CLI
COA script services, configuring
configuration wizard    
fair usage    
configuration overview
running
running    12
configuration wizards    
fair usage    
overview
overview    12
conventions    
notice icons
text
custom RADIUS authentication plug-ins
customer support    1
contacting JTAC
 

D

Data over Cable Service Interface Specifications.     See DOCSIS protocol    
Diameter    
peers    
configuring    12
Diameter server    
clients, viewing    
SRC CLI
message flows, viewing    
SRC CLI
message handler, viewing    
SRC CLI
monitoring    
SRC CLI
peers, viewing    
SRC CLI
server process, viewing    
SRC CLI
server requests, viewing    
SRC CLI
statistics, viewing    
SRC CLI
status, viewing    
SRC CLI
DOCSIS protocol
documentation    
comments on
domains    
IP service edge
IP subscriber edge
radio frequency
Dynamic policy changes    
Dynamic policy changes, managing
dynamic RADIUS authorization requests    
RADIUS packets, defining    12
 

E

end-to-end services
event notification, PCMM network    
configuration statements
description
properties, configuring    
SRC CLI
 

F

filter actions    
configuring    
SRC CLI
flexible RADIUS authentication plug-ins    
configuring
forwarding class actions    
configuring    
SRC CLI
 

G

Gx router driver    
application information, configuring    
SRC CLI
dynamic PCC rules, configuring    
SRC CLI
flow information, configuring    
SRC CLI
overview
policies, configuration statements    
SRC CLI
policies, configuring    
SRC CLI
policy list, configuring    
SRC CLI
QoS information, configuring    
SRC CLI
redirect information, configuring    
SRC CLI
static PCC rules, configuring    
SRC CLI
steering information, configuring    
SRC CLI
 

I

IP address pools    
assigned IP subscribers
assigned IP subscribers, configuring    
SRC CLI
local address pools, configuring    
SRC CLI
static pools, configuring    
SRC CLI
 

J

JPS (Juniper Policy Server)    
application manager-to-policy server interface, configuring
application manager-to-policy server interface, monitoring    
C-Web interface    12
SRC CLI
architecture
CMTS devices, monitoring    
C-Web interface
CMTS locator, monitoring    
C-Web interface
SRC CLI
JPS state, monitoring
logging, configuring
logging, modifying
message flows, monitoring    
C-Web interface
SRC CLI
message handler, monitoring    
C-Web interface
SRC CLI
monitoring    
C-Web interface
SRC CLI    12
operational status
overview
policy server-to-CMTS interface, configuring
policy server-to-CMTS interface, monitoring    
C-Web interface    12
SRC CLI
policy server-to-RKS interface, configuring
policy server-to-RKS interface, monitoring    
C-Web interface
SRC CLI
server process, monitoring    
C-Web interface
SRC CLI
starting    
SRC CLI
stopping    
SRC CLI
subscriber address mappings, configuring
subscriber configuration, modifying
JSRC    
JSRC and PTSP configuration example    
SRC CLI
Juniper Policy Server.     See JPS    
 

L

login process    
assigned IP subscribers, PCMM
 

M

manuals    
comments on
MX Series router as a PTSP network device    
MX Series router as a PTSP network device, adding    
SRC CLI
 

N

NIC (network information collector)    
IP address pools, configuring    
SRC CLI
notice icons
 

P

packet mirroring, configuring
PCMM (PacketCable Multimedia)    
application manager, role
client type 1
client type 2
CMTS device, role
configuring SAE    
SRC CLI
creating sessions
description
end-to-end QoS architecture
end-to-end services
integrating SRC software
IP service edge domain
IP subscriber edge domain
logging in subscribers    
assigned IP method
overview
overview
policy server, role
provisioning end-to-end services
record-keeping server
RF domain
SAE
SAE communities
session store
single-phase resource reservation model
SRC software in    
description
traffic profiles
video-on-demand example
videoconferencing example
PCMM device driver    
configuration statements
configuring    
SRC CLI
PCMM record-keeping server plug-in    
configuration statements
configuring    
SRC CLI
description
plug-ins    
PCMM record-keeping server plug-in
policy actions    
filter    
configuring, SRC CLI
forwarding class    
configuring, SRC CLI
forwarding instance    
configuring, SRC CLI
policy groups    
configuring    
SRC CLI
policy servers    
adding application manager groups    
SRC CLI
adding objects to directory    
SRC CLI
role, in PCMM architecture
specifying application managers    
SRC CLI
specifying SAE communities    
SRC CLI
PTSP    
configuring    
SRC CLI
PTSP and JSRC configuration example    
SRC CLI
PTSP configuration example    
SRC CLI
PTSP policies, configuration statements    
SRC CLI
ssr-writer    
SRC CLI
PTSP actions    
PTSP actions, configuring    
SRC CLI    12
PTSP classify-traffic condition    
destination grouped network, configuring    
SRC CLI
destination network, configuring    
SRC CLI
protocol conditions with parameters, setting    
SRC CLI
protocol conditions with ports, setting    
SRC CLI
protocol conditions, setting    
SRC CLI
TCP conditions, setting    
SRC CLI
traffic match conditions, setting    
SRC CLI
PTSP classify-traffic conditions    
creating    
SRC CLI
PTSP classify-traffic conditions, configuring    
SRC CLI
PTSP device driver    
overview
PTSP device driver, configuring    
SRC CLI
PTSP on MX Series router    
PTSP on MX Series router, configuring    
SRC CLI
PTSP policer instance    
PTSP policer instance, configuring    
SRC CLI
PTSP policies    
PTSP policies, configuring    
SRC CLI
PTSP policy list    
PTSP policy list, configuring    
SRC CLI
PTSP policy rules    
network, specifying
PTSP policy rules, configuring    
SRC CLI
PTSP session store    
PTSP device driver session store, configuring    
SRC CLI
PTSP traffic match    
conditions, setting    
SRC CLI
 

Q

QoS (quality of service)    
PCMM environments    
end-to-end QoS architecture
extending to service edge domain
extending to subscriber edge domain
searching for policies in directory
QoS profile-tracking plug-in    
description
QoS profiles, routers running JunosE Software    
how tracking works
managing dynamically
updating directory, using    
qosProfilePublish
quality of service.     See QoS    
 

R

RADIUS    
vendor-specific attributes for wireless ISP roaming
record-keeping server.     See RKS    
RKS (record-keeping server)    
peers, configuration statements
peers, configuring in plug-ins    
SRC CLI
plug-in
plug-in, configuration statements
plug-in, configuring    
SRC CLI
role in PCMM environment
roaming wireless environment
 

S

SAE (service activation engine)    
configuring as an application manager    
SRC CLI
PCMM environment
redundancy.     See SAE communities    
SAE (service activation engine), configuring    
community manager    
SRC CLI
event notification API properties    
SRC CLI
PCMM device driver    
SRC CLI    12
SAE communities    
configuration overview    
SRC CLI
configuration statements
configuring manager    
SRC CLI
defining members    
SRC CLI
description
service flows
services    
voice over IP (VoIP)
session store    
in PCMM environment
single phase resource reservation model, PCMM
subscriber    
wireless environment
support, technical     See technical support    
 

T

technical support    
contacting JTAC
text conventions defined
traffic policies, PCMM
 

W

wireless environment

Related Documentation

Creating a Configuration File

The /SDK/scriptServices/dpiScriptService/resource/dpiConf.xml file found in the SDK+AppSupport+Demos+Samples.tar.gz file contains a sample configuration file for the script service that demonstrates service activation and deactivation using Junos XML management protocol and Telnet commands.

The configuration file is in the form of an XML document with these sections:

  • Optimization parameters—Optional section to optimize batch parameters for committing configuration changes
  • Policy templates—Mandatory section for specifying the policy rules that will be added to or removed from network devices during service activation or deactivation

The configuration file has this basic structure:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dpi-configuration SYSTEM "dpi-configuration.dtd" > 
<configuration> 
  <batch <!-– batch parameters specified as attributes -–> />
  <policy-templates> 
    <!-– policy template specification -–>
  </policy-templates> 
</configuration>

Tasks to create a configuration file are:

Configuring Batch Parameters

To avoid the overhead of individual commits for policy changes that occur close together, the script service groups the policy changes for a network device into a batch so that the commits can happen at the same time.

To optimize the batch parameters, you can specify these timing attributes for the <batch/> element:

  • wait-time—Time to wait for the next command for each device before committing the configuration. The default value is 60 seconds.
  • max-commit-delay—Maximum time to wait before committing the configuration. The default value is 120 seconds.

For example, to specify a wait-time of 15 seconds and max-commit-delay of 30 seconds:

  <batch wait-time="15" max-commit-delay="30" /> 

Substituting Parameters in Policy Templates

The SRC software can substitute values for variables in the policy templates. The following variables are supported in the policy templates:

  • Attributes of the ServiceSessionInfo object in the SAE script service API
  • Variables from parameter acquisition
  • Variables defined in the dpiRules parameter that are acquired in the context of a <for-each-rule> element

Note: If the same variable is defined in both the ServiceSessionInfo interface and parameter acquisition, the value in the ServiceSessionInfo interface is used. However, the value defined in the dpiRules parameter override the other values.

For information about the ServiceSessionInfo interface, see the script service documentation in the SAE core API documentation on the Juniper Networks website at https://www.juniper.net/techpubs/software/management/src/api-index.html.

The value of the variable can be used in the policy templates as defined. You can also specify how to use the value of a variable by extracting part of the value from the variable or replacing nonalphanumeric characters in the value with underscores.

  • To extract part of the value from the variable, follow the variable with a tilde (~) and a Java regular expression pattern. The regular expression is matched against the value of the variable, and the value of the last capture group is the result of instantiating the variable expression. For more information about using regular expressions, see http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html.

    For example: [[[ variable~[^.]+\.(\d+) ]]]

    If we replace variable with interfaceName and the value of interfaceName is ge-1/2/3.4, then this expression would evaluate to 4.

  • To replace all nonalphanumeric characters in the value with underscores, follow the variable with an underscore (_).

    For example: [[[ variable_ ]]]

    If we replace variable with interfaceName and the value of interfaceName is ge-1/2/3.4, then this expression would evaluate to ge_1_2_3_4.

Note: You can use the underscore and the tilde expressions together, but the underscore must precede the tilde in the expression.

Configuring Policy Templates

The policy templates are used to define the policy rules that are inserted or removed from network devices. Templates are combined with parameters from the service activation context to generate Junos XML management protocol and Telnet commands that add and remove service policies.

The policy templates section has this basic structure:

  <policy-templates> 
    <target interface-class="<!-– interface class name -–>">
      <activation> 
        <junoscript> 
            <!-– JUNOScript API statements -–>
          <for-each-rule>
              <!-– Can have multiple for-each-rule -–>
          <if test="expression">
              <!-– Can have conditional expressions -–>
          </if>
          </for-each-rule>
          <for-each-rule test="expression">
              <!-– Can have multiple for-each-rule -–>
              <!-– For each single rule, can include test conditions -–>
          </for-each-rule>
        </junoscript> 
        <telnet host="<!-– hostname -–>"> 
          <prompt>login:</prompt>
          <command>joe</command>
          <prompt>password:</prompt>
          <command>abc123</command>
                <!-– Can have many prompt/command pairs -–>
            <for-each-rule test="expression">
                <!-– For each single rule, can include conditions 
                       and have prompt/command pairs -–>
            </for-each-rule>
       </telnet> 
      </activation> 
      <deactivation> 
          <!-– Structure same as for activation -–>
      </deactivation> 
    </target>
  </policy-templates> 

Table 11 describes the policy template elements in the configuration file.

Table 11: Policy Template Elements for Configuration File

Element

Description

<target interface-class=
"interface-class-name">

Defines a single policy template, which is selected by matching the interface-class attribute with the value found in the dpiInterfaceClasses parameter. If the interface-class attribute is not provided or its value is "", the target applies to all interfaces.

For example: <target interface-class="MXEnterprise">

<activation>

Defines what the script service should do when activating or modifying a session. This element is triggered when the dpiAdminState parameter changes from "disabled" to "enabled".

<deactivation>

Defines what the script service should do when deactivating a session. This element is triggered when the dpiAdminState parameter changes from "enabled" to "disabled".

<junoscript>

Contains a sequence of Junos XML management protocol commands to manage policies on routers running Junos OS.

This element can contain <if> and <for-each-rule> elements, delimited variables, literal text, and XML elements, which are not interpreted.

<telnet host="hostname">

Contains a sequence of prompt and command pairs to match on the Telnet device, similar to an expect script. The host attribute is a variable that can include a regular expression to extract a part of the value from the variable. See the <variable> element.

For example: <telnet host="deviceIP">

This element can contain <if>, <for-each-rule>, <prompt>, and <command> elements. The <prompt> and <command> elements must alternate, and the sequence must start with the <prompt> element. This element can also contain delimited variables and literal text.

<variable-delimiters start="delimiter" end="delimiter">

Specifies the delimiters for variables in the configuration file. The default delimiters enclose the variable within three square brackets ([[[ variable ]]]).

If you want to specify a different delimiter, you must specify the <variable-delimiters> element immediately after the opening tag for the <junoscript> or <telnet> element. The delimiters apply to the contents of the <junoscript> or <telnet> element. Any other occurrences of the <variable-delimiters> element within that element are ignored.

For example: <variable-delimiters start="(*" end="*)">

<if test=
"variableName~pattern">

Defines conditional expressions used to generate configuration commands.

The test attribute is a variable expression without delimiters. The test is true if the variable has a value and if the optional regular expression matches the variable.

For example, the forwarding-class statement would be added to the body only if the map expression contained the fcl key to satisfy the test condition:

<if test="fcl">
forwarding-class [[[ fcl ]]];
</if>

<for-each-rule>

Creates the specified body in the policy template for instantiating each map expression found in the dpiRules parameter. For example, if you have two map expressions in the dpiRules parameter, the policy template would generate the body of the <for-each-rule> element once for each map expression.

The <for-each-rule> element has a ruleNumber variable to sequentially track the processing of each map expression.

You can use the test attribute to provide a condition for the rule; using this attribute would be the same as adding an <if> element.

Note: When using special XML characters as part of the policy templates, they must be coded in XML. For example, the left angle bracket (<) must be coded as &lt;.

The following example uses some elements to show a policy template that activates application-aware access list (AACL) services and service sets on an MX Series router by loading the configuration in text format using Junos XML management protocol.

 <policy-templates> 
    <target interface-class="MXEnterprise">
      <activation> 
        <junoscript> 
          <rpc>
            <load-configuration action="replace" format="text">
              <configuration-text>
services {
    aacl { 
        rule AACL_[[[ interfaceName_ ]]] { 
            match-direction input-output;
          <for-each-rule>
            term [[[ ruleNumber ]]] { 
                from { 
                    application junos:[[[ app ]]]; 
                } 
                then { 
            <if test="fcl">
                    forwarding-class [[[ fcl ]]]; 
            </if> 
            <if test="action~accept">
                    count application; 
            </if> 
                    [[[ action ]]]; 
                }
            } 
          </for-each-rule>
        } 
    } 
    service-set SSET_[[[ interfaceName_ ]]] { 
        aacl-rules AACL_[[[ interfaceName_ ]]]; 
        interface-service { 
           service-interface ms-1/[[[ interfaceName~[^.]+-\d+/(\d+/\d+\.\d+) ]]]; 
        } 
    } 
} 
interfaces { 
    [[[ interfaceName~[^.]+)\.\d+ ]]] {
        unit [[[ interfaceName~[^.]+)\.(\d+) ]]] { 
            family inet { 
                service { 
                    input { 
                         service-set SSET_[[[ interfaceName_ ]]]
                    }
                   output { 
                         service-set SSET_[[[ interfaceName_ ]]]
                    }
                }
            } 
        }
    }
}
              </configuration-text>
            </load-configuration> 
          </rpc> 
        </junoscript> 
      </activation> 
    </target>
  </policy-templates> 

If the example uses the following dpiRules substitution:

dpiRules=[{app="rtsp", action="accept", fcl="expedited-forwarding"}, 
                {app="bittorrent", action="discard"}] 

The two map expressions in the dpiRules parameter might generate the following target configuration (with two terms) from the policy template example:

services {aacl {rule AACL_xe_8_3_0_1001 {match-direction input-output;term 1 {from {applications junos:rtsp;}then {forwarding-class expedited-forwarding;count application;accept;}}term 2 {from {applications junos:bittorrent;}then {discard;}}}}service-set SSET_xe_8_3_0_1001 {aacl-rules AACL_[[[ interfaceName_ ]]];interface-service {service-interface ms-1/3/0.1001;}}}interfaces {xe-8/3/0 {unit 1001 {family inet {service {input {service-set SSET_xe_8_3_0_1001;}output {service-set SSET_xe_8_3_0_1001;}}}}}}

Related Documentation

Modified: 2015-06-19