Professional Documents
Culture Documents
Key words
ACS: Automatic Configuration Server CPE: Customer Premises Equipment CWMP: CPE WAN Management Protocol RPC: Remote Procedure Call SNMP: Simple Network Management Protocol STUN: Simple Traversal of UDP through NAT TLS: Transport Layer Security UPnP: Universal Plug and Play
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
History
DSLHome working group started work on DSL CPE/modem autoconfiguration years ago TR-037 DSL CPE Auto-Configuration is an ATM ILMI based autoconfiguration of mainly layer2 (ATM PVCs and their encapsulation) TR-046 Auto-Configuration Architecture & Framework specifies the scope for future auto-configuration work
History
TR-64 LAN-Side DSL CPE Configuration Specification was started because of the need for a standard interface for PC-based (LAN-side) install applications. Based upon the UPnP Device Architecture, extensions where defined to meet the LAN-side CPE configuration requirements. Differences between TR-64 and UPnP: Separate root device and namespace (co-exists independent from UPnP) No support for eventing (GENA) Digest Authentication per SOAP action Optional use of SSL/TLS (Secure Socket Layer/Transport Layer Security) Transactional semaphores to prevent simultaneous configuration by multiple control points Different modeling of some connection models (PPPoE) by LinkType/ConnectionType IGD datamodel extensions for DSL CPE management
6
History
TR-69 CPE WAN Management Protocol specification started at the same time as TR-64. From the start, the technical approach was controversial and heavily discussed. Cisco proposed an SNMP based solution, where as 2Wire contributed their completely proprietary management protocol. SNMP was not selected because of security concerns (SNMPv1 and SNMPv2) lack for standard MIBs for DSL CPE management management<>agent role: manager connects to agents, where for scalability reasons the CPE needed to connect to the server A proprietary protocol was not acceptable, needs to be standards based Data model ideally common/aligned between TR-64 and TR-69
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
What is TR-069
TR-069 is a CPE WAN Management Protocol (CWMP), which was created by the DSL Forum. It provides the communication between CPE and Auto Configuration Servers (ACS). An ACS can manage a device, trouble shoot, configure, upgrade etc. TR-069 is currently the de facto standard for activation of the boxes at their first connection to the network.
10
CWMP Protocols
TCP/IP: Transmission Control Protocol / Internet Protocol
SSL/TLS: Secure Socket Layer version 3.0; Transport Layer Security version 1.0
HTTP: Hypertext Transport Protocol version 1.1; HTTP POST messages SOAP: Simple Object Access Protocol version 1.1
XML RPC: Remote procedure call encoded in SOAP. All messages exchanged between the CPE and ACS are RPCs.
11
TR-69: SOAP
The TR-69 SOAP binding on HTTP is not standard.
The CPE sends a SOAP envelope in HTTP request with RPC to server. Server sends HTTP reply with SOAP envelope containing RPC response CPE sends a HTTP empty POST request Server sends HTTP reply with SOAP envelope containing RPC Standard client/server roles are reversed as server is sending requests (RPCs) within a HTTP reply message
TR-69 is because of this not web services (including WSDL) compatible/compliant and doesnt work with off-the-shelf SOAP or web server libraries
12
RPC
Remote Procedure Calls (RPC) are methods that allow one program to use the services of another program in a remote machine. The calling program sends a message and data to the remote program, which is executed, and results are passed back to the calling program.
13
TR-69: RPCs
Required RPCs Optional RPCs CPE Methods Upload FactoryReset GetQueuedTransfers ScheduleInform SetVoucers GetOptions
CPE Methods
GetRPCMethods SetParameterValues GetParameterValues GetParameterNames SetParameterAttributes GetParameterAttributes AddObject DeleteObject Download Reboot
14
Example management session message flow The CPE is responsible for establishing the session to the server
HTTP Post
Inform Request
HTTP Response
InformResponse
The CPE keeps sending HTTP POST requests during the session.
The session is closed as soon as both CPE and ACS have indicated they have nothing more to send (response or new RPC)
HTTP Post
HTTP Response
GetParameterValues Request
HTTP Post
GetParameterValuesResponse
HTTP Response
SetParameterValues Request
HTTP Post
SetParameterValuesResponse
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
17
The data model can be addressed by full parameter paths or partial paths
18
GetParameterValues SetParameterValues
AddObject
DeleteObject GetParameterAttributes
SetParameterAttributes
19
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
20
21
22
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
23
WT-131, WT132 ACS Northbound Interface TR-69 CWMP Am.1 TR-98 Am.1 IGD Model TR-104 VoIP Model
TR-111 CWMP for Home Devices WT-135 STB Model TR-106 CWMP Enabled Device Model Template
24
25
26
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
27
CWMP Interoperability
DSL-Forum regularly organizes TR-69 Plugfest test events where all participating CPE devices can test against all participating ACS servers Thomson participated in previous Plugfest test events. PD-128 Interoperability Test Plan for TR-069 Plugfests Document with definition of TR-69 tests and their expected outcome Used as plugfest test events as tests to perform De-facto reference for TR-69 testing by customers and ACS vendors Thomson firmware is interoperability tested with and by ACS partners.
28
CWMP Interoperability
Each firmware is interoperability tested with the deployed servers at customers. Main protocol interoperability problems in the past where due: Open HTTP1.1 requirements (e.g. chunked transfer support, number of cookies...) Trial and error with new emerging servers Unsupported PD-128 test cases (parameter attributes...) TR-69 Amendment 1 specification update with new and even changed (e.g. session termination) requirements Data model interoperability problems are occurring due: Hundreds of implemented parameters are not all tested Focus on customer deployment scenarios, not all combinations of parameters
29
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
30
31
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
32
Implementation: CWMP
CWMP-C CWMP Client application communicating with ACS Handles firmware and configuration file download CWMP state machine
On startup, periodic, value change connection to server Handling all ongoing management actions and reporting completion to server
Data model related RPCs are transferred to MBUS IGD Supports Application based labeling (service manager integration)
CWMP-S CWMP Connection Request Server Listens for connection requests
HTTP authentication On valid connection request, triggers CWMP-C to connect to ACS
33
Implementation: CWMP
CWMP Atomic MBUS client Maps TR-069 Download on FileTransfer plugin handling the file download and application
ATOMIC MBUS
CWMP Atomic MBUS plugin Registers parameters for its own configuration settings (maps to IGD ManagementServer)
IGD MBUS
Connection Request Atomic MBUS client Retrieves connection request settings and sets flag when connection requested (evented to CWMP client)
CWMP IGD MBUS client Maps TR-069 GetParameterNames, Get/SetParameterValues, AddObject, DeleteObject, Get/SetParameterAttributes on IGD MBUS commands
CWMP client
certificates
TLS/SSL TCP/IP
34
MBUS
events
IGD MBUS
CWMP-C
events
Plug-in Interface (function, domain/inet sockets) IGD/Atomic Mapping Client Interface (function, domain/inet sockets)
Security Mgr Event
Mgr
Module_5
Access Right
ATOMIC MBUS
Config Mgr
Config File
cmd/subsc.
cmd/subsc.
cmd/subsc.
cmd/subsc.
35
Module_1
Module_2
Module_3
Module_4
MBUS Atomic Internal data model close to internal modules and current CLI Superset of data model defined in TR-98 IGD model Internal management interface for CLI, GUI... MBUS IGD<>Atomic Mapping Maps or translates between the IGD and internal (atomic) data models Operations on IGD model are mapped/translated to operations on atomic model
36
Whats New
TR-111 Applying TR-69 to Remote Management of Home Devices Device-Gateway Association
Exchange of IDs via DHCP so ACS learns the association
Support TR-69 capable home network devices (STB, VoIP, NAS...) Improved TR-69 Amendment 1 Interoperability PD-128 Interoperability Test Plan support M event
M Reboot, M Download Inform events
Download Delay
Postpones a file download with a number of seconds
37
Whats New
ScheduleInform RPC
ScheduleInform allows an ACS to schedule the CPE to report back at the right time Eliminates the need for the ACS to initiate connection requests to large numbers of devices Application: Firmware upgrades during a maintenance time window
38
Default:
InternetGatewayDevice.DeviceSummary InternetGatewayDevice.DeviceInfo.SpecVersion InternetGatewayDevice.DeviceInfo.HardwareVersion InternetGatewayDevice.DeviceInfo.SoftwareVersion InternetGatewayDevice.DeviceInfo.ProvisioningCode InternetGatewayDevice.ManagementServer.ConnectionRequestURL InternetGatewayDevice.ManagementServer.ParameterKey InternetGatewayDevice.WANDevice.x.WANConnectionDevice.x.WAN*Connection.ExternalIPAddress
39
Whats New
Configurable Amendment 1 Session Termination
NoMoreRequests header element is deprecated
Session considered terminated if the CPE has sent an empty POST before For Compliance : Configurable via CLI original TR-69 TR-69 Amendment 1.
40
Whats New
Upgrade delay on detection of service activity
Postpones the firmware upgrade Detection of (customizable) service activity Application: Postponing firmware upgrade when VoIP calls are ongoing (e.g. up till a maximum of one hour)
41
Whats New
QueueManagement (TR-098)
QueueManagement QoS classification and queue mapping
IPPingDiagnostics
IP Ping diagnostics test and completion reporting to ACS
42
Whats New
DataModel extension (continued) DSL Statistics
Additional DSL statistics and error counters
Layer2Bridging
VLAN provisioning (VLAN bridging, tagging...)
IPPingDiagnostics
IP Ping diagnostics test and completion reporting to ACS
Connection (proprietary)
Stats on current TCP/UDP connections ALG provisioning
ParentalControl (proprietary)
URL and Content filtering provisioning Walled Garden / Captive Portal intercept configuration
43
TR-98 Amendment 1
Partially compliant WANDSLDiagnostics, WANATMF5LoopbackDiagnostics not supported
TR-104
Compliant for SIP, MGCP and H323
TR-111
Compliant
WT-107
Partially compliant Support for DHCPConditionalServing and DHCPOption
44
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
45
Deployment
Thomsons Implementation/Deployment Strategy
Right approach: Service Providers do not roll out all services immediately
46
47
Notifications allow the ISP to receive a message when some environment variable changes at the customer premise Remotely enabling of new / extra features
e.g. a user can move to IPTV and TR-069 will reconfigure the modem to fill the needs
48
Deployment - Example
Zero Touch Provisioning
Joe USER ISP ACS
DSLAM
Broadband Internet
Connection established
49
Deployment facts
Firmware Upgrade RTEMS <> GoLinux RTEMS: Single <> Dual memory boards DataModel Disadvantage is that all parameters have to be supported on ACS and CPE / order of configuration steps is important Advantage: standard / reading current config and statistics STS Advantage: Is pure CLI cmds and can configure everything. Disadvantage: sts has no knowledge of previous configuration remove and replace required
50
Contents
History TR-69 CPE WAN Management Protocol TR-98 InternetGatewayDevice Data Model TR-104 Provisioning Parameters for VoIP CPE CWMP Related Specifications CWMP Interoperability CWMP ACS Servers Implementation Deployment CLI
51
52
53
55
56