SRC Programming Interfaces
You can use the APIs provided with the SRC software to extend SRC capabilities.
Other components within the SRC software may provide programming interfaces. These interfaces are described in the documentation for the associated component.
The SRC software also includes plug-ins, such as plug-ins for accounting and authentication, admission control, and customized accounting and authentication.
The SRC software provides the following APIs to extend SRC capabilities:
The NETCONF API allows you to configure or request information from the NETCONF server on a C Series Controller that runs the SRC software. The NETCONF API uses the tag elements in the SRC Extensible Markup Language (XML) application programming interface (API) that are equivalent to configuration statements and operational commands in the SRC CLI.
Client applications can use the operations in the NETCONF API to request and change the configuration data represented by the tag elements and to request information about the operational status of a C Series Controller.
CORBA Plug-In SPI
The CORBA-plug-in SPI is an interface that allows you to implement external plug-ins to integrate SAE with OSS software written in a wide variety of languages and distributed across a variety of hardware and operating system platforms. The SPI lets you link the rest of a service provider’s OSS with the SRC software so that the OSS is notified of events in the life cycle of SAE sessions. For example, plug-ins can notify the OSS when a subscriber attempts to log in, and the OSS can evaluate general data and resource allocation to make authorization decisions.
The CORBA plug-in SPI is also used for internal plug-ins; the internal plug-ins must be written in Java and use the Java binding for CORBA.
CORBA Remote API
The CORBA remote API provides remote access to the SAE. It comprises an interface module manager and the following interface modules:
SAE access interface module—Provides remote access to the SAE core API
Java script interface module—Allows you to control the SAE with a Java script
Python script interface module—Allows you to control the SAE with a Python script
Event notification interface module—Allows you to integrate the SAE with external IP address managers
Most functions that are available through the SAE core API are also available through the CORBA remote API.
NIC Access API
The NIC access interface module (nicAccess.idl) is a simplified CORBA interface used to perform NIC resolutions. Use the NIC access module to develop applications not written in Java.
SAE Core API
The SAE core API is used to control the behavior of the SRC software, including subscribers, services, and subscriptions, as well as the SAE itself. For example, it can be used to provide subscriber credentials information (username and password) or to request subscription activation or deactivation for a subscriber.
The Java and Python script interface modules in the CORBA remote API run locally in the SAE, and have access to the SAE core API.
Script services are SAE services that provide an interface to call scripts that supply custom services. You can use script services to create custom service implementations, such as:
Provisioning of layer 2 devices, such as digital subscriber line access multiplexers (DSLAMs).
Setting up of network connections such as MPLS tunnels.
Provisioning of policies for network devices that do not have a supported SAE router driver.
You can use script services to provision policies on a number of systems across a network, including networks that do not contain a router running JunosE or Junos OS.
Volume Tracking Application (VTA) API
The Volume Tracking Application (VTA) API is a Simple Object Access Protocol (SOAP) interface that allows developers to create gateway clients and that administrators use to manage VTA subscribers and sessions. The SRC Web Services Gateway allows a gateway client—an application that is not part of the SRC network—to interact with SRC components, such as the VTA, through a SOAP interface.