The TR-069 Agent allows an ACS to provision a CPE or collection of
CPEs. The provisioning mechanism includes specific provisioning parameters and
a general mechanism for adding vendor-specific provisioning capabilities as
needed. The identification mechanisms included in the protocol allow CPE
provisioning based either on the requirements of each specific CPE, or on
collective criteria such as the CPE vendor, model, software version, or other
criteria.
The provisioning mechanism allows CPE provisioning at the time of
initial connection to the broadband access network and the ability to
reprovision at any subsequent time. This includes support for asynchronous
ACS-initiated reprovisioning of a CPE.
The TR-069 Agent also supports image upgrade, configuration
application, file downloads, configuration and log file uploads, and CPE
monitoring.
Note |
The TR-069 Agent CPE
devices must be set up and enabled for TR-069. An ACS used to communicate with
the CPE must be TR-069 compliant in order to enable the TR-069 Agent.
|
RPC Support
The following remote procedure calls (RPCs) supported with the TR-069
Agent:
- Standard RPCs
- GetRPCMethods
- SetParameterValues
- GetParameterValues
- GetParameterNames
- SetParameterAttributes
- GetParameterAttributes
- AddObject
- DeleteObject
- Reboot
- Download
- Upload
- Vendor RPCs
- X_00000C_SetConfiguration
- X_00000C_ShowStatus
CWMP Vendor Profile
Schema
The following details the CWMP vendor profile schema:
<cwmp:X_00000C_SetConfiguration>
<ErrorOption> rollback </ErrorOption>
<Target> {running-config | startup-config} </Target>
<ConfigCommandBlock> block of clis separated by newline [\n] character </ConfigCommandBlock>
<ConfigCommandList array of strings[1..unbounded] each of length 256>
<string> IOS Configuration command 1 </string>
<string> IOS Configuration command 2 </string>
</ConfigCommandList>
<ParameterKey> parameterkey </ParameterKey>
</cwmp:X_00000C_SetConfiguration>
ErrorOption => string with length 64
Target => string with length 64
On success,
<X_00000C_SetConfigurationResponse>
<Status>0</Status>
</X_00000C_SetConfigurationResponse>
On failure,
<SOAP:Fault>
<SOAP:faultcode>Client</SOAP:faultcode>
<SOAP:faultstring>CWMP fault</SOAP:faultstring>
<SOAP:detail>
<cwmp:Fault>
<FaultCode></FaultCode>
<FaultString></FaultString>
<cwmp:X_00000C_SetConfigurationFault>
<Command>IOS Configuration command that failed</Command>
<FaultCode>parse_cmd() return value</FaultCode>
</cwmp:X_00000C_SetConfigurationFault>
<cwmp:X_00000C_SetConfigurationFault>
<Command>IOS Configuration command that failed</Command>
<FaultCode>parse_cmd() return value</FaultCode>
</cwmp:X_00000C_SetConfigurationFault>
</cwmp:Fault>
</SOAP:detail>
</SOAP:Fault>
<cwmp:X_00000C_ShowStatus>
<ExecCommandList array of strings[1..unbounded] each of length 256 >
<string> IOS Exec command 1 </string>
<string> IOS Exec command 2 </string>
<string> IOS Exec command 3 </string>
</ExecCommandList>
</cwmp:X_00000C_ShowStatus>
On success,
<cwmp:X_00000C_ShowStatusResponse>
<ExecResponseList array of ExecResponseStruct [1..unbounded]>
<ExecResponseStruct>
<Command> IOS Exec command 1 </Command>
<Response> output of command 1</Response>
</ExecResponseStruct>
<ExecResponseStruct>
<Command> IOS Exec command 2 </Command>
<Response> output of command 2 </Response>
</ExecResponseStruct>
<ExecResponseStruct>
<Command> IOS Exec command 3 </Command>
<Response>output of command 3</Response>
</ExecResponseStruct>
</ExecResponseList>
</cwmp:X_00000C_ShowStatusResponse>
On failure,
<SOAP:Fault>
<SOAP:faultcode>Client</SOAP:faultcode>
<SOAP:faultstring>CWMP fault</SOAP:faultstring>
<SOAP:detail>
<cwmp:Fault>
<FaultCode></FaultCode>
<FaultString></FaultString>
</cwmp:Fault>
</SOAP:detail>
</SOAP:Fault>