|
Table Of Contents
Broadband Access Center for Cable Application Programming Interface Use Cases
Self-Provisioned Modem and Computer in Fixed Standard Mode
Adding a New Computer in Fixed Standard Mode
Pre-Provisioning Modems/Self-Provisioned Computers
Unregistering and Deleting a Subscriber's Devices
Self-Provisioning First-Time Activation in Promiscuous Mode
Bulk Provisioning 100 Modems in Promiscuous Mode
Pre-Provisioning First-Time Activation in Promiscuous Mode
Adding a Second Computer in Promiscuous Mode
Self-Provisioning First-Time Activation with NAT
Adding a New Computer Behind a Modem with NAT
Move Device to Another DHCP Scope
Log Device Deletions Using Events
Monitoring an RDU Connection Using Events
Logging Batch Completions Using Events
Getting Detailed Device Information
Searching Using the Default Class of Service
Retrieving Devices Matching a Vendor Prefix
Pre-Provisioning PacketCable eMTA
SNMP Cloning on PacketCable eMTA
Incremental Provisioning of PacketCable eMTA
Pre-Provisioning DOCSIS Modems with Dynamic Configuration Files
Temporarily Throttling a Subscriber's Bandwidth
Pre-Provisioning CableHome WAN-Man
CableHome with Firewall Configuration
Retrieving Device Capabilities for CableHome WAN-Man
Self-Provisioning CableHome WAN-Man
API Calls Affected by the Lease Reservation Feature
Bringing a Device Online Using a Service Provider IP Address
Removing and Recreating a Reservation
Assigning a New Device with an Old Device's IP Address
Removing a Reservation and Assigning a New IP Address
Rebooting a Device with the Same IP Address
A Submitted Batch Fails when BACC Uses CCM
A Submitted Batch Fails when BACC does not Use CCM
Broadband Access Center for Cable Application Programming Interface Use Cases
This appendix presents a series of the most common provisioning API use cases, including pseudo- code segments that can be used to model typical service provider workflows. The pseudo code used in the use cases resembles java though it is not intended for direct compilation. Please refer to the BACC 2.7 API Javadoc for more details and sample Java code segments explaining individual API calls and features.
These use cases are directly related to device (and/or service) provisioning. Many administrative operations, such as managing class of services, DHCP criteria, and licenses are not addressed here. It is highly recommended to go through the API javadoc for more details on the related API calls. You can also use the administrator's user interface to perform most of these activities.
Use Cases
This appendix includes these use cases:
• Self-Provisioned Modem and Computer in Fixed Standard Mode
• Adding a New Computer in Fixed Standard Mode
• Pre-Provisioning Modems/Self-Provisioned Computers
• Unregistering and Deleting a Subscriber's Devices
• Self-Provisioning First-Time Activation in Promiscuous Mode
• Bulk Provisioning 100 Modems in Promiscuous Mode
• Pre-Provisioning First-Time Activation in Promiscuous Mode
• Adding a Second Computer in Promiscuous Mode
• Self-Provisioning First-Time Activation with NAT
• Adding a New Computer Behind a Modem with NAT
• Move Device to Another DHCP Scope
• Log Device Deletions Using Events
• Monitoring an RDU Connection Using Events
• Logging Batch Completions Using Events
• Getting Detailed Device Information
• Searching Using the Default Class of Service
• Retrieving Devices Matching a Vendor Prefix
• Pre-Provisioning PacketCable eMTA
• SNMP Cloning on PacketCable eMTA
• Incremental Provisioning of PacketCable eMTA
• Pre-Provisioning DOCSIS Modems with Dynamic Configuration Files
• Temporarily Throttling a Subscriber's Bandwidth
• Pre-Provisioning CableHome WAN-Man
• CableHome with Firewall Configuration
• Retrieving Device Capabilities for CableHome WAN-Man
• Self-Provisioning CableHome WAN-Man
Self-Provisioned Modem and Computer in Fixed Standard Mode
The subscriber has a computer installed in a single dwelling unit and has purchased a DOCSIS cable modem. The computer has a web browser installed.
Desired Outcome
Use this workflow to bring a new unprovisioned DOCSIS cable modem and computer online with the appropriate level of service.
Step 1 The subscriber purchases and installs a DOCSIS cable modem at home and connects a computer to it.
Step 2 The subscriber powers on the modem and the computer, and BACC gives the modem restricted access. The computer and modem are assigned IP addresses from restricted access pools.
Step 3 The subscriber starts a web browser, and a spoofing DNS server points the browser to a service provider's registration server (for example, an OSS user interface or a mediator).
Step 4 The subscriber uses the service provider's user interface to complete the steps required for registration, including selecting class of service.
Step 5 The service provider's user interface passes the subscriber's information, such as the selected class of service and computer IP address, to BACC, which then registers the subscriber's modem and computer.
Step 6 The user interface prompts the subscriber to reboot the computer.
Step 7 The provisioning client calls performOperation(DeviceOperation.RESET, modemMACaddress, null) to reboot the modem and gives the modem provisioned access.
Step 8 After rebooting, the computer receives a new IP address, and both cable modem and computer are now provisioned devices. The computer has access to the Internet through the service provider's network.
Adding a New Computer in Fixed Standard Mode
A multiple system operator (MSO) lets a subscriber have two computers behind a cable modem. The subscriber has one computer already registered and then brings home a laptop from work and wants access. The subscriber installs a hub and connects the laptop to it.
Desired Outcome
Use this workflow to bring a new unprovisioned computer online with a previously provisioned cable modem so that the new computer has the appropriate level of service.
Step 1 The subscriber powers on the new computer and BACC gives it restricted access.
Step 2 The subscriber starts a web browser on the new computer and a spoofing DNS server points it to the service provider's registration server (for example, an OSS user interface or a mediator).
Step 3 The subscriber uses the service provider's user interface to complete the steps required to add a new computer.
Step 4 The service provider's user interface passes the subscriber's information, such as the selected class of service and computer IP address, to BACC, which then registers the subscriber's modem and computer.
Step 5 The user interface prompts the subscriber to reboot the new computer so that BACC can give the computer its registered service level.
Step 6 The computer is now a provisioned device with access to the appropriate level of service.
Disabling a Subscriber
A service provider needs to disable a subscriber from accessing the Internet due to recurring non-payment.
Desired Outcome
Use this workflow to disable an operational cable modem and computer, so that the devices temporarily restrict Internet access for the user. Additionally, this use case can redirect the user's browser to a special page that could announce:
You haven't paid your bill so your Internet access has been disabled.
Step 1 The service provider's application uses a provisioning client program to request a list of all of the subscriber's devices from BACC. The service provider's application then uses a provisioning client to individually disable or restrict each of the subscriber's devices.
Note You may need to consider the impact on the CPEs behind the modem when defining the characteristics of DisabledCOS and resetting the modem. This is especially important if you have voice end points behind the modem, because disrupting the cable modem might affect the telephone conversation in progress at that time.
The subscriber is now disabled.
Pre-Provisioning Modems/Self-Provisioned Computers
A new subscriber contacts the service provider and requests service. The subscriber has a computer installed in a single dwelling unit. The service provider pre-provisions all its cable modems in bulk.
Desired Outcome
Use this workflow to bring a pre-provisioned cable modem, and an unprovisioned computer, online in the roaming standard mode. This must be done so that both devices have the appropriate level of service and are registered.
Step 1 The service provider chooses a subscriber username and password for the billing system.
Step 2 The service provider selects services that the subscriber can access.
Step 3 The service provider's field technician installs the physical cable to the new subscriber's house and installs the pre-provisioned device, connecting it to the subscriber's computer.
Step 4 The technician turns on the modem and BACC gives it a provisioned IP address.
Step 5 The technician turns on the computer and BACC gives it a private IP address.
Step 6 The technician starts a browser application on the computer and points the browser to the service provider's user interface.
Step 7 The technician accesses the service provider's user interface to complete the steps required for registering the computer behind the provisioned cable modem.
Note The IPDeviceKeys.MUST_BE_BEHIND_DEVICE property is not set on the computer and this allows roaming from behind one cable modem to another.
Step 8 The technician restarts the computer and the computer receives a new provisioned IP address. The cable modem and the computer are now both provisioned devices. The computer has access to the Internet through the service provider's network.
Modifying an Existing Modem
A service provider's subscriber currently has a level of service known as Silver and has decided to upgrade to Gold service. The subscriber has a computer installed at home.
Note The intent of this use case is to show how to modify a device. You can apply this example to devices provisioned in modes other than roaming standard.
Desired Outcome
Use this workflow to modify an existing modem's class of service and pass that change of service to the service provider's external systems.
Step 1 The subscriber phones the service provider and requests to have service upgraded. The service provider uses its user interface to change the class of service from Silver to Gold.
Step 2 The service provider's application makes these API calls in BACC:
Step 3 The subscriber can now access the service provider's network with the Gold service.
Unregistering and Deleting a Subscriber's Devices
A service provider needs to delete a subscriber who has discontinued service.
Desired Outcome
Use this workflow to permanently remove all the subscriber's devices from the service provider's network.
Step 1 The service provider's user interface discontinues service to the subscriber.
Step 2 The service provider's application uses a provisioning client program to request a list of all the subscriber's devices from BACC, and unregisters and resets each device so that it is brought down to the default (unprovisioned) service level.
Note If the device specified as the parameter to the "unregister" API is already in unregistered state then the status code from the API call will be set to CommandStatusCodes .CMD_ERROR_DEVICE_UNRE- GISTER_UNREGISTERED_ERROR. This is normal/expected behavior.
Note The next step is optional as some service providers prefer to keep the cable modem in the database unless it is broken. This step needs to be run only if the devices need to be deleted from the database.
Step 3 The service provider's application uses a provisioning client program to delete each of the subscriber's remaining devices individually from the database.
Self-Provisioning First-Time Activation in Promiscuous Mode
The subscriber has a computer (with a browser application) installed in a single dwelling unit and has purchased a DOCSIS cable modem.
Desired Outcome
Use this workflow to bring a new unprovisioned DOCSIS cable modem and computer online with the appropriate level of service.
Step 1 The subscriber purchases a DOCSIS cable modem and installs it at home.
Step 2 The subscriber powers on the modem, and BACC gives it restricted access.
Step 3 The subscriber starts a browser application on the computer and a spoofing DNS server points the browser to the service provider's registration server (for example, an OSS user interface or a mediator).
Step 4 The subscriber uses the service provider's user interface to complete the steps required for registration, including selecting a class of service.
The service provider's user interface passes the subscriber's information to BACC, including the selected classes of service and computer IP address. The subscriber's cable modem and computer are then registered with BACC.
Step 5 The user interface prompts the subscriber to reboot the computer.
Step 6 The provisioning client calls performOperation(...) to reboot the modem and gives the modem provisioned access.
Step 7 When the computer is rebooted, it receives a new IP address. The cable modem is now a provisioned device. The computer is not registered with BACC, but it gains access to the Internet through the service provider's network. Computers that are online behind promiscuous modems are still available using the provisioning API.
Bulk Provisioning 100 Modems in Promiscuous Mode
A service provider wants to pre-provision 100 cable modems for distribution by a customer service representative at a service kiosk.
Desired Outcome
Use this workflow to distribute modem data for all modems to new subscribers. The customer service representative has a list of modems available for assignment.
Step 1 The cable modem's MAC address data for new or recycled cable modems is collected into a list at the service provider's loading dock.
Step 2 Modems that are assigned to a particular kiosk are bulk-loaded into BACC and are flagged with the identifier for that kiosk.
Step 3 When the modems are distributed to new subscribers at the kiosk, the customer service representative enters new service parameters, and changes the Owner ID field on the modem to reflect the new subscriber's account number.
Pre-Provisioning First-Time Activation in Promiscuous Mode
A new subscriber contacts the service provider and requests service. The subscriber has a computer installed in a single dwelling unit.
Desired Outcome
Use this workflow to bring a new unprovisioned cable modem and computer online with the appropriate level of service.
Step 1 The service provider chooses a subscriber username and password for the billing system.
Step 2 The service provider selects the services that the subscriber can access.
Step 3 The service provider registers the device using its own user interface.
Step 4 The service provider's user interface passes information, such as the modem's MAC address and the class of service to BACC. Additionally, the modem gets a CPE DHCP criteria setting that lets Network Registrar select a provisioned address for any computers to be connected behind the modem. The new modem is then registered with BACC.
Step 5 The service provider's field technician installs the physical cable to the new subscriber's house and installs the pre-provisioned device, connecting it to the subscriber's computer.
Step 6 The technician powers on the cable modem and BACC gives it provisioned access.
Step 7 The technician powers on the computer and BACC gives it provisioned access. The cable modem and the computer are now both provisioned devices. The computer has access to the Internet through the service provider's network.
Replacing an Existing Modem
A service provider wants to replace a broken modem.
Note If the computer has the option restricting roaming from one modem to another, and the modem is replaced, the computer's MAC Address for the modem must also be changed.
Desired Outcome
Use this workflow to physically replace an existing cable modem with a new modem without changing the level of service provided to the subscriber.
Step 1 The service provider changes the MAC address of the existing modem to that of the new modem.
Step 2 The service provider replaces the cable modem and turns it on. The computer must also be turned on.
Step 3 The cable modem is now a fully provisioned device with the appropriate level of service, as is the computer behind the cable modem.
Adding a Second Computer in Promiscuous Mode
A subscriber wishes to connect a second computer behind an installed cable modem.
Desired Outcome
Use this workflow to ensure that the subscriber's selected service permits the connection of multiple CPEs, and that the subscriber has network access from both connected computers.
Note This case does not require calls to the provisioning API.
Step 1 The subscriber connects a second computer behind the cable modem.
Step 2 The subscriber turns on the computer.
Step 3 If the subscriber's selected service permits connecting multiple CPEs, BACC gives the second computer access to the Internet.
Self-Provisioning First-Time Activation with NAT
A university has purchased a DOCSIS cable modem with network address translation (NAT) and DHCP capability. The five occupants of the unit each have a computer installed with a browser application.
Desired Outcome
Use this workflow to bring a new unprovisioned cable modem (with NAT) and the computers behind it online with the appropriate level of service.
Step 1 The subscriber purchases a cable modem with NAT and DHCP capability and installs it in a multiple dwelling unit.
Step 2 The subscriber turns on the modem and BACC gives it restricted access.
Step 3 The subscriber connects a laptop computer to the cable modem, and the DHCP server in the modem provides an IP address to the laptop.
Step 4 The subscriber starts a browser application on the computer and a spoofing DNS server points the browser to the service provider's registration server (for example, an OSS user interface or a mediator).
Step 5 The subscriber uses the service provider's user interface to complete the steps required for cable modem registration of the modem. The registration user interface detects that the modem is using NAT and registers the modem, making sure that the modem gets a class of service that is compatible with NAT.
Step 6 The user interface prompts the subscriber to reboot the computer.
Step 7 The provisioning client calls performOperation(...) to reboot the modem and gives the modem provisioned access.
Step 8 The cable modem is now fully provisioned and the computers behind it have full access to the service provider's network.
Note Certain cable modems with NAT may require you to reboot the computer to get the new class of service settings. If the cable modem and NAT device are separate devices, the NAT device must also be registered similarly to registering a computer.
Adding a New Computer Behind a Modem with NAT
The landlord of an apartment building has four tenants sharing a modem and accessing the service provider's network. The landlord wants to provide Internet access to a new tenant, sharing the building's modem. The modem has NAT and DHCP capability. The new tenant has a computer connected to the modem.
Desired Outcome
Use this workflow to bring a new unprovisioned computer online with a previously provisioned cable modem so that the new computer has the appropriate level of service.
Note This case does not require calls to the provisioning API.
Step 1 The subscriber turns on the computer.
Step 2 The computer is now a provisioned device with access to the appropriate level of service.
Note The provisioned NAT modem hides the computers behind it from the network.
Move Device to Another DHCP Scope
A service provider is renumbering its network causing a registered cable modem to require an IP address from a different Network Registrar scope.
Desired Outcome
A provisioning client changes the DHCP criteria, and the cable modem receives an IP address from the corresponding DHCP scope.
Step 1 Change the DOCSIS modem's DHCP criteria to "newmodemCriteria".
Step 2 The modem gets an IP address from the scope targeted by "newmodemCriteria."
Log Device Deletions Using Events
A service provider has multiple provisioning clients and wants to log device deletions.
Desired Outcome
When any provisioning client deletes a device, the provisioning client logs an event in one place.
Step 1 Create a listener for the device deletion event. This class must extend the DeviceAdapter abstract class or, alternatively, implement the DeviceListener interface. This class must also override the deletedDevice(DeviceEvent ev) method in order to log the event.
Step 2 Register the listener and the qualifier for the events using the PACEConnection interface.
Step 3 When a device is deleted from the system, the event is generated, and the listener is notified.
Monitoring an RDU Connection Using Events
A service provider is running a single provisioning client and wants notification if the connection between the provisioning client and the RDU breaks.
Desired Outcome
Use this workflow to have the event interface notify the service provider if the connection breaks.
Step 1 Create a listener for the messaging event. This class must extend the MessagingAdapter abstract class or, alternatively, implement the MessagingListener interface. This class must override the connectionStopped(MessagingEvent ev) method.
Step 2 Register the listener and the qualifier for the events using the PACEConnection interface.
Step 3 If a connection breaks, the event is generated, and the listener is notified.
Logging Batch Completions Using Events
A service provider has multiple provisioning clients and wants to log batch completions.
Desired Outcome
When any provisioning client completes a batch, an event is logged in one place.
Step 1 Create a listener for the event. This class must extend the BatchAdapter abstract class or implement the BatchListener interface. This class must override the completion(BatchEvent ev) method in order to log the event.
Step 2 Register the listener and the qualifier for the events using the PACEConnection interface.
BatchCompletionLogger batchCompletionLogger =
new BatchCompletionLogger();
Qualify All qualifier = new Qualify All();
connection.addBatchListener(batchCompletionLogger , qualifier
);
Step 3 When a batch completes, the event is generated, and the listener is notified.
Getting Detailed Device Information
A service provider wants to allow an administrator to view detailed information for a particular device.
Desired Outcome
The service provider's administrative application displays all known details about a given device, including MAC address, lease information, provisioned status of the device, and the device type (if known).
Step 1 The administrator enters the MAC address for the device being queried into the service provider's administrative user interface.
Step 2 BACC queries the embedded database for the device details.
Step 3 The service provider's application presents a page of device data details, which can display everything that is known about the requested device. If the device was connected to the service provider's network, this data includes lease information (for example, IP address and relay agent identifier). The data indicates whether the device was provisioned, and if it was, the data also includes the device type.
// extract device detail data from the map
String deviceType = (String)deviceDetails.get(DEVICE_TYPE);
String macAddress = (String)deviceDetails.get(MAC_ADDRESS);
String ipAddress = (String)deviceDetails.get(IP_ADDRESS);
String relayAgentID = (String)deviceDetails.get(RELAY_AGENT_ID);
Boolean isProvisioned = (Boolean)deviceDetails.get(IS_PROVISIONED);
// The admin UI now formats and prints the detail data to a view page
Searching Using the Default Class of Service
A service provider wants to allow an administrator to view data for all modems with the default class of service for DOCSIS device type.
Desired Outcome
The service provider's administrative application returns a list of DOCSIS devices with default class of service.
Step 1 The administrator selects the search option in service provider's administrative user interface.
Step 2 BACC queries the embedded database for a list of all MAC addresses for the devices that match the requested default class of service.
Step 3 The service provider's application requests details on these devices from BACC, and presents a page of device data. For each device, the code provides for display of the device type, MAC address, client class, and provisioned status of the device, one device per line.
Retrieving Devices Matching a Vendor Prefix
A service provider wants to allow an administrator to view data for all devices matching a particular vendor prefix.
Desired Outcome
The service provider's administrative application returns a list of devices matching the requested vendor prefix.
Step 1 The administrator enters the sub-string matching the desired vendor prefix into the service provider's administrative user interface.
Step 2 BACC queries the embedded database for a list of all MAC addresses for the devices that match the requested vendor prefix.
Step 3 The service provider's application requests details on these devices from BACC, and presents a page of device data. For each device, the code displays the device type, MAC address, client class, and provisioned status of the device. One device is identified per line.
Pre-Provisioning PacketCable eMTA
A new customer contacts a service provider to order PacketCable voice service. The customer expects to receive a provisioned embedded MTA.
Desired Outcome
Use this workflow to pre-provision an embedded MTA so that the modem MTA component has the appropriate level of service when brought online.
Note This use case skips the call agent provisioning that is required for making telephone calls from eMTAs.
Step 1 The service provider chooses a subscriber username and password for the billing system.
Step 2 The service provider chooses the appropriate class of service and DHCP criteria for the modem component and adds it to BACC.
Step 3 The service provider chooses the appropriate class of service and DHCP criteria for the MTA component and adds it to BACC.
Step 4 The embedded MTA gets shipped to the customer.
Step 5 The customer brings the embedded MTA online and makes telephone calls using it.
SNMP Cloning on PacketCable eMTA
A customer has an SNMP Element Manager that wishes to gain access to a PacketCable eMTA.
Desired Outcome
An external Element Manager is granted secure SNMPv3 access to the PacketCable eMTA.
Note Changes made to RW MIB variables are not permanent and are not updated in the BACC configuration for the eMTA. The information written into the eMTA MIB is lost the next time the MTA powers down or resets.
Step 1 Call the provisioning API method, performOperation(), passing in the MAC address of the MTA and the username of the new user to create on the MTA. This will be the username used in subsequent SNMP calls by the Element Manager.
Step 2 The provisioning API attempts to perform an SNMPv3 cloning operation to create an entry on the MTA for the new user passed in Step 1. The keys used in the new user entry row are a function of two passwords defined within BACC. These passwords will be made available to the customer and the RDU command passes these passwords (the auth and priv password) through a key localization algorithm to create an auth and priv key. These are stored, along with the new user, in the eMTA's user table.
Note The auth and priv passwords mentioned in this step may be changed by setting SNMPPropertyKeys.CLONING_AUTH_PASSWORD (/snmp/cloning/auth/password) and SNMPPropertyKeys.CLONING_PRIV_PASSWORD (/snmp/cloning/priv/password) properties respectively in the rdu.properties configuration file.
Step 3 The customer issues SNMPv3 request using above specified username, passwords, and key localization algorithm to allow for secure communication with the MTA.
Incremental Provisioning of PacketCable eMTA
A customer has a PacketCable eMTA in service with its first line (end point) enabled. The customer wants to enable the second telephone line (end point) on the eMTA and connect a telephone to it.
Desired Outcome
The customer should be able to connect a telephone to the second line (end point) on the eMTA and successfully make phone calls from it without any service interruption.
Note In order to use the second line on the eMTA, the Call Agent need to be configured accordingly. This use case does not address provisioning of call agents.
Step 1 The service provider's application invokes the BACC API to change the class of service of the eMTA. The new class of service supports two end points on the eMTA. This change in class of service does not take affect until the eMTA is reset. Disrupting the eMTA is not desirable; therefore, incremental provisioning is undertaken in the next step.
Step 2 The service provider's application uses the BACC incremental update feature to set SNMP objects on the eMTA and thereby enabling the service without disrupting the eMTA.
Step 3 The eMTA is enabled to use the second telephone line. The eMTA continues to receive the same service, after being reset, since the class of service was changed in Step 1.
Pre-Provisioning DOCSIS Modems with Dynamic Configuration Files
A new customer contacts a service provider to order a DOCSIS modem with high-speed Gold data service for two CPEs behind it.
Desired Outcome
Use this workflow to pre-provision a DOCSIS modem with a class of service that uses DOCSIS templates. The dynamic configuration file generated from the templates is used while the modem comes online.
Step 1 The service provider chooses a subscriber username and password for the billing system.
Step 2 The service provider chooses Gold class of service, and the appropriate DHCP criteria, and then adds the cable modem in to BACC.
Step 3 The cable modem is shipped to the customer.
Step 4 The customer brings the cable modem online and connects the computers behind it.
Optimistic Locking
An instance of the service provider application needs to ensure that it is not overwriting the changes made by another instance of the same application.
Desired Outcome
Use this workflow to demonstrate the optimistic locking capabilities provided by the BACC API.
Note Locking of objects is done in multi-user systems to preserve integrity of changes, so that one person's changes do not accidentally get overwritten by another. With optimistic locking, you write your program assuming that any commit has a chance to fail if at least one of the objects being committed was changed by someone else since you began the transaction.
Step 1 The service representative selects the search option in the service provider's user interface and enters the cable modem's MAC address.
Step 2 BACC queries the embedded database, gets the details of the device and the MSO user interface displays the information.
Step 3 The service representative attempts to change the class of service and the DHCP criteria of the modem using the user interface. This in turn invokes the BACC API.
Step 4 The user is ready to receive Gold class of service with appropriate DHCP criteria.
Temporarily Throttling a Subscriber's Bandwidth
An MSO has a service that allows a subscriber to download only10 Mbyte of data per month. Once the subscriber reaches that limit their downstream bandwidth is turned down from 1 Mbyte to 56 K. When the month is over they are moved back up to 1 Mbyte.
Note You may want to consider changing upstream bandwidth as well, since peer-to-peer users and users who run websites tend to have very heavy upload bandwidth.
Desired Outcome
Use this workflow to move subscribers up and down in bandwidth according to their terms of agreement.
Step 1 The MSO has a rate tracking system, such as NetFlow, which keeps track of each customer's usage by MAC address. Initially a customer is provisioned at the Gold class of service level with 1 Mbyte downstream.
Step 2 When the rate tracking software determines that a subscriber has reached the 10 Mbyte limit it notifies the OSS. The OSS then makes a call into the BACC API to change the subscriber's class of service from Gold to Gold-throttled.
Step 3 At the end of the billing period, the OSS calls the BACC API to change the subscriber's class of service back to Gold.
Pre-Provisioning CableHome WAN-Man
A new customer contacts a service provider to order home networking service. The customer expects a provisioned CableHome device to be shipped to him.
Desired Outcome
Use this workflow to pre-provision a CableHome device so that the cable modem and WAN-Man components on it will have appropriate level of service when brought online.
Step 1 The service provider chooses a subscriber username and password for the billing system.
Step 2 The service provider chooses the appropriate class of service and the DHCP criteria for the modem component, then adds it to BACC.
Step 3 The service provider chooses the appropriate class of service and DHCP criteria for the WAN-Man component, then adds it to BACC.
Step 4 The CableHome device gets shipped to the customer.
Step 5 The customer brings the CableHome device online.
CableHome with Firewall Configuration
A customer contacts a service provider to order a home networking service with the firewall feature enabled. The customer expects to receive a provisioned CableHome device.
Desired Outcome
Use this workflow to pre-provision a CableHome device so that the cable modem and the WAN-Man components on it, have the appropriate level of service when brought online.
Step 1 The service provider chooses a subscriber username and password for the billing system.
Step 2 The service provider chooses the appropriate class of service and DHCP criteria for the cable modem component, then adds it to BACC.
Step 3 The service provider chooses the appropriate class of service and DHCP criteria for the WAN-Man component and adds it to BACC.
Step 4 The CableHome device gets shipped to the customer.
Step 5 The customer brings the CableHome device online and the cable modem and the WAN-Man component get provisioned IP addresses and proper configuration files.
Retrieving Device Capabilities for CableHome WAN-Man
A service provider wants to allow an administrator to view capabilities information for a CableHome WAN-Man device.
Desired Outcome
The service provider's administrative application displays all known details about a given CableHome WAN-Man component, including MAC address, lease information, provisioned status and the device capabilities information.
Step 1 The administrator enters the MAC address of the WAN-Man being queried into the service provider's user interface.
Step 2 BACC queries the embedded database for details of the device identified using the MAC address entered.
Step 3 The service provider's application then presents a page of device data details, which can display everything that is known about the requested device. If the device was connected to the service provider's network, this data includes lease information, such as the IP address or the relay agent identifier. This data indicates whether the device is provisioned. If it is provisioned, the data also includes the device type and device capabilities information.
Self-Provisioning CableHome WAN-Man
A subscriber has a computer with a browser application installed in a single dwelling unit and has purchased an embedded CableHome device.
Desired Outcome
Use this workflow to bring a new unprovisioned embedded CableHome device online with the appropriate level of service, and give the subscriber Internet access from computers connected to the embedded CableHome device.
Step 1 The subscriber purchases an embedded CableHome device and installs it at home.
Step 2 The subscriber powers on the embedded CableHome device. BACC gives the embedded cable modem restricted access, allowing 2 CPEs: one for the CableHome WAN-Man and the other for the computer.
Note This use case assumes an unprovisioned DOCSIS modem allows two CPEs behind it. Until configured to do otherwise, BACC supports only a single device behind an unprovisioned DOCSIS modem. You can change this behavior by defining an appropriate class of service that supports two CPEs and then using it as the default class of service for DOCSIS devices.
Step 3 BACC configures the CableHome WAN-Man, including IP connectivity and downloading the default CableHome boot file. The default CableHome boot file configures the CableHome device in passthrough mode. The CableHome device is still unprovisioned.
Step 4 The subscriber connects the computer to the CableHome device. The computer gets an unprovisioned (restricted) IP address. The subscriber starts a browser application on the computer. A spoofing DNS server points the browser to the service provider's registration server (for example, an OSS user interface or a mediator).
Step 5 The subscriber uses the service provider's user interface to complete the steps required for cable modem registration, including selecting a class of service. The subscriber also selects a CableHome class of service.
Step 6 The service provider's user interface passes the subscriber's information to BACC, including the selected classes of service for cable modem and CableHome, and computer IP address. The subscriber is then registered with BACC.
Step 7 The user interface prompts the subscriber to reboot the computer.
Step 8 The provisioning client calls performOperation(...) to reboot the modem and gives the modem provisioned access.
Step 9 When the computer is rebooted, it receives a new IP address from the CableHome device's DHCP server. The cable modem and the CableHome device are now both provisioned. Now the subscriber can connect a number of computers to the Ethernet ports of the CableHome device and they have access to the Internet.
Note If the configuration file supplied to the WAN-Man component enables the WAN-Data component on the box, it will get provisioned in the promiscuous mode. This assumes that the promiscuous mode is enabled at the technology defaults level for the DeviceType.CABLEHOME_WAN_DATA device type.
Lease Reservation Use Cases
This section describes use cases specifically related to the use of the lease reservation feature. Standard administrative operations, such as managing class of service, DHCP criteria; licenses, and so on, are not addressed here. The lease reservation use cases include:
• Bringing a Device Online Using a Service Provider IP Address
• Removing and Recreating a Reservation
• Assigning a New Device with an Old Device's IP Address
• Removing a Reservation and Assigning a New IP Address
• Rebooting a Device with the Same IP Address
• A Submitted Batch Fails when BACC Uses CCM
• A Submitted Batch Fails when BACC does not Use CCM
API Calls Affected by the Lease Reservation Feature
The implementation of these API calls supports the lease reservation feature:
•IPDevice.add(DeviceType DeviceType, String macAddress, String hostName, String domainName, String ownerID, String cosName, String dhcpCriteria, Map Properties)
•IPDevice.changeProperties(String macORFqdn, Map newPropToAdd, List propToDelete)
•IPDevice.changeMACAddress(String macORFqdn, String newMAC)
•IPDevice.delete(String macORFqdn, Boolean deleteDevicesBehind)
Bringing a Device Online Using a Service Provider IP Address
When a device is added to the BACC system datastore, the service provider configures that device with the specific IP address for the device using a BACC property (IPDeviceKeys.IP_RESERVATION).
Desired Outcome
Bring a device online with the exact IP address set in the property by the service provider. The granted IP address is reserved (lease reservation) for that device.
Step 1 The service provider adds a new device to the BACC system. The service provider configures the new device with a specific IP address 10.10.10.1.
Step 2 The service provider's user interface passes device information to BACC, such as the MAC address, FQDN, and classes of service. The BACC property (IPDeviceKeys.IP_RESERVATION) is used to reserve a specific IP address (10.10.10.1) for this device.
Step 3 The new device is then registered with BACC. The reservation of 10.10.10.1 is also created for MAC address "01:02:03:04:05:06" in the BACC/Network Registrar system.
Step 4 When the device is booted, it receives the exact IP address (10.10.10.1) set in the property by the service provider.
Rollback occurs if needed when the API command results in an error during processing or the change failed to commit to the RDU database. The command implementation removes the lease reservation of 10.10.10.1 for MAC address "01:02:03:04:05:06" from the BACC/Network Registrar if it was made during command processing.
Removing and Recreating a Reservation
After a device is registered to the BACC system with a reserved IP address, the service provider reassigns the device with a different IP address using a BACC property (IPDeviceKeys.IP_RESERVATION).
Desired Outcome
The device is rebooted with the exact IP address set in the property by the service provider. The reservation will be removed and recreated. The previously assigned IP address is unreserved for that device; and the new IP address is granted and reserved (lease reservation) for that device.
Step 1 A device is registered to BACC with a reserved IP address of 10.10.10.1.
Step 2 The service provider's application makes these API calls in BACC to change the reserved IP to 10.10.10.5.
Step 3 The reservation of 10.10.10.1 for MAC address "01:02:03:04:05:06" is removed from the BACC/Network Registrar system. The reservation of 10.10.10.5 for MAC address "01:02:03:04:05:06" is created in the BACC/Network Registrar system.
Step 4 When the device is rebooted as the result of device disruption by PACE disruptor (AUTOMATIC is used in the Activation mode), it receives the exact IP address (10.10.10.5) set in the property by the service provider.
Rollback occurs if needed when the API command results in an error during processing or the change failed to commit to the RDU database. The command implementation attempts to roll the device back to the prior working configuration. In this case, reservation of 10.10.10.1 for MAC address "01:02:03:04:05:06" will be re-added to the BACC/Network Registrar system if it was removed; the reservation of 10.10.10.5 for MAC address "01:02:03:04:05:06" will be removed from BACC/Network Registrar system if it was created during command processing.
Assigning a New Device with an Old Device's IP Address
After a device is registered to the BACC system with a reserved IP address, the service provider needs to replace the broken device with a device with a new MAC address.
Desired Outcome
The new device is booted with the same IP address granted to the broken old device. The reservation will be removed and recreated, as if the IP address of the device changed.
Step 1 A device is registered to BACC with a reserved IP address of 10.10.10.5.
Step 2 The service provider changes the MAC address of the existing device ("01:02:03:04:05:06") to that of the new device ("01:02:03:04:05:07") in the BACC system.
Step 3 The reservation of 10.10.10.5 for MAC address "01:02:03:04:05:06" is removed from the BACC/Network Registrar system. The reservation of 10.10.10.5 for MAC address "01:02:03:04:05:07" is created in the BACC/Network Registrar system.
Step 4 When the device with MAC address "01:02:03:04:05:07" is turned on, it receives the same IP address (10.10.10.5) granted to the broken old device.
Rollback occurs if needed when the API command results in an error during processing or the change failed to commit to the RDU database. The command implementation attempts to roll the device back to the prior working configuration. In this case, the reservation of 10.10.10.5 for MAC address "01:02:03:04:05:06" will be re-added to BACC/Network Registrar system if it was removed, the reservation of 10.10.10.5 for MAC address "01:02:03:04:05:07" will be removed from BACC/Network Registrar system if it was created during command processing.
Removing a Reservation and Assigning a New IP Address
After a device is registered to the BACC system with a reserved IP address, the service provider needs to remove the reservation of the specific IP address since the device no longer needs a reserved IP assignment.
Desired Outcome
The reservation will be removed from the system and Network Registrar/BACC selects the next available IP address in the appropriate IP pool based on the selected DHCP criteria and assigns it to the device.
Step 1 A device is registered to BACC with a reserved IP address of 10.10.10.5.
Step 2 The service provider's application makes these API calls in BACC to remove the reservation.
Step 3 The reservation of 10.10.10.5 for MAC address "1,6,01:02:03:04:05:07" is removed from the system.
Step 4 When the device is rebooted as the result of device disruption (AUTOMATIC is used in the Activation mode), dynamic address assignment occurs. Network Registrar/BACC selects the next available IP address in an appropriated IP address pool based on the selected DHCP criteria set on the device and grants it to the device.
Rollback occurs if needed when the API command results in an error during processing or the change failed to commit to the RDU database. The command implementation attempts to roll the device back to the prior working configuration. In this case, the reservation of 10.10.10.5 for MAC address "01:02:03:04:05:07" will be re-added from the BACC/Network Registrar system if it was removed during command processing.
Rebooting a Device with the Same IP Address
After a device is registered to the BACC system with a provisioned IP address (a dynamic IP assignment, not a reserved IP) granted by BACC/Network Registrar, the service provider reassigns the device with a different IP address using a BACC property (IPDeviceKeys.IP_RESERVATION).
Desired Outcome
The device is rebooted with the exact IP address set in the property (IPDeviceKeys.IP_RESERVATION) by the service provider. The granted new IP address is now reserved (lease reservation) for that device.
Step 1 A device is registered to BACC with dynamic IP address (Network Registrar/BACC selected an IP address in an appropriated IP pool based on select ed DHCP criteria on the device and granted it to the device).
Step 2 The service provider's application makes these API calls in BACC to reassign the IP address.
Step 3 The reservation of 10.10.10.1 for Mac address "01:02:03:04:05:08" is made with BACC/Network Registrar.
Step 4 When the device is rebooted as the result of device disruption (AUTOMATIC is used in the Activation mode), it receives the exact IP address (10.10.10.1) set in the property by the service provider.
Rollback occurs if needed when the API command results in an error during processing or the change failed to commit to the RDU database. The command implementation attempts to roll the device back to the prior working configuration. The reservation of 10.10.10.1 for MAC address "01:02:03:04:05:08" will be removed from BACC/Network Registrar system if it was added during command processing. When the device reboots, BACC/Network Registrar selects the next available IP address in the appropriate IP pool based on the selected DHCP criteria and grants it to the device.
Removing a Device from BACC
A service provider needs to remove the subscriber's device with a reserved IP from the BACC system.
Desired Outcome
Permanently remove the subscriber's device from the BACC system. The granted IP address is unreserved for that device.
Step 1 A device is registered to BACC with a reserved IP address of 10.10.10.5.
Step 2 The service provider uses its own user interface to remove the device from the BACC system. The service provider's user interface, acting as a BACC client, passes the information to BACC. BACC updates the device information and removes the device.
delete(
"1,6,01:02:03:04:05:07",
// macAdd
// deleteDevicesBehind ress: unique identifier for this device
true: deletes CPEs behind this modem.
):
Step 3 The reservation of 10.10.10.5 for MAC address "01:02:03:04:05:07" is also removed from BACC/Network Registrar system.
Rollback occurs if needed when the API command results in an error during processing or the change failed to commit to the RDU database. The command implementation attempts to roll the device back to the prior working configuration. The reservation of 10.10.10.5 for MAC address "01:02:03:04:05:07" will be re-added from the BACC/Network Registrar system if it was removed during command processing.
A Submitted Batch Fails when BACC Uses CCM
BACC is configured to use CCM. The OSS submits an API request to add or remove a reservation, but CCM is unavailable (connection down, CCM is incorrectly configured, CCM License issue, and so on).
Desired Outcome:
When a submitted batch fails, no reservation should be added or removed in BACC/Network Registrar; a pre-defined, well-known error code is correctly returned.
Step 1 The OSS builds and submits a batch containing the API calls listed in the "API Calls Affected by the Lease Reservation Feature" section for adding or removing reservations.
Step 2 The RDU receives the batch and processes it. During the processing, the RDU (via the API commands listed in the "API Calls Affected by the Lease Reservation Feature" section) makes an external CCM call for lease reservation related tasks.
Step 3 CCM is unavailable and an error occurs. Return status code from the API call will be set to CommandStatusCodes .CMD_ERROR_CCM_UNREACHABLE.
A Submitted Batch Fails when BACC does not Use CCM
BACC is not configured to use CCM. The OSS submits an API request to add or remove a reservation.
Desired Outcome
Submitted batch failed. No reservation is added/removed in the BACC/Network Registrar system; a pre-defined, well-known error code is correctly returned.
Step 1 The OSS builds and submits a batch containing the API calls listed in the "API Calls Affected by the Lease Reservation Feature" section for adding or removing reservations.
Step 2 The RDU receives the batch and processes it. During the processing, the RDU (via the API commands listed in the "API Calls Affected by the Lease Reservation Feature" section) detects that CCM is not configured for the lease reservation feature.
Step 3 An error occurs. Return status code from the API call will be set to CommandStatusCodes .CMD_ERROR_CCM_NOT_CONFIGURED.
Posted: Thu Feb 2 12:56:07 PST 2006
All contents are Copyright © 1992--2006 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.