Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


Extensible Subscriber Services Manager

Extensible Subscriber Services Manager Overview

Extensible Subscriber Services Manager (ESSM) is a background process that is part of the Intelligent Customer Extendable authentication, authorization, and accounting (ICE-AAA) framework, which supports customer extensible services for both business and residential subscribers. Services are classified as residential or business on the basis of the value specified for the RADIUS VSA (26-173) ERX-Service-Activate-Type that is received in the Access-Accept message.

Extensible Subscriber Services Manager uses the ICE-AAA framework, which comprises a dictionary, operation scripts, and RADIUS vendor-specific attributes (VSAs), to create business services for subscribers without modifying Junos OS. Extensible Subscriber Services Manager supports only the ERX-Activate service type.

Using the Extensible Subscriber Services Manager, you can create business services using the following sources:

  • The dictionary that refers to or invokes the operation scripts.

  • The operation scripts that you use to create subscriber-specific configuration

  • The VSAs that the RADIUS server sends that contain configuration values for provisioning services

Understanding the Dictionary File

The XML-based dictionary specifies the action to be taken by ESSMD when it receives a service request. The dictionary contains provisioning, deprovisioning, and operation scripts. ESSMD parses the dictionary file during initialization and stores the parsed information in the database. Extensible Subscriber Services Manager acts on the extensible-subscriber-service requests on the basis of the services configured in the dictionary file.

During a commit operation, essmd verifies the path and the filename of the dictionary file. If the path or the filename is invalid, the commit operation fails and the error is logged in a system log message. Restarting the daemon or performing a graceful Routing Engine switchover (GRES) operation forces essmd to use the new dictionary. Ensure that you always configure a valid dictionary for essmd.

When loading the dictionary file after a successful commit operation, essmd validates whether:

  • There are errors in parsing the dictionary file.

  • The operation scripts specified in the dictionary file are available on the router.

  • Any active services are modified.

If the validation fails, an error is logged in a system log message, and essmd continues to use the existing version of the dictionary file. Use the request services extensible-subscriber-services reload-dictionary command to reload the dictionary file after resolving the errors.