Configuring the JPS
You can modify the JPS configuration by using JPS Administration or by editing the configuration files. Using either method, any configuration changes will be applied within 15 seconds.
You can configure the logging destinations and JPS interfaces on the JPS Configuration page of JPS Administration or in the etc/config.properties file. We recommend using JPS Administration unless you need to configure more than the default number of logging destinations or RKS pairs and their associated application managers (see Configuring Advanced Properties).
You can configure the subscriber configuration, which maps a subscriber address to the CMTS address, on the Subscriber Configuration page of JPS Administration or in the etc/cmtsIpAddresses.txt file, We recommend using JPS Administration.
The tasks to configure the JPS for a cable network environment are:
In addition to configuring the JPS, you might need to perform these tasks:
Modifying the JPS Configuration
To modify the JPS configuration:
- Start JPS Administration (see Accessing JPS Administration).
- In the navigation pane, expand Configuration, and click JPS.
The JPS Configuration page appears.
![]()
- Configuring Logging
- Configuring the Application Manager to Policy Server Interface
- Configuring the Policy Server to RKS Interface
- Configuring the Policy Server to CMTS Interface
You must edit the etc/config.properties file to configure more than the default number of logging destinations or RKS pairs and their associated application managers (as part of the policy server to RKS interface configuration). See Configuring Advanced Properties.
Configuring Logging
By default, the JPS has three logging destinations. To configure the logging destinations, modify the following parameters, where <loggerName> is a string that groups parameters for the logging destination. To configure more than three logging destinations, you must edit the etc/config.properties file (see Configuring Advanced Properties).
Logger.<loggerName>.class
- file—Event messages are written to a text file.
- stream—Event messages are written to stderr or stdout output.
- syslog—Event messages are written to system log (syslog) facilities.
If you do not fill in this field, the logging destination is disabled, and no logging is performed.
Logger.<loggerName>.filter
- /debug- —All event messages of severity level debug and higher
- /info- —All event messages of severity level info and higher
- /error- —All event messages of severity level error and higher
If you do not fill in this field, filtering is disabled.
Logger.<loggerName>.filename
- Specifies the path of the file that contains the current logs for file-based logging.
- Value—Pathname
- Default
- For Logger.log1.filename—var/log/ jps_debug.log
- For Logger.log2.filename—var/log/ jps_info.log
- For Logger.log3.filename—var/log/ jps_error.log
Logger.<loggerName>.maxsize
- Specifies the maximum size of the log file for file-based logging.
- Value—Number of kilobytes in the range 0-4294967295
- Guidelines—Do not set the maximum file size to a value greater than the available disk space.
- Default—1000000
Logger.<loggerName>.altfile
- Specifies the path of the alternate file. When the log file exceeds the maximum size specified by the Logger.<loggerName>.maxsize parameter, its contents are saved to this alternate file. If an alternate file already exists, it is overwritten.
- Value—Pathname
- Default
- For Logger.log1.altfile—var/log/ jps_debug.alt
- For Logger.log2.altfile—var/log/ jps_info.alt
- For Logger.log3.altfile—var/log/ jps_error.alt
Logger.<loggerName>.stream
- stderr—Event messages are written to stderr output
- stdout—Event messages are written to stdout output
Logger.<loggerName>.hostname
- Specifies the IP address or name of a host that collects event messages by means of a standard system logging daemon.
- Value—IP address or text string
- Default—localhost
Logger.<loggerName>.facility
- Specifies the type of system log in accordance with the system logging protocol.
- Value—Integer in the range 0-23; each integer corresponds to the standard number for a system logging client
- Default—No value
Logger.<loggerName>.format
- Specifies how the information in an event message is printed for syslog-based logging.
- Value—MessageFormat string as specified in
http://java.sun.com/j2se/1.4.2/docs/api/java/text/MessageFormat.htmlThe fields available for events are:
- 0—Time and date of the event
- 1—Name of the thread generating the event
- 2—Text message of the event
- 3—Category of the event
- 4—Priority of the event
Configuring the Application Manager to Policy Server Interface
To configure the application manager to policy server interface (PKT-MM3) so that the policy server can communicate with application managers, modify the following parameters.
pepId
- Network-wide unique identifier for this JPS instance.
- Value—String
- Guidelines—Changes apply only to COPS connections that are established after you make the change.
- Default—SDX-JPS
listenAddress
- Local IP address on which the JPS listens for incoming connections from application managers.
- Value—IP address. If no value is specified, the JPS listens on all local IP addresses.
- Guidelines—Changes take effect only after you restart the JPS (see Restarting the JPS).
- Default—No value
Configuring the Policy Server to RKS Interface
To configure the policy server to RKS interface (PKT-MM4) so that policy events can be sent to the RKS, modify the following parameters. As part of the configuration, you can configure RKS pairs (see Configuring RKS Pairs) and their associated application managers (see Configuring RKS Pairs for Associated Application Managers).
elementId
Plugin.radius.local.address
- Source IP address that the plug-in uses to communicate with the RKS.
- Value—IP address. If no value is specified and there is more than one local address, the JPS randomly selects a local address to be used as the source address.
- Default—No value
Plugin.radius.local.port
- Source UDP port or a pool of ports that the plug-in uses to communicate with the RKS.
- Value—You can enter a single port number, a pool of port numbers, or a list of port numbers and port ranges.
- Port number in the range 1-65535
- A range of ports in the format port-port; for example, 7000-7003
- A comma-separated list of port numbers and port ranges
Plugin.radius.local.retryInterval
- Time the JPS waits for a response from an RKS before it resends the packet. The JPS keeps sending packets until either the RKS acknowledges the packet or the maximum timeout is reached.
- Value—Number of milliseconds in the range 0-2147483647
- Default—3000
Plugin.radius.local.timeout
- Maximum time the JPS waits for a response from an RKS.
- Value—Number of milliseconds in the range 0-2147483647
- Default—15000
Plugin.radius.feid.msoData
- Specifies MSO-defined data in the financial entity ID (FEID) attribute, which is included in event messages.
- Value—ASCII character string of 8 bytes; first eight bytes of the FEID attribute.
- Default—Zero filled
Plugin.radius.feid.msoDomainName
- Identifies the MSO domain name in the FEID attribute that uniquely identifies the MSO for billing and settlement purposes.
- Value—ASCII character string of up to 239 bytes; begins at the ninth byte of the FEID attribute.
- Default—<mso_domain_name>
Plugin.radius.defaultRksPair
- Default RKS pair that the JPS uses unless an RKS pair is configured for a given application manager (as specified by the Am.<amName>.rksPair parameter).
- Value—Name of the RKS pair
- Default—pair1
Configuring RKS Pairs
By default, the JPS has four RKS pairs. To configure the RKS pair, modify the following parameters, where <rksPairName> is a string that identifies the RKS pair. All parameters that share the same <rksPairName> configure the connection to that RKS pair. Any configured RKS pair can be used as the value for the Plugin.radius.defaultRksPair or the Am.<amName>.rksPair parameters. To configure more than four RKS pairs, you must edit the etc/config.properties file (see Configuring Advanced Properties).
RksPair.<rksPairName>.primary.address
- IP address of the primary RKS for this RKS pair.
- Value—IP address. If no value is specified, the RKS pair is not defined.
- Default—No value
RksPair.<rksPairName>.primary.port
- UDP port on the primary RKS to which the JPS sends events.
- Value—Port number in the range 1-65535
- Default—1813
RksPair.<rksPairName>.secondary.address
RksPair.<rksPairName>.secondary.port
- UDP port on the secondary RKS to which the JPS sends events.
- Value—Port number in the range 1-65535
- Default—1813
Configuring RKS Pairs for Associated Application Managers
By default, the JPS has four associated application managers. To configure the associated application manager, modify the following parameters, where <amName> is a string that groups parameters for the associated application manager. All parameters that share the same <amName> configure the RKS pair to which events associated with a specific application manager are sent. To configure more than four associated application managers, you must edit the etc/config.properties file (see Configuring Advanced Properties).
Am.<amName>.id
- Specifies the identifier of the application manager. The application manager includes this identifier in all messages that it sends to the JPS. The JPS passes this ID to the CMTS device in gate control messages. The CMTS device returns the ID associated with the gate to the JPS. The JPS sends events associated with this application manager to the RKS pair specified by the Am.<amName>.rksPair parameter with the same <amName>.
- Value—4-byte unsigned integer in decimal format; must be unique in a service provider network
- Guidelines—If no value is specified, the RKS pair configuration is not defined for this application manager. If you must set Am.<amName>.trusted to true without defining the RKS pair configuration, you must specify a value for Am.<amName>.id and not specify a value for Am.<amName>.rksPair.
- Default—No value
Am.<amName>.rksPair
- Specifies the RKS pair that the JPS will send events to when those events are triggered by gate transitions associated with the application manager specified by the Am.<amName>.id parameter with the same <amName>.
- Value—Name of the RKS pair
- Guidelines—If no value is specified, the RKS pair configuration is not defined for this application manager. Use when you must set Am.<amName>.trusted to true without defining the RKS pair configuration.
- Default—No value
Am.<amName>.trusted
- Specifies whether this application manager is a trusted network element to the JPS. If an application manager is trusted by the JPS and it provides a billing correlation ID (BCID) as part of a gate-set message, the JPS reuses the BCID provided by the application manager instead of generating a new one.
- Value
Configuring the Policy Server to CMTS Interface
To configure the policy server to CMTS interface (PKT-MM2) so that the policy server can communicate with CMTS devices, modify the following parameters.
pepIpAddresses
- Specifies the IP addresses of all the CMTS devices to which the JPS will try to connect. Multiple addresses are separated by commas.
- Value—List of IP addresses, separated by commas.
- Default—No value
keepAliveInterval
- Interval between keepalive messages sent from the COPS client (CMTS device) to the COPS server (JPS).
- Value—Number of seconds in the range 0-65535. A value of 0 means that no keepalive messages will be exchanged between the CMTS device and the JPS.
- Guidelines—Changes apply only to COPS connections that are established after you make the change.
- Default—45
Configuring Advanced Properties
You can modify the general JPS configuration using either JPS Administration or the /opt/UMC/jps/etc/config.properties file. However, you must use the config.properties file to configure more than the default number of logging destinations, RKS pairs, or associated application managers.
To configure advanced properties for the JPS:
- On the server host, log in as
rootor as an authorized nonroot admin user.- With a text editor, edit the etc/config.properties file.
- To add logging destinations, include the following lines with a unique <loggerName> at the end of the Logging configuration section:
#/JPS/logging/Logger.<loggerName>.class =/JPS/logging/Logger.<loggerName>.filter =/JPS/logging/Logger.<loggerName>.filename =/JPS/logging/Logger.<loggerName>.maxsize =/JPS/logging/Logger.<loggerName>.altfile =/JPS/logging/Logger.<loggerName>.stream =/JPS/logging/Logger.<loggerName>.hostname =/JPS/logging/Logger.<loggerName>.facility =/JPS/logging/Logger.<loggerName>.format =See Configuring Logging for parameter descriptions.
- To add RKS pairs, include the following lines with a unique <rksPairName> after the last RKS pair configuration section:
#/JPS/radius/RksPair.<rksPairName>.primary.address =/JPS/radius/RksPair.<rksPairName>.primary.port =/JPS/radius/RksPair.<rksPairName>.secondary.address =/JPS/radius/RksPair.<rksPairName>.secondary.port =See Configuring RKS Pairs for parameter descriptions.
- To add application managers, include the following lines with a unique <amName> after the last application manager configuration section:
#/JPS/radius/Am.<amName>.id =/JPS/radius/Am.<amName>.rksPair =/JPS/radius/Am.<amName>.trusted =See Configuring RKS Pairs for Associated Application Managers for parameter descriptions.
Any configuration changes made in the etc/config.properties file will appear in JPS Administration.
Modifying the Subscriber Configuration
To locate the CMTS device associated with a subscriber, the JPS maps the subscriber IP address in a message to the CMTS IP address to which the message must be delivered.
This mapping is obtained from the local configuration file (etc/cmtsIpAddresses.txt) and specifies the subscriber IP pools associated with CMTS devices.
You can modify the subscriber configuration by:
Using JPS Administration
To modify the subscriber configuration using JPS Administration:
- Start JPS Administration (see Accessing JPS Administration).
- In the navigation pane, expand Configuration, and click Subscriber.
The Subscriber Configuration page appears.
![]()
The Create Subscriber IP Pools page appears.
![]()
Using the field descriptions below, enter the information in the fields on the Create Subscriber IP Pools page.
- CMTS Name—Specifies the hostname of the CMTS device.
- CMTS IP Address—Specifies the IP address of the CMTS device.
- Start IP Address—Specifies the first IP address in the IP range for the pool of subscriber IP addresses that are managed by the CMTS device.
- End IP Address—Specifies the last IP address in the IP range for the pool of subscriber IP addresses that are managed by the CMTS device.
- Network Address—Specifies the IP address of the subnet for the pool of subscriber IP addresses that are managed by the CMTS device.
- Mask Length—Specifies the mask of the subnet for the pool of subscriber IP addresses that are managed by the CMTS device.
- Subnet IPs Excluded From Pool—Specifies the IP addresses of the subnet that are excluded from the subscriber IP pool managed by the CMTS device.
Click Add after entering the Subscriber IP Pool information.
Click Save Changes at the bottom of the page.
The Edit Subscriber IP Pools page appears.
![]()
Click Add after entering the subscriber IP pool information. Use the field descriptions in Step 3a to change the information in the fields on the Edit Subscriber IP Pools page.
Click Delete to remove existing subscriber IP pool information. The subscriber IP pool is removed without confirmation.
Click Save Changes at the bottom of the page.
The CMTS device is removed without confirmation.
Using the Configuration File
To modify the subscriber configuration using the configuration file:
- On the server host, log in as
rootor as an authorized nonroot admin user.- With a text editor, edit the /opt/UMC/jps/etc/cmtsIpAddresses.txt file by adding, modifying, or deleting lines.
Each line contains the mapping for a CMTS device to which the JPS can connect, in the format <cmts> = <subscriber IP pools>.
- <cmts> is the IP address or hostname of the CMTS device.
- <subscriber IP pools> defines the pools of subscriber IP addresses that are managed by the CMTS device. For information about the syntax for IP pools, refer to the comments in the etc/cmtsIpAddresses.txt file.
For example, a CMTS with an IP address of 10.10.10.10 that is used by subscribers whose IP addresses are in the 24-bit subnet 192.168.1.0/24 or in the IP address range starting with 192.168.3.1 and ending with 192.168.3.254 would have the following line in the etc/cmtsIpAddresses.txt file:
10.10.10.10 = ({192.168.1.0/24}[192.168.3.1 192.168.3.254])We recommend prepending a comment that identifies the CMTS device name in the format:
# cmts.name = example110.10.10.10 = ({192.168.1.0/24}[192.168.3.1 192.168.3.254])If you do not provide the CMTS name as a comment in the configuration file, JPS Administration leaves the CMTS Name field blank. However, JPS Administration will prompt you for the CMTS name if you modify this CMTS device.
Any configuration changes made in the etc/cmtsIpAddresses.txt file will appear in JPS Administration.
Configuring the SAE
You must configure the SAE as an application manager to allow it to interact with PCMM-compliant policy servers. The policy server acts as a policy decision point that manages the relationships between application managers and CMTS devices. Policy servers that manage the same group of CMTS devices are grouped together and are simultaneously active. The policy server group provides a way for the SAE to communicate with any CMTS device that is managed by a policy server in the policy server group. To provide redundancy, the SAEs are grouped in an SAE community that connects to a policy server group. Only one of the SAEs in the SAE community is active. The active SAE establishes connections to all the policy servers in the policy server group. The active SAE will fail over to a redundant SAE only when it loses the connection to all the policy servers in the policy server group. State synchronization enables the SAE to synchronize its state with all the CMTS devices connected to a policy server group.
The tasks to configure the SAE as an application manager are:
- Specifying Application Managers for the Policy Server
- Adding Objects for Policy Servers to the Directory
- Configuring Initialization Scripts
- Enabling State Synchronization
Specifying Application Managers for the Policy Server
To specify the SAE community that connects to a policy server group, you need to add an application manager group object to the directory.
To add an application manager group with SDX Admin:
The New ApplicationManagerGroup dialog box appears.
- In the New ApplicationManagerGroup dialog box, enter the name of the application manager group, and click OK.
The name of the group appears in the navigation pane, and information about the group appears in the ApplicationManagerGroup pane.
![]()
Description
- Specifies information about the SAE community; keywords that the SDX Admin find utility uses.
- Value—Text string
- Default—No value
Application Manager ID
- Specifies the identifier of the SAE community that is included in all messages sent to the policy server.
- Value—4-byte unsigned integer
- Guidelines—This property is required.
- Default—No value
Connected SAE
- Specifies the SAEs that are connected to the specified policy server group (PDP Group). This list becomes the community of SAEs.
- Value—IP address or hostname
- Guidelines—This property is required. When you modify a community, wait for passive session stores of the new community members to be updated before you shut down the current active SAE. Otherwise, if you add a new member to a community, and then a failover from the current active SAE to the new member is triggered immediately, the new member's session store may not have received all data from the active SAE's session store.
- Default—No value
PDP Type
- Specifies the type of device that this directory object will be used to manage.
- Value—For the JPS, the value should be PCMM.
If you do not fill in this field, the device driver ignores this application manager group.
PDP Group
- Specifies the name of the policy server group associated with this SAE community.
- Value—Text string
- Guidelines—This property is required.
- Default—No value
Local Address Pools
- Specifies the list of IP address pools that this PDP group currently manages and stores. You must configure a local address pool if you are using the NIC so that the NIC can resolve the IP-to-SAE mapping. See Using the NIC Resolver.
- Value—List of IP address pools. You can specify an unlimited number of IP address pools. You can specify either the first and last addresses in a range, or you can specify a subnet address, a subnet mask, and a list of addresses to exclude from the subnet.
The IP pool syntax has the following format:
([<ipAddressStart> <ipAddressEnd>] |
{<ipBaseAddress>/(<mask> | <digitNumber>)(,<ipAddressExclude>)*})
- <ipAddressStart>—First IP address (version 4 or 6) in a range
- <ipAddressEnd>—Last IP address (version 4 or 6) in a range
- <ipBaseAddress>—Network base address
- <mask>—Subnet mask
- <digitNumber>—Integer specifying the length of the subnet mask
- <ipAddressExclude>—List of IP addresses to be excluded from the subnet
- |—Choice of expression; choose either the expression to the left or the expression to the right of this symbol
- *—Zero or more instances of the preceding group
You can use spaces in the syntax only to separate the first and last explicit IP addresses in a range.
Managing SAE IOR
- Specifies the Common Object Request Broker Architecture (CORBA) reference for the SAE managing this policy server group.
- Value—One of the following items:
- The actual CORBA reference for the SAE
- The absolute path to the interoperable object reference (IOR) file
- A corbaloc URL in the form corbaloc::<host>:8801/SAE
- Guidelines—The amIorPublisher script provides this information when the SAE connects to the policy server. If you do not select this script when configuring initialization scripts, enter a value in this field. For information about configuring initialization scripts, see Configuring Initialization Scripts.
- Default—No value
- Example—One of the following items:
- Absolute path— /opt/UMC/sae/var/run/sae.ior
- corbaloc URL—boston:8801/sae
- Actual IOR— IOR:000000000000002438444C3A736D67742E6A756E697...
Adding Objects for Policy Servers to the Directory
To communicate with policy servers, the SAE creates and manages pseudointerfaces that it associates with a policy decision point object in the directory. Each policy server in the SDX network must appear in the directory as a policy decision point object.
To add a policy server to the directory with SDX Admin:
The New PolicyDecisionPoint dialog box appears.
The name of the policy server appears in the navigation pane, and information about the policy server appears in the PolicyDecisionPoint pane.
![]()
- Set the parameters in the Main tab of the PolicyDecisionPoint pane.
- Click Save in the PolicyDecisionPoint pane.
- Create an SAE community for the policy servers. See Specifying Application Managers for the Policy Server.
Description
- Specifies information about this policy server; keywords that the SDX Admin find utility uses.
- Value—Text string
- Default—No value
PDP Address
- Specifies the IP address of the policy server. The SAE uses this address to establish a COPS connection with the policy server.
- Value—IP address
- Guidelines—This property is required.
- Default—No value
PDP Type
- Specifies the type of device that this directory object will be used to manage.
- Value—For the JPS, the value should be PCMM.
If you do not fill in this field, the device driver ignores this policy server.
PDP Group
- Specifies the name of the policy server group.
- Value—Text string
- Guidelines—This property is required.
- Default—No value
Configuring Initialization Scripts
When the SAE establishes a connection with a policy server, it runs an initialization script to customize the setup of the connection.
To use SDX Configuration Editor to configure initialization scripts for the SAE:
- In the navigation pane, select the SAE object for which you want to configure an initialization script.
- Select the Router tab.
- In the Router Scripts area of the Router pane, enter the name of the initialization script in the PCMM Script property.
PCMM Script
- Initialization script for PCMM environment. The script is run when the connection between a policy server and the SAE is established and again when the connection is dropped.
- Value—Name of a script
- Default—amIorPublisher
- Property name—Router.script.pcmm
Enabling State Synchronization
State synchronization is achieved by requiring the SAE to communicate with the policy server over the COPS connection. To enable state synchronization with policy servers, you can specify these properties for the PCMM device driver in the Router tab of SDX Configuration Editor.
Enable JPS Proprietary Sync
- When the SAE is configured to enable state synchronization with PCMM policy servers (Disable Full Sync is false), specifies whether optimized state synchronization with the JPS is enabled or disabled.
- Value
- Guidelines—When using the JPS as the policy server, we recommend setting this value to true.
- Default—true
- Property name—Router.pcmm.enableJpsSync
Disable Full Sync
- When the SAE is deployed with PCMM policy servers, specifies whether state synchronization with the PCMM policy servers is enabled or disabled.
- Value
- Guidelines—When using other PCMM-compliant policy servers (instead of the JPS), we recommend setting this value to true. When using the JPS as the policy server, set this value to false or the Enable JPS Proprietary Sync property is not valid.
- Default—false
- Property name—Router.pcmm.disableStateSync
Using the NIC Resolver
If you are using the NIC to map the subscriber IP address to the SAE, you need to configure a resolver on the NIC. The SDX software uses IP address pools along with NIC resolvers to provide mapping of IP addresses to SAEs. You configure the local address pools in the application manager configuration for a policy server group. These pools are published in the NIC. The NIC maps subscriber IP addresses in requests received through the portal or Advanced Services Gateway to the policy server group that currently manages that CMTS device. For information about configuring the SAE for policy servers, see Specifying Application Managers for the Policy Server.
The OnePopPcmm sample configuration data supports this scenario for a PCMM environment in which you use the assigned IP subscriber method to log in subscribers and in which you use the NIC to determine the subscriber's SAE. The OnePopPcmm configuration supports one point of presence (POP) and provides no redundancy. The realm for this configuration accommodates the situation in which IP pools are configured locally on each application manager group object.
The resolution process takes a subscriber's IP address as the key and returns a reference to the SAE managing this subscriber as the value.
The following agents collect information for resolvers in this realm:
- Directory agent PoolVr collects and publishes information about the mappings of IP pools to the policy server group.
- Directory agent VrSaeId collects and publishes information about the mappings of policy server groups to SAEs.
You can access the OnePopPcmm configuration in either SDX Admin or SDX Configuration Editor. Figure 50 shows the sample configuration in SDX Configuration Editor.
![]()
For more information about configuring the NIC, see SDX Components Guide, Vol. 2, Chapter 12, Locating Subscriber Information.