Replace CPE Flow
1. Overview
The Replace CPE Flow moves the provisioning data of one CPE to another CPE. The first CPE is the Source. The second CPE is the Destination. A typical case is a device swap for a subscriber. The flow provisions the Destination through the Input Flow. Then the flow clears the Source.
These requests start the flow:
-
the Replace device tab, see Replace CPE
-
ReplaceCPEover SOAP -
POST /replace-cpeover REST
The request identifies each CPE by its serial number (SN) or its MAC address.
The Business Process Model and Notation (BPMN) process is ReplaceCPEProcess in replaceCPE.bpmn.
The provision database (provision DB) must contain provisioning data for the Source.
2. Flow Diagram
The numbers in the circles are status codes. For their meaning, see Status Codes Reference.
The diagram also shows status codes 423, 4110 and 4200. The flow does not write these codes.
3. Steps
3.1. Prepare the Destination
-
The flow searches the provision DB for the Source.
-
If the provision DB has records of the Destination, the flow deletes these records.
-
The flow searches the ACS for the Destination. For a MAC address, the flow uses
FTFindCPEByWANMAC. -
If the ACS has the Destination, the flow checks the online status of the Destination.
-
The flow removes the old data of the Destination from the ACS: the provisioning data and the user info.
If the provision DB has no data for the Source, the flow ends with status 4000. An offline Destination stops the flow with status 4050. If the ACS does not have the Destination yet, the flow skips steps 4 and 5.
3.2. Transfer the Data
-
The flow reads the provisioning data of the Source from the provision DB.
-
The flow converts the data by the rules of replaceCPE.xml.
-
The flow builds a
ProvisioningForDevicerequest from the data. -
The flow runs the Input Flow for the Destination.
In step 2, the flow uses the <model> section for the OUI and the Product Class of both CPEs.
The flow converts the matching parameters, objects and services.
If replaceCPE.xml has no such section, the flow moves the data without changes.
If no data matches the section, the flow also moves the data without changes.
The Input Flow writes its own status codes for the Destination.
3.3. Clear the Source
-
The flow deletes the records of the Source from the provision DB.
-
If the ACS has the Source, the flow removes the Source provisioning data and user info from the ACS.
-
If the Source is online,
FTRPCInvokeresets the Source to factory defaults. -
The flow waits for the result of the factory reset task.
4. Status Codes
| Code | Meaning |
|---|---|
400, 4000, 4001 |
Source in the provision DB: yes, no, provision DB error |
401, 402, 4010 |
Destination in the provision DB: yes, no, search failure |
403, 4030 |
Destination records deleted from the provision DB: success, failure |
426, 427, 4260 |
SN for the Destination MAC address: found, not found, |
404, 406, 4040 |
Destination in the ACS: yes, no, search failure |
405, 4050, 4051 |
Destination online, Destination offline, online status unknown. The flow ends after 4050 and 4051. |
407, 4070 |
Destination provisioning data removed from the ACS: success, failure |
431, 4310 |
Destination user info removed from the ACS: success, failure |
408, 4080 |
Source data read from the provision DB: success, failure |
409, 410 |
Section for the Source and the Destination in replaceCPE.xml: yes, no |
411, 412 |
Data converted, no matching data |
413, 4130 |
|
415, 4150 |
Input Flow for the Destination: success, failure |
416, 4160 |
Source records deleted from the provision DB: success, failure |
428, 429, 4280 |
SN for the Source MAC address: found, not found, |
417, 430 |
Source in the ACS: yes, no |
418, 4180 |
Source provisioning data removed from the ACS: success, failure |
419, 4190 |
Source user info removed from the ACS: success, failure |
421, 420 |
Source online, Source offline |
422 |
Factory reset of the Source started |
4220 |
|
4231 |
Factory reset task still pending after the timeout |
4230, 4240 |
Factory reset task failed, rejected or without a result |
424 |
Source reset to factory defaults |
Final statuses for a successful replacement:
| Code | Result |
|---|---|
424 |
The flow reset the Source to factory defaults. |
420 |
The Source was offline. |
429 |
The ACS does not have the Source. The request used a MAC address. |
430 |
The ACS does not have the Source. The request used an SN. |