Professional Documents
Culture Documents
rnet
er
Pow
-in
Ethe
WLA
Plug
ISDN
rnet
DSL
Inte
Trademarks
Document Information
1 Introduction.................................................................................. 3
1.1 References and Related Documents ............................................................... 4
E-DOC-CTC-20071119-0003 v1.0
i
Contents
6 Service Provisioning.................................................................. 69
6.1 VoIP............................................................................................................... 70
E-DOC-CTC-20071119-0003 v1.0
ii
About this TR-069 Configuration Guide
Used Symbols
A caution warns you about potential problems or specific precautions that need to be taken.
Terminology
Generally, the Thomson Gateway123 will be referred to as Wireless USB Adaptor in this TR-069 Configuration
Guide.
Typographical Conventions
Following typographical convention is used throughout this manual:
Sample text indicates a hyperlink to a Web site.
Example: For more information, visit us at www.thomson-broadband.com.
Sample text indicates an internal cross-reference.
Example: If you want to know more about guide, see “1 Introduction” on page 7”.
Sample text indicates an important content-related word.
Example: To enter the network, you must authenticate yourself.
Sample text indicates a GUI element (commands on menus and buttons, dialog box elements, file
names, paths and folders).
Example: On the File menu, click Open to open a file.
E-DOC-CTC-20071119-0003 v1.0
1
About this TR-069 Configuration Guide
Overview
This TR-069 Configuration Guide provides technical information on TR-069 and how this relates to the
various Thomson Gateway products. In the first chapter, a brief introduction to the TR-069 CWMP protocol
and the TR-098 IGD data model is presented. The following chapter gives detailed information on the
configuration of CWMP on the Thomson Gateway using CLI commands. The last chapters focus on the
different use cases that are currently supported using CWMP.
This document is structured as follows:
Topic Page
“1 Introduction” 3
“5 WAN Connections” 59
“6 Service Provisioning” 69
“7 Zero-Provisioning” 101
2 E-DOC-CTC-20071119-0003 v1.0
1| Introduction
1 Introduction
Introduction
This chapter provides a short introduction to the TR-069 CWMP protocol and the TR-098 IGD data model.
Overview
This chapter is structured as follows:
Topic Page
“1.1 References and Related Documents” 4
E-DOC-CTC-20071119-0003 v1.0
3
1| Introduction
Related documents
Several DSL-Forum documents are related to TR-069 and TR-098, specifying data models for devices other
than an IGD (for example STB, PCs, NAS), or specifying extensions of the IGD data model.
Following specifications are relevant to this configuration guide:
TR-064 “LAN-side DSL CPE configuration”, May 2004: this document provides a standard interface for
PC-based (LAN-side) install applications. It defines LAN-side CPE configuration.
TR-104 “Provisioning parameters for VoIP CPE”, September 2005: this document defines a generic
VoiceService data model for provisioning of VoIP CPEs, for example an Integrated Access Device (IAD) or
an Analogue Telephone Adapter (ATA). The model supports SIP, MGCP and H323 signalling protocols.
TR-106 Amendment 1 “Data model template for TR-069 enabled devices”, November 2006: this
document defines a Device data model for any TR-069 enabled LAN device that is not an IGD. This model
supports the DeviceSummary parameter.
TR-111 “Applying TR-069 to remote management of home networking devices”, December 2005: this
document defines two mechanisms that extend TR-069 with remote management of LAN devices behind
an Internet Gateway.
LAN Device-gateway association: this mechanism allows an ACS managing a LAN device to identify
the associated gateway through which that device is connected. The gateway and LAN device
exchange their device identity (OUI-product class-serial number) via DHCP option 125.
Connection Request via NAT gateway: this mechanism allows an ACS to initiate a TR-069 session
with a LAN device that is operating behind a NAT gateway. STUN (Simple Traversal of UDP through
NAT) is used between the LAN device and the ACS.
In addition, extensions to the Device and InternetGatewayDevice data models are defined.
WT-107 “Internet Gateway Device data model (TR-098 issue 2)”, September 2006: this document extends
the IGD data model with DHCP conditional serving, HPNAv3, MoCA, 802.1X,...
WT-135 “Data model for TR-069 enabled STB”: this document defines a STBDevice data model for a STB
(Set-Top Box) CPE as an extension of TR-069.
4 E-DOC-CTC-20071119-0003 v1.0
1| Introduction
WT-140 “TR-069 data model for storage service enabled devices”: this document defines a
StorageService data model for a device that maintains a storage service, such as a Network Attached
Storage (NAS) device, as an extension of TR-069.
PD-128 version 6 “Interoperability test plan for TR-069 plugfests”, June 2006: this document defines
TR-069 tests and their expected outcome. These tests are used during the TR-069 plugfests as tests to
perform. The DSL Forum regularly organizes TR-069 plugfest test events where all participating CPE
devices can test against all participating ACS servers. The document is also the de facto reference for
TR-069 testing by customers and ACS vendors.
Architecture
Following illustration shows the location of the specifications in the CWMP architecture:
TR-064
LAN CPE Auto-Configuration
CPE
WT-135
STB Model TR-098 (Am.1)
CPE IGD Model Provider
TR-106 CWMP enabled
device model template Access IP
Network Network
ACS
TR-111 CWMP
for home devices
CPE DSLAM BRAS ACS
TR-069 CWMP (Am.1)
WT-140
CPE
Network Storage Model
TR-104 Helpdesk
VoIP Model
E-DOC-CTC-20071119-0003 v1.0
5
1| Introduction
Session establishment
All transaction sessions are established by the CPE, by sending an Inform RPC to the ACS.
We distinguish two types of transaction sessions:
CPE initiated sessions
Asynchronous ACS initiated sessions: the CPE establishes a transaction session to the ACS after receipt
of a Connection Request from the ACS.
6 E-DOC-CTC-20071119-0003 v1.0
1| Introduction
Inform events
The Inform RPC contains the Inform event argument, to indicate the cause(s) of the transaction session
establishment.
Following table gives an overview of the different Inform events and their use:
Event Description
0 BOOTSTRAP The first time that the CPE contacts the ACS.
M <method name> The Inform RPC is triggered by another RPC method (M = Master):
Reboot
Download
ScheduleInform
Upload (optional)
Initial handshake
The initial handshake between the CPE and the ACS takes place when the CPE contacts the ACS for the very
first time or due to a change of the ACS URL.
Following actions are taken during the initial handshake:
The CPE sends an initial Inform RPC with the “0 BOOTSTRAP” event.
The CPE authenticates itself to the ACS.
The ACS requests the list of methods that are supported by the CPE using the GetRPCMethods RPC.
The ACS activates the required services on the CPE, according to the “activation policies”. For example,
the ACS configures the voice service and wireless service.
Forced reboot
The Reboot RPC causes the CPE to reboot. This forced reboot might be desired to restart the Thomson
Gateway clearing all state.
E-DOC-CTC-20071119-0003 v1.0
7
1| Introduction
When the CPE receives a Reboot RPC from the ACS, following steps are executed:
1 The ongoing transaction session is finalized. This means that all outstanding requests are sent and all
responses are received. After finalization, the ongoing transaction session is closed.
2 The CommandKey argument of the Reboot message must be remembered across the reboot via either:
Writing it to the memory prozone. This is a memory protected zone that is not reinitialized after a
“warm” reboot.
Writing it to the configuration file (user.ini).
3 A “warm” reboot is triggered.
4 After reboot, an Inform message is sent. The Event argument contains:
EventCode: “1 BOOT”, “M Reboot” and possibly other EventCodes.
CommandKey: the value of the CommandKey argument of the Reboot message is sent as
CommandKey for the EventCode “M Reboot”.
Session re-establishment
In some cases, the TCP connection is closed before the transaction session is completed. For example, the
session is interrupted by the ACS. If necessary, the CPE re-establishes the TCP connection to the ACS.
In this case, the Inform RPC contains:
Inform event: if the session is re-established because of a pending TransferComplete RPC to be sent to
the ACS, the Inform event is “7 TRANSFER COMPLETE”. In other cases, the Inform message contains the
undelivered Inform events from the interrupted session.
Cookie: the Inform message includes the transaction Cookie (if received from the ACS during the
transaction session) as HTTP header field.
Factory reset
The FactoryReset RPC resets the CPE to its factory default state. When a problem occurs and the cause is not
found, a reset to (pre-provisioned) ISP defaults via the FactoryReset RPC triggers the zero-provisioning use
case. Although some user configuration might be lost, a reset to factory defaults guarantees auto-
configuration and service activation as described in the “Zero-provisioning” use case.
When the CPE receives a FactoryReset RPC from the ACS, following steps are executed:
1 The ongoing transaction session is finalized. This means that all outstanding requests are sent and all
responses are received. After finalization, the ongoing transaction session is closed.
2 A reset to factory defaults is triggered.
1 The user configuration file (user.ini) is deleted.
2 A configuration load is performed: in absence of the user configuration file, the service provider
defaults (ISP.def) are loaded. In absence of these service provider defaults, factory defaults are
loaded.
Download
The Download RPC may be used by an ACS to cause the CPE to download a specified file from the designated
location.
When the CPE receives a Download RPC from the ACS, following steps are executed:
1 A DownloadResponse RPC is sent with Status argument set to 1 (the download is not yet completed).
2 The ongoing transaction session is closed.
3 Whether or not steps are executed before the file transfer, depends on the FileType argument of the
Download RPC. For more information, see “3.1 Firmware Upgrade” on page 32 and “3.2 Configuration
Update” on page 41.
8 E-DOC-CTC-20071119-0003 v1.0
1| Introduction
4 File transfer is initiated: a HTTP GET message is sent by the CPE to the file server.
5 File transfer is completed (or an error occurred).
6 A new transaction session to send the TransferComplete RPC is established after loading the downloaded
configuration file or firmware image. The exact steps depend on the FileType argument of the Download
RPC. For more information, see “3.1 Firmware Upgrade” on page 32 and “3.2 Configuration Update” on
page 41.
The Download RPC can also be triggered from the CLI. To this end, use the CLI command
:software download and provide the requested Download RPC parameters (filetype, url,
username, password, filesize, targetfilename).
E-DOC-CTC-20071119-0003 v1.0
9
1| Introduction
InternetGatewayDevice
DeviceInfo WANDevice
Service
WANCommonInterfaceConfig WANConnectionDevice
ManagementServer Service
Service WAN*LinkConfig WAN**Connection Service
Service
WAN***InterfaceConfig
DeviceConfig Service
Service
Time
Service
UserInterface
Service
LANDevice
Layer3Forwarding
Service LANHostConfigManagement
Service LANDevice LAN****InterfaceConfig Service
Layer2Bridging
Hosts
Service
Service
IPPingDiagnostics
Service
X_000E50_AccessRights
Service
Services
X_000E50_NATApplicationList VoiceService
X_000E50_Firewall
Service
Service
Capabilities VoiceProfile Service
X_000E50_DynamicDNS Service
X_000E50_Connection Service
Service
X_000E50_RemoteAccess
Service X_000E50_UAMapping
Service
X_000E50_ParentalControl
Service
PhyInterface Service
* DSL, Ethernet
** IP, PPP
*** DSL, Ethernet
**** Ethernet, USB
10 E-DOC-CTC-20071119-0003 v1.0
1| Introduction
Path names
To identify a parameter or object in the data model, path names are used. Both complete and partial path
names are supported:
Complete path name: a complete path name is the name of a parameter.
For example “InternetGatewayDevice.DeviceInfo.SoftwareVersion”.
Partial path name: a partial path name ends with a “.” (dot) and is the name of an object. If multiple
instances of an object can exist, the object name is followed by the place holder “{i}.”. To identify a single
object instance, this place holder must be replaced by an instance number.
For example “InternetGatewayDevice.DeviceInfo.” or “InternetGatewayDevice.WANDevice.{i}.”.
To identify the full data model tree, use the partial path name “InternetGatewayDevice.”.
Following illustration shows some examples:
InternetGatewayDevice.DeviceInfo.SoftwareVersion
Object
Object
Parameter
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.ExternalIPAddress
Object
Object instance
Object instance
Object instance
Parameter
E-DOC-CTC-20071119-0003 v1.0
11
1| Introduction
12 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
Introduction
This chapter describes in detail the configuration of CWMP on the Thomson Gateway using CLI commands.
This includes the configuration of the TLS/SSL client and certificates, the CWMP service manager and
daemon, and the state checks to detect service activity.
Overview
This chapter is structured as follows:
Topic Page
“2.1 Configuring TLS” 14
E-DOC-CTC-20071119-0003 v1.0
13
2| Configuring CWMP on the Thomson Gateway
Introduction
The use of TLS/SSL is optional.
Whether or not to use TLS/SSL is derived form the ACS URL scheme or file URL scheme:
If the URL scheme starts with https://, TLS/SSL is used.
If the URL scheme starts with http://, TLS/SSL is not used.
To display the transport protocol and port used by the HTTP and HTTPS services, execute following
commands:
Overview
This section is structured as follows:
Topic Page
“2.1.1 TLS Client” 15
14 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
E-DOC-CTC-20071119-0003 v1.0
15
2| Configuring CWMP on the Thomson Gateway
1-
Subject : /CN=SpeedTouch 780/O=THOMSON/OU=0639JT008
Not Before : Jan 1 00:00:00 2005 GMT
Not After : Dec 31 00:00:00 2024 GMT
Issuer : /CN=SpeedTouch 780/O=THOMSON/OU=0639JT008
Key Strength : 1024 bit
Certificate : /dl/tls/cert0001.pem
-----BEGIN CERTIFICATE-----
MIIB9TCCAV6gAwIBAgIEirL3QTANBgkqhkiG9w0BAQUFADA/MRcwFQYDVQQDEw5T
cGVlZFRvdWNoIDc4MDEQMA4GA1UEChMHVEhPTVNPTjESMBAGA1UECxMJMDYzOUpU
MDA4MB4XDTA1MDEwMTAwMDAwMFoXDTI0MTIzMTAwMDAwMFowPzEXMBUGA1UEAxMO
U3BlZWRUb3VjaCA3ODAxEDAOBgNVBAoTB1RIT01TT04xEjAQBgNVBAsTCTA2MzlK
VDAwODCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzzFG44ShTLd8mq8iGrsG
adtKkVJlgaL0DIykw4Tq++hanq6or0xVb51Vjn3spuVckZTvoMt+NZg9B8xAjP1V
v5gQcNFv3lmeB7x0Gcfcf5cCSGFlQ+eq7OLh3a9nVO0BPx3wcSBZ3hcxJtRaPzCU
r6kW3aVe/3JRle9MuzhKZTsCAwEAATANBgkqhkiG9w0BAQUFAAOBgQCU7J7L7n/c
Pony41ik6c7kXubwSsg0MRFxLVtkIlcVAc0rcY3CWA0Qd5l9ofP9+bkLeOTE8b54
3f94bsydlIUmh/8xBgcRxOSH9Ws06Dhp3RMwgmTzotl0KSwSAIJRM9gV/uPlrZgx
CLYxODvcT5KyJlKIISVPhWVjYU3yTo0lLw==
-----END CERTIFICATE-----
16 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
E-DOC-CTC-20071119-0003 v1.0
17
2| Configuring CWMP on the Thomson Gateway
Introduction
The implementation of CWMP on the Thomson Gateway is split up in two parts:
CWMP service manager: use the service manager to:
Enable or disable the CWMP client.
Assign a specific QoS label and route label to traffic originated by the CWMP client.
Enable or disable the CWMP connection request server.
Configure the port used by the CWMP connection request server to receive connection requests.
Enable or disable logging of the CWMP connection request server.
Configure the NAT portmap weight of the CWMP connection request server.
CWMP daemon: use the daemon to configure all other aspects of the CWMP protocol, including:
Operational mode.
Use of Periodic Inform RPCs.
Use of Connection Requests.
Session termination.
Authentication user names and passwords.
Overview
This section is structured as follows:
Topic Page
“2.2.1 CWMP Service Manager” 19
18 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
Introduction
CWMP services consist of two services:
CWMP-C: the CWMP client service. The CWMP client is responsible for establishing connections to the
ACS and for sending Inform RPCs. The CWMP client has a state machine to track RPCs and report their
result (for example via a TransferComplete RPC).
CWMP-S: the CWMP connection request server service. The CWMP connection request server listens on
a TCP port for connection requests, performs HTTP authentication and triggers the CWMP client to
establish a connection to the ACS.
CWMP client
To display the attribute values of the CWMP client service, execute following command:
Qoslabel: the Thomson Gateway supports application-based QoS label assignment. If the value of this
attribute differs from none, all CWMP client originated data automatically has a QoS label assigned. This
QoS label determines the internal QoS class of the data.
To assign a specific QoS label to all data, for example the label “Interactive”, execute following
command:
Routelabel: the Thomson Gateway supports application-based Route label assignment. If the value of
this attribute differs from none, all CWMP client originated data automatically has a route label assigned.
This route label can be used for IP forwarding. This enables forwarding all CWMP traffic over a particular
IP interface.
To assign a specific route label to all data, for example the label “Interactive”, execute following
command:
E-DOC-CTC-20071119-0003 v1.0
19
2| Configuring CWMP on the Thomson Gateway
Port: this attribute is the port on which the connection request server listens for connection requests. The
default port is 51005.
To assign another port number to the port, execute following command:
Log: this attribute is used to enable or disable service logging in the syslog message buffer. By default,
logging is disabled.
To enable logging of the service, execute following command:
Natpmweight: the NAT portmap weight for the service. By default, this attribute has value 30.
To change the value of this attribute, execute following command:
20 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
=>:cwmp config
State : disabled
Mode : full
Max Envelopes : 2
Session Timeout : 60
No Ip Timeout : 180
Connection Request Port : 51005
Periodic Inform : enabled
Periodic Inform Interval : 43200 s
Connection Request : disabled
Connection Request UserName : 000E50-CP0452JT03Y
Connection Request PassWord : ********
Connection Request Path :
Connection Request Authentication : digest
Qos class : 12
Boot delay range between 0 and : 0 s
Amendment 1 Session Termination : disabled
Upgrade delay : disabled
Persistent Subscriptions : disabled
Parameter description
To modify the configuration of the CWMP daemon as seen from the ACS, execute the command
:cwmp config and specify one or several of following optional parameters:
State: if this parameter is enabled, remote management of the Thomson Gateway by an ACS is allowed.
By default, remote management by CWMP is disabled.
This parameter has the same value as the attribute state of the CWMP client service. For
more information, see “2.2.1 CWMP Service Manager” on page 19.
As more operators are performing TR-069 tests and become ready to deploy it, there is less use
and request for a read-only mode.
PeriodicInform: if this parameter is enabled, the CWMP client establishes a connection to the ACS
periodically. This means that the CWMP client sends an Inform RPC with a configurable frequency. The
frequency is defined by the parameter periodicInfInt.
By default, this parameter is enabled.
PeriodicInfInt: if the parameter periodicInform is enabled, the value of this parameter specifies the
time in seconds (s) between two connection establishments.
By default, the parameter is set to 43200 s. This means that the CWMP client establishes a connection to
the ACS once every 12 hours.
E-DOC-CTC-20071119-0003 v1.0
21
2| Configuring CWMP on the Thomson Gateway
SessionTimeout: this parameter is a number that specifies the HTTP session time-out in seconds (s).
When the CWMP client has received no HTTP messages from the ACS for this time period, the HTTP
session is closed.
By default, this time period is set to 60 s.
NoIpTimeout: this parameter is a number, specifying a time period in seconds (s). After the upload of a
new configuration file, it is possible that the modem can not reach the ACS any more. This means that
the IP connection is down. If this connection is not restored during the configured time period, a roll-back
mechanism is started and the initial configuration file is restored.
By default, the time period is set to 180 s (three minutes).
For more information on the roll-back mechanism, see “3.2.1 Configuration Update
Mechanism” on page 42.
MaxEnvelopes: this parameter specifies the maximum number of SOAP envelopes that the CPE accepts
in a single HTTP response. The value of this parameter can be 1 or 2.
By default, the number of SOAP envelopes sent within one HTTP response is limited to 2.
ConnectionRequest: if this parameter is enabled, the CWMP client establishes a connection to the ACS
when it successfully receives a Connection Request notification. These Connection Request notifications
also use HTTP. However, in this case, the ACS acts as the HTTP client and the Thomson Gateway acts as
the HTTP server.
By default, this parameter is disabled.
This parameter has the same value as the attribute state of the CWMP connection request
server service. For more information, see “2.2.1 CWMP Service Manager” on page 19.
ConnectionReqPath: this parameter specifies the path the ACS can use to reach the CWMP daemon on
the Thomson Gateway, for example for connection requests. It is used as last part of the
InternetGatewayDevice.ManagementServer.ConnectionRequestURL which is included in the
ParameterList of an Inform RPC.
The value of this parameter is only relevant if the parameter ConnectionRequest is enabled.
ConnectionReqUserName: this parameter specifies a text string that must be used by the ACS as
username to log in. The value of this parameter is only relevant if the parameter ConnectionRequest
is enabled.
The default username is <OUI> - <serial number>. This can be achieved using CLI environment variable
concatenation. To retrieve this information, execute following commands:
ConnectionReqPsswd: this parameter specifies a text string that must be used by the ACS as password to
log in. The value of this parameter is only relevant if the parameter ConnectionRequest is enabled.
ConnectionReqAuth: both HTTP basic and digest authentication can be used for connection requests.
The value of this parameter is only relevant if the parameter ConnectionRequest is enabled. This
parameter is used to select the authentication method to be supported.
None: the ACS asynchronous connection requests are not authenticated.
Basic: HTTP basic authentication is used.
Digest: HTTP digest authentication is used.
By default, HTTP digest authentication is selected.
22 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
Qos-class: this parameter specifies the internal QoS class of Thomson Gateway originated CWMP data.
The Thomson Gateway uses 16 internal QoS classes, numbered from 0 (low priority) through 15 (high
priority). With QoS enabled, this makes sure that upstream CWMP data is mapped into the desired QoS
queue, allowing prioritization or guaranteeing a minimum bandwidth.
By default, the assigned internal QoS class is 12.
This parameter is still available for backwards compatibility. However, it is recommended to
use the attribute qoslabel of the CWMP client service. For more information, see
“2.2.1 CWMP Service Manager” on page 19.
Bootdelayrange: the CWMP client establishes a connection to the ACS on power up. In order to avoid that
several gateways contact the ACS simultaneously after a power failure, a boot delay range can be
specified. This way, excessive network load and ACS load after a power failure is avoided.
If the value of this parameter is larger than 0 seconds (s), a random value is calculated within this range
when the gateway starts up. This value is then used as wait period before connecting to the ACS. The
Inform RPC (with BOOT event) is only sent after this random number of seconds.
This parameter has a value within the range from 0 s through 1024 s. By default, the value of the
parameter is set to 0 s. This means that no wait period is used.
Upgradedelay: the CPE firmware upgrade process can contain several service interrupting steps, for
example if a reboot is required. If this parameter is enabled, the upgrade process is extended with state
checks. If these checks result in a “service ongoing” boolean parameter, service activity is detected and
the service interrupting steps can be delayed.
For more information on activity checks, see “2.3 Configuring State Checks” on page 28.
Am1Termination: session termination is configurable via CLI to be according to the original TR-069
specification or according to the TR-069 Amendment 1 specification.
If this parameter is disabled, session termination according to TR-069 is used. This means that the
CPE terminates a transaction session when all of the following conditions are met:
The ACS has no further requests to send to the CPE. The CPE can conclude this from one of the
following: the most recent ACS HTTP response contains no SOAP envelopes or the most recent
SOAP envelope received from the ACS contains a NoMoreRequests header element equal to 1.
The CPE has no further requests to send to the ACS.
The CPE has received all outstanding response messages from the ACS.
The CPE has sent all outstanding response messages to the ACS.
If this parameter is enabled, session termination according to TR-069 Amendment 1 is used. This
session termination differs from the original TR-069 specification in two aspects:
NoMoreRequests header element is deprecated. This header element will not be used any more.
The ACS concludes that the CPE has no further requests to send if the CPE has sent an empty
HTTP POST during the session (while HoldRequests is false). While according to the original
TR-069, the ACS concludes that the CPE has no further requests to send if the most recent HTTP
POST sent by the CPE is empty (while HoldRequests is false).
By default, the parameter is disabled.
PersistentSubscription: this parameter indicates whether or not persistent subscriptions are supported. If
the ACS has a persistent subscription for a specific parameter, the instance number of the corresponding
MBUS object is not changed after a reboot, for example when objects with a lower instance number are
deleted.
By default, this parameter is disabled.
E-DOC-CTC-20071119-0003 v1.0
23
2| Configuring CWMP on the Thomson Gateway
Parameter description
To modify the configuration of the CWMP daemon towards the ACS, execute the command
:cwmp server config and specify one or more of the following optional parameters:
Url: this parameter specifies the HTTP URL of the ACS.
Username: this parameter defines the username for authentication of the Thomson Gateway at the ACS.
The ACS default username is <OUI> - <serial number>. This can be achieved using CLI environment
variable concatenation. To retrieve this information, execute the following commands:
Password: this parameter defines the password for authentication of the Thomson Gateway at the ACS.
24 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
Introduction
The ParameterList argument of an Inform message contains a list of informational parameters and their
values.
The list includes:
Required parameters: these parameters must be sent in each Inform message.
Changed parameters: these parameters are sent in the Inform message to announce that the value of
these parameters changed since the previous Inform message was sent.
Notification rules
Each notification rule defines the notification behaviour of a specific parameter.
Notification rules can be used to:
Add non-standard parameters to the list of required parameters.
Specify the behaviour of the CPE when the value of a specific parameter changes.
E-DOC-CTC-20071119-0003 v1.0
25
2| Configuring CWMP on the Thomson Gateway
=>:cwmp runtimevar
Software Version : 7.4.2.2
Bootstrapped : no
CmdKey :
Parameterkey :
Software Version
This variable indicates which firmware image is installed on the CPE. It has the value of the
InternetGatewayDevice.DeviceInfo.SoftwareVersion parameter.
The CPE sends the value of this variable to the ACS in the ParameterList argument of Inform RPCs.
Bootstrapped
This variable indicates the BOOTSTRAP event state.
If this event state is set to yes, the first Inform RPC sent to the ACS includes the Bootstrap event. On
receiving an InformResponse, this event is considered delivered and the event state is set to no.
This variable is set to yes if the ACS URL is reconfigured.
CmdKey
CmdKey has the value of the CommandKey argument of a received Reboot, Download or ScheduleInform
RPC. The CPE stores the value persistently and sends this value back to the ACS as follows:
Reboot: the value of CmdKey is used as CommandKey for the “M Reboot” EventCode in the first Inform
RPC sent after the reboot.
Download: the value of CmdKey is used as CommandKey for the TransferComplete RPC or
GetQueuedTransfersResponse RPC.
ScheduleInform: the value of CmdKey is used as CommandKey for the “M ScheduleInform” EventCode
in the Inform RPC sent at the scheduled time.
Parameterkey
Parameterkey has the same value as the InternetGatewayDevice.ManagementServer.ParameterKey
parameter.
Following RPCs contain a ParameterKey argument:
SetParameterValues
AddObject
DeleteObject
If one of these RPCs is applied successfully, the CPE updates the value of the
InternetGatewayDevice.ManagementServer.ParameterKey parameter with the value of the ParameterKey
argument.
26 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
E-DOC-CTC-20071119-0003 v1.0
27
2| Configuring CWMP on the Thomson Gateway
Introduction
If the state check module is enabled, the module periodically performs a number of parameter checks. Each
parameter check results in a “Check” boolean set to 1 or 0.
The parameter checks are grouped in different groups. First, the check results within a single group are
combined (ANDed or ORed) in a “Group” boolean for that group. Then, the group results are combined
(ANDed or ORed) in a final “Active” boolean.
If the “Active” boolean has value 1, the service interrupting steps of the upgrade process are delayed. As
soon as the “Active” boolean has value 0, the upgrade process continues.
The state check module is enabled if the upgradedelay parameter is enabled. For more
infomation, see “2.2.2 CWMP Daemon as seen from the ACS” on page 21.
Creating a group
To create a group, execute the command :statecheck groupadd and specify following parameter:
Name: the name of the group.
Optionally, following parameter can be specified:
Checkop: this parameter indicates whether the “Check” booleans within this group are ANDed or ORed.
By default, the “Check” booleans are ANDed.
For example, create a new group as follows:
28 E-DOC-CTC-20071119-0003 v1.0
2| Configuring CWMP on the Thomson Gateway
Deleting a group
To delete a group, execute the command :statecheck groupdelete and specify following parameter:
Name: the name of the group to be deleted.
For example, delete a group as follows:
Creating a check
To create a check, execute the command :statecheck checkadd and specify following parameters:
Group: the check will be part of this group.
Name: the name of the check to be created.
Object: the object to be checked.
Use the keystringpath of the object.
To obtain this keystringpath, execute following command in MBUS:
:mbus client exec cmd getvalues flags=keystrpath.
Paramname: the parameter to be checked.
Paramtype: the parameter type:
String: a string. The value of the parameter is text.
Uint: an integer. The value of the parameter is a number.
Bool: a boolean. The value of the parameter can be 0 or 1.
Matchtype: the match type:
Equal: the check sets its “Check” boolean to 1 if the parameter value equals the match value.
Differ: the check sets its “Check” boolean to 1 if the parameter value differs from the match value.
Statdelta: the check sets its “Check” boolean to 1 if the parameter value increments more than a
threshold, which is specified by the match value.
Match: the match value. The parameter value is compared to the match value depending on the match
type.
For example, create a new check as follows:
=>:statecheck checkadd
group=DSLActivity
name=Downstream
object=InternetGatewayDevice.WANDevice.DSL.WANDSLInterfaceConfig //dmtree=igd is used
paramname=DownstreamCurrRate
paramtype=uint
matchtype=statdelta
match=50
Deleting a check
To delete a check, execute the command :statecheck checkdelete and specify following parameter:
Name: the name of the check to be deleted.
For example, delete a check as follows:
E-DOC-CTC-20071119-0003 v1.0
29
2| Configuring CWMP on the Thomson Gateway
30 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Introduction
For the use cases described in this chapter, we make following assumptions:
The CPE has IP connectivity to the ACS.
The CPE is preconfigured with:
ACS IP address:port
ACS username and password
ConnectionRequest username and password
All passwords are stored encrypted in the persistent configuration file.
Overview
This chapter includes following use cases:
Topic Page
“3.1 Firmware Upgrade” 32
E-DOC-CTC-20071119-0003 v1.0
31
3| Firmware Upgrade and Configuration Update
Overview
This section is structured as follows:
Topic Page
“3.1.1 General Firmware Upgrade Mechanism” 33
32 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Firmware images
For a remote firmware upgrade, one of the following file types can be used:
*.os (in case of RTEMS)
*.rbi (in case of GoLinux)
Description
This use case mainly covers the automatic remote upgrade of a firmware image. At any point in time, the
ACS can trigger the CPE to upgrade its firmware image. The ACS sends an asynchronous connection request
triggering the CPE to establish a transaction session to receive a Download method to upgrade its firmware.
ACS: the ACS is only responsible for:
Sending the Download RPC.
Retrieving the TransferComplete RPC.
CPE: the actions taken by the CPE itself depend on the firmware upgrade mechanism, which is not
defined by TR-069. This is indicated by the “CPE firmware upgrade process” in following illustration. The
different firmware upgrade mechanisms are described in different subsections.
E-DOC-CTC-20071119-0003 v1.0
33
3| Firmware Upgrade and Configuration Update
Message flow
The message flow between the CPE and ACS is identical for all firmware upgrade mechanisms.
Following illustration shows the message flow for the “Firmware Upgrade” use case (we assume that the
MaxEnvelopes argument of the first Inform RPC has value 1):
File Server CPE ACS
21 ) TransferCompleteResponse
34 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Introduction
All Thomson Gateway residential RTEMS devices have a single memory bank (Flash).
Description
First, the CPE receives a Download RPC from the ACS. If the FileType argument is set to “1 Firmware Upgrade
Image”, a firmware upgrade is started.
A single memory bank firmware upgrade process includes following steps:
1 After downloading the first 125 bytes of the file to SDRAM (volatile memory), the new firmware image
header is checked for integrity.
2 The old firmware image in Flash (persistent memory) is deleted.
3 Using a reasonably small buffer, parts of the new firmware image are downloaded (over TCP) and written
to Flash (= flashed).
4 When completed, a reboot is initiated to load and run the new firmware.
Finally, the completion (success or failures) of the firmware upgrade is indicated to the ACS
(TransferComplete RPC).
Firmware*
Firmware
Firmware
Firmware
Image*
Image*
Image
Flash
BL BL BL BL
E-DOC-CTC-20071119-0003 v1.0
35
3| Firmware Upgrade and Configuration Update
Conclusion
The firmware upgrade process has following characteristics:
Robustness: this firmware upgrade process is not robust.
Things can go wrong, for example due to a power failure, between the point in time when the active
firmware image is deleted and the new firmware image is completely downloaded and written to Flash.
When, for example at power up, the Thomson Gateway detects the absence of a valid firmware image,
the Thomson Gateway sets e.g. the “Flashing Failed” prozone bit and reboots in Bootloader mode. This
mode is also indicated by the LEDs.
The problem can only be solved by a local (LAN-side) firmware recovery. In Bootloader mode, BOOTP is
a “mini” bootloader, which can be used by the Thomson Gateway upgrade wizard, executed by the end-
user.
It is a service provider decision whether or not the LAN-side firmware recovery is an acceptable risk. For
a firmware upgrade mechanism that rules out any end-user involvement, a dual memory bank firmware
upgrade mechanism is recommended.
Service interruption: step 4, when the Thomson Gateway reboots to load and run the new firmware, is
the service interrupting step. Up till that point, all services are running and active.
36 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Introduction
Some Thomson Gateway business RTEMS devices have a dual memory bank (Flash).
Description
First, the CPE receives a Download RPC from the ACS. If the FileType argument is set to “1 Firmware Upgrade
Image”, a firmware upgrade is started.
A dual memory bank firmware upgrade process includes following steps:
1 The “passive” firmware image in Flash is deleted.
2 The new firmware image is downloaded and written to Flash.
3 A switch-over is performed: the new firmware image is now the “active” image and the old firmware
image becomes the “passive” image.
4 A reboot is initiated to load and run the new firmware.
Finally, the completion (success or failures) of the firmware upgrade is indicated to the ACS
(TransferComplete RPC).
Firmware 3
Firmware 1
SDRAM
Img 1 Img 2
Img 1 Img 3
Img 1 Img 3
Flash
Img 1
BL BL BL BL
E-DOC-CTC-20071119-0003 v1.0
37
3| Firmware Upgrade and Configuration Update
Conclusion
The firmware upgrade process has following characteristics:
Robustness: this firmware upgrade process is rather robust.
Whenever something goes wrong while downloading or flashing a new firmware image, there is always
a valid firmware image present in Flash. When the Thomson Gateway detects that the downloaded file is
invalid or when there is a problem loading the file, the file system automatically remounts the partitions
to load the old firmware image.
In this case, no fault message is sent to the ACS, but the Inform RPC before the TransferComplete RPC
includes the old SoftwareVersion value in the ParameterList argument. An ACS should only consider a
firmware upgrade to be successful if the SoftwareVersion value is the expected version.
This mechanism is considerably more fail-save than the single memory bank firmware upgrade
mechanism.
Service interruption: step 4, when the Thomson Gateway reboots to load and run the new firmware, is
the service interrupting step. Up till that point, all services are running and active.
38 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Introduction
Some Thomson Gateway GoLinux devices can reboot in “reduced memory mode”.
Description
First, the CPE receives a Download RPC from the ACS. If the FileType argument is set to “1 Firmware Upgrade
Image”, a firmware upgrade is started.
A firmware upgrade process with reduced memory mode includes following steps:
1 The Thomson Gateway reboots in “reduced memory mode” (setting a flag in prozone). The reduced
memory mode is a reboot of the CPE where less services are started. This way, SDRAM has enough free
memory to hold the new firmware image.
2 The new firmware image is downloaded and written to SDRAM.
3 The Thomson Gateway reboots (setting a flag in prozone). The Bootloader detects that the new firmware
image is still in SDRAM and writes the new firmware image to Flash. Prior to this, the Bootloader checks
whether the new firmware image is valid. This step relies on the fact that the contents in SDRAM are
preserved after a warm reboot.
4 The Bootloader loads the firmware image present in Flash.
Finally, the completion (success or failures) of the firmware upgrade is indicated to the ACS
(TransferComplete RPC).
Image*
SDRAM
Firmware*
Firmware
FW
FW
Image*
Image*
Image
Image
Image
Flash
BL BL BL BL BL
E-DOC-CTC-20071119-0003 v1.0
39
3| Firmware Upgrade and Configuration Update
Conclusion
The firmware upgrade process has following characteristics:
Robustness: this upgrade mechanism is not robust. Unplugging the CPE during the flash process makes
it only recoverable with a rescue CDROM.
Service interruption: step 1, when the Thomson Gateway reboots in “reduced memory mode”, is the
service interrupting step. Up till that point, all services are running and active.
40 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Overview
This section is structured as follows:
Topic Page
“3.2.1 Configuration Update Mechanism” 42
E-DOC-CTC-20071119-0003 v1.0
41
3| Firmware Upgrade and Configuration Update
File types
For a configuration update, one of the following file types can be used:
Configuration file (user.ini)
Script file (*.STS)
For more information on configuration files and script files, see “3.2.2 STS Files” on page 44.
Description
First, the CPE receives a Download RPC from the ACS. If the FileType argument is set to “3 Vendor
Configuration File”, a configuration update is started.
A configuration update includes following steps:
1 The CPE downloads the file at the File URL and locally saves it on Flash in the /dl directory.
2 The downloaded file is loaded, without saving the new configuration.
This corresponds to CLI command :config load filename=<downloaded file>.
3 The CPE establishes a new transaction session with the ACS sending an Inform with at least the Transfer
Complete event.
If the CPE can connect to the ACS and the ACS responds with an InformResponse:
1 The CPE saves the new configuration to user.ini.
This corresponds to CLI command :saveall.
2 The downloaded file on Flash in the /dl directory is deleted.
If the CPE cannot connect to the ACS or authentication of the CPE fails or the ACS does not respond
with an InformResponse, a roll-back mechanism is started:
1 The user.ini file is loaded to undo the configuration changes performed by the downloaded file.
This corresponds to CLI command :config load filename=user.ini.
2 The downloaded file on Flash in the /dl directory is deleted.
3 The CPE establishes a new transaction session with the ACS. In this case, the TransferComplete
method reports a fault. The TransferComplete method is used by the ACS to learn whether or not
the configuration file was applied.
42 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
Message flow
The message flow between the CPE and ACS is identical for configuration files and script files.
Following illustration shows the message flow for the “Configuration Update” use case (we assume that the
MaxEnvelopes argument of the first Inform RPC has value 2):
File Server CPE ACS
7) 200 OK (Empty)
8 ) Close connection
9) HTTP GET
19) TransferCompleteResponse
Configuration versions
It is the responsibility of the configuration file editors to implement configuration version management. For
example, the downloaded file includes the CLI command :env set var=CONF_VERSION
value=1.1.1.
The ACS can retrieve the “InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}.Version” parameter from
the IGD data model to learn which configuration version is applied on the CPE.
No reboot
No intentional reboot is done after downloading and loading a configuration file or script file. Although, it is
possible that a :system reboot CLI command is present in the downloaded file. However, if an intentional
reboot is required, it is recommended to use the Reboot RPC instead.
E-DOC-CTC-20071119-0003 v1.0
43
3| Firmware Upgrade and Configuration Update
No well ordered sequence of blocks. Ordered sequence of CLI commands. The CLI
commands are executed in sequence.
Relative commands within a single block, typically Absolute commands. This means that commands
corresponding to a CLI command group. include the complete path.
Downloaded files not having the specific “.STS” file name extension are assumed to be
complete configuration files (user.ini).
Header line:
An STS file contains a header line with following two space-separated fields:
TPVERSION=x: this is the tag-parser version. It indicates the CLI syntax version. The tag-parser
version is checked for exact match against the tag-parser environment variable.
44 E-DOC-CTC-20071119-0003 v1.0
3| Firmware Upgrade and Configuration Update
BOARD_NAME=y: this is the hardware platform mnemonic. The board name is checked for exact
match against the board name environment variable. The feature set and CLI commands may differ
between business and residential products.
Before starting sequential execution of all STS script CLI commands, this header line is checked. A file
without this header line is rejected as invalid STS file.
Examples
Example of a configuration file:
[ xdsl.ini ]
debug traceconfig level=0
config adslmultimode=adsl2plus detect-lop=enabled syslog=disabled
[ cac.ini ]
config port=dsl0 state=enabled
config port=dsl1 state=enabled
...
TPVERSION=2.0.0 BOARD_NAME=BANT-K
An STS file should always be closed with a \CR (Carriage Return). Otherwise the last line in the STS
file will not be executed.
E-DOC-CTC-20071119-0003 v1.0
45
3| Firmware Upgrade and Configuration Update
Flag
An eSTS file is loaded once and only once after the firmware upgrade. To this end a flag is used:
After loading the upgrade.sts file, a flag is written to Flash to indicate that the file was loaded.
A factory reset does not delete the flag.
When the same firmware image is loaded twice, the eSTS file is loaded only once (the first time).
On a firmware upgrade to a new firmware image, the flag is deleted.
46 E-DOC-CTC-20071119-0003 v1.0
4| Monitoring and Diagnostics
Introduction
In this chapter, we describe several use cases that can be used by the help desk to obtain information on the
home network and its network connections.
As CWMP is a protocol on top of IP, the use cases assume IP connectivity between the Thomson Gateway and
the ACS.
Overview
This chapter includes following use cases:
Topic Page
“4.1 View on Home Network” 48
“4.2 Diagnostics” 50
E-DOC-CTC-20071119-0003 v1.0
47
4| Monitoring and Diagnostics
Introduction
The IGD data model on the Thomson Gateway contains the object
“InternetGatewayDevice.LANDevice.1.Hosts.”.
This hosts table provides a list of all devices that are connected via the local network. For each device, the list
contains information on:
IP address
Address source
Remaining lease time
MAC address
Host name
Interface type
Active status
Message flow
Following illustration shows the expected message flow to obtain the hosts table:
CPE ACS
Transaction session
...
1) GetParameterValues
Obtain the Hosts table
2) GetParameterValuesResponse
...
Entry Value
1 InternetGatewayDevice.LANDevice.1.Hosts.
Name Value
InternetGatewayDevice.LANDevice.1.Hosts.HostNumberOfEntries 1
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.IPAddress 192.168.1.64
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.AddressSource DHCP
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.LeaseTimeRemaining 86315
48 E-DOC-CTC-20071119-0003 v1.0
4| Monitoring and Diagnostics
Name Value
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.MACAddress 00:0f:1f:83:d7:5b
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.HostName thomson-2cfa009
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.InterfaceType thomson-2cfa009
InternetGatewayDevice.LANDevice.1.Hosts.Host.1.Active 1
E-DOC-CTC-20071119-0003 v1.0
49
4| Monitoring and Diagnostics
4.2 Diagnostics
Introduction
Basic connection diagnostics can be done via retrieving IGD data model parameters.
Connection diagnostics are for example:
DSL statistics
WLAN statistics
LAN side IP addresses of the gateway
DHCP pool configuration
TCP and UDP connection statistics
Message flow
Following illustration shows the expected message flow to obtain diagnostics:
CPE ACS
Transaction session
...
1) GetParameterValues
Obtain the Diagnostics
2) GetParameterValuesResponse
...
DLS statistics
The object “InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.“ is relevant to the DSL statistics.
This object on the Thomson Gateway contains following vendor specific parameters:
X_000E50_NumberOfResets: number of CPE resets.
Stats.Showtime.X_000E50_LossOfSignal: number of times that a loss of signal occurred since the most
recent DSL showtime.
Stats.Showtime.X_000E50_LossOfPower: number of times that a loss of power occurred since the most
recent DSL showtime.
Stats.QuarterHour.X_000E50_LossOfSignal: number of times that a loss of signal occurred during the
current quarter hour.
Stats.QuarterHour.X_000E50_LossOfPower: number of times that a loss of power occurred during the
current quarter hour.
To retrieve the DSL statistics, the GetParameterValues RPC (message 1 in preceding illustration) contains
following ParameterNames argument:
Entry Value
1 InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.
50 E-DOC-CTC-20071119-0003 v1.0
4| Monitoring and Diagnostics
Name Value
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.Enable 1
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.Status Up
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.UpstreamCurrRate 832
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.DownstreamCurrRate 8128
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.UpstreamMaxRate 1024
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.DownstreamMaxRate 8224
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.UpstreamNoiseMargin 60
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.DownstreamNoiseMargin 78
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.UpstreamAttenuation 0
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.DownstreamAttenuation 0
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.ShowtimeStart 19760
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.X_000E50_NumberOfResets 1
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.Stats.ShowTime.
0
X_000E50_LossOfSignal
InternetGatewayDevice.WANDevice.1.WANDSLInterfaceConfig.Stats.ShowTime.
0
X_000E50_LossOfPower
WLAN statistics
The object “InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.“ is relevant to the WLAN statistics.
This object on the Thomson Gateway contains following vendor specific parameters:
X_000E50_ChannelMode: this parameter can be used to request automatic selection of the channel. The
parameter has one of the following values:
Auto (default value)
Manual
To retrieve the WLAN statistics, the GetParameterValues RPC (message 1 in preceding illustration) contains
following ParameterNames argument:
Entry Value
1 InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable 1
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Status Up
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BSSID 00:14:7f:0e:14:fc
E-DOC-CTC-20071119-0003 v1.0
51
4| Monitoring and Diagnostics
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.MaxBitRate Auto
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Channel 11
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.
Auto
X_000E50_ChannelMode
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID SpeedTouchEF5A50
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType None
Entry Value
1 InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.
Name Value
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DHCPServerEnable 1
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DHCPRelay 0
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.MinAddress 192.168.1.64
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.MaxAddress 192.168.1.253
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.SubnetMask 255.255.255.0
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DomainName lan
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPRouters 192.168.1.254
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DHCPLeaseTime 86400
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.
2
IPInterfaceNumberOfEntries
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.1.
10.0.0.138
IPInterfaceIPAddress
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.1.
255.255.255.0
IPInterfaceSubnetMask
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.2.
192.168.1.254
IPInterfaceIPAddress
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.2.
255.255.255.0
IPInterfaceSubnetMask
52 E-DOC-CTC-20071119-0003 v1.0
4| Monitoring and Diagnostics
Entry Value
1 InternetGatewayDevice.X_000E50_Connection.Stats.
Name Value
InternetGatewayDevice.X_000E50_Connection.Stats.Multicast 2
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.TCP 112
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.UDP 1
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.ICMP 0
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.Other 3
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.TCP.TCPOpen 0
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.TCP.TCPEstablished 0
InternetGatewayDevice.X_000E50_Connection.Stats.Protocol.TCP.TCPClosing 112
E-DOC-CTC-20071119-0003 v1.0
53
4| Monitoring and Diagnostics
Introduction
The IGD data model contains the object “InternetGatewayDevice.IPPingDiagnostics.”.
This object provides access to an IP ping diagnostics test. Using TR-069, the ACS can initiate the test on the
CPE. Afterwards, the CPE reports the completion of the test to the ACS. This allows the ACS to ask for the
results of the test.
Message flow
Following illustration shows a possible message flow for the IP ping diagnostics test:
CPE ACS
Transaction session
...
1) SetParameterValues
2) Apply changes
3) SetParameterValuesResponse Start the Test
...
4) Close connection
5) IP ping diagnostics test
6) Inform
(Event 8 Diagnostics Complete)
7) InformResponse
9) GetParameterValues
...
Name Value
InternetGatewayDevice.IPPingDiagnostics.Interface InternetGatewayDevice.
LANDevice.1.
LANHostConfigManagement.
IPInterface.2
InternetGatewayDevice.IPPingDiagnostics.Host 192.168.1.64
InternetGatewayDevice.IPPingDiagnostics.NumberOfRepetitions 4
InternetGatewayDevice.IPPingDiagnostics.Timeout 5 (milliseconds)
InternetGatewayDevice.IPPingDiagnostics.DataBlockSize 32 (bytes)
54 E-DOC-CTC-20071119-0003 v1.0
4| Monitoring and Diagnostics
Name Value
InternetGatewayDevice.IPPingDiagnostics.DSCP 0
InternetGatewayDevice.IPPingDiagnostics.DiagnosticsState Requested
Obtaining the test results: to retrieve the results of the test, the GetParameterValues RPC (message 9 in
preceding illustration) contains following ParameterNames argument:
Entry Value
1 InternetGatewayDevice.IPPingDiagnostics.
Name Value
InternetGatewayDevice.IPPingDiagnostics.DiagnosticsState Complete
InternetGatewayDevice.IPPingDiagnostics.SuccessCount 4
InternetGatewayDevice.IPPingDiagnostics.FailureCount 0
InternetGatewayDevice.IPPingDiagnostics.AverageResponseTime 1 (milliseconds)
InternetGatewayDevice.IPPingDiagnostics.MinimumResponseTime 1 (milliseconds)
InternetGatewayDevice.IPPingDiagnostics.MaximumResponseTime 1 (milliseconds)
E-DOC-CTC-20071119-0003 v1.0
55
4| Monitoring and Diagnostics
Introduction
The IGD data model contains the DeviceLog parameter, which is located within the object
“InternetGatewayDevice.DeviceInfo.”. When the ACS asks for the device log of the CPE, it receives the
“upper” 32 Kbyte of the syslog message buffer contents.
Message flow
Following illustration shows a possible message flow for the retrieval of the device log:
CPE ACS
Transaction session
...
1) GetParameterValues
...
Entry Value
1 InternetGatewayDevice.DeviceInfo.DeviceLog
56 E-DOC-CTC-20071119-0003 v1.0
4| Monitoring and Diagnostics
Introduction
The ACS can subscribe to particular parameter change events. When the value of such a parameter changes,
the CPE must notify the change to the ACS.
Two types of event subscription exist:
Passive change notification: whenever the parameter value changes, the CPE must include the new value
in the ParameterList argument of the Inform message that is sent the next time a session is established to
the ACS. For example, a periodic Inform or an Inform due to a Connection request.
Active change notification: whenever the parameter value changes, the CPE must initiate a session to the
ACS and include the new value in the ParameterList argument of the sent Inform message.
Entry Value
1 InternetGatewayDevice.Layer2Bridging. (i.e. all parameters within this object)
SetParameterAttributes RPC: the ACS can use this RPC to modify the event subscriptions associated with
one or more CPE parameters. The ParameterList argument contains the list of changes to the event
subscriptions.
Example of the ParameterList argument:
1 NotificationChange 1 (true)
Notification 1 (passive)
Name InternetGatewayDevice.DeviceInfo.SerialNumber
2 NotificationChange 1 (true)
Notification 2 (active)
E-DOC-CTC-20071119-0003 v1.0
57
4| Monitoring and Diagnostics
Transaction session
...
1) GetParameterAttributes
2) GetParameterAttributesResponse
3) Verify event subscriptions,
decide to reconfigure
4) SetParameterAttributes
5) SetParameterAttributesResponse
6) 200 OK (Empty)
7) Close connection
...
8) Parameter change event
...
9) Inform (Event 2 Periodic,
4 Value Change)
10) InformResponse
...
Transaction session
...
1) GetParameterAttributes
2) GetParameterAttributesResponse
3) Verify event subscriptions,
decide to reconfigure
4) SetParameterAttributes
5) SetParameterAttributesResponse
6) 200 OK (Empty)
7) Close connection
...
8) Parameter change event
9) Inform (Event 4 Value Change)
10) InformResponse
...
58 E-DOC-CTC-20071119-0003 v1.0
5| WAN Connections
5 WAN Connections
Introduction
The IGD data model on the Thomson Gateway contains the object
“InternetGatewayDevice.WANDevice.1.WANConnectionDevice.”.
This object can be used to create a:
PPPoE connection
PPPoA connection
IP connection with static IP address
IP connection with DHCP
IPoA connection
The IGD data model on the Thomson Gateway contains the object
“InternetGatewayDevice.Layer3Forwarding.Forwarding.”. This object can be used to create forwarding
entries.
Message flow
Following illustration shows a possible message flow for the creation and configuration of a WAN
connection:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create a WAN Connection Device
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the WAN Connection Device
6) SetParameterValuesResponse
7) AddObject
8) Apply changes
Create a WANPPPConnection or WANIPConnection
9) AddObjectResponse
10) SetParameterValues
11) Apply changes Configure the WANPPPConnection or WANIPConnection
12) SetParameterValuesResponse
13) GetParameterValues
Obtain Connection Information and
14) GetParameterValuesResponse Forwarding Entries
15) AddObject
16) Apply changes
Create a Forwarding Entry
17) AddObjectResponse
18) SetParameterValues
19) Apply changes Configure the Forwarding Entry
20) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
59
5| WAN Connections
Overview
Following steps must be performed to create a WAN connection:
1 Create and configure a WAN connection device. See “5.1 WAN Connection Device” on page 61.
2 Create and configure a WAN PPP or IP connection. See “5.2 WAN PPP or IP Connection” on page 62.
3 Obtain connection information. See “5.3 Connection Information” on page 65.
4 Create and configure a forwarding entry. See “5.4 Forwarding Entries” on page 66.
60 E-DOC-CTC-20071119-0003 v1.0
5| WAN Connections
Name Value
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. EoA, PPPoA or IPoA
WANDSLLinkConfig.LinkType See “ Link type value”.
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANDSLLinkConfig.Enable
IP EoA
PPPoA PPPoA
IPoA IPoA
E-DOC-CTC-20071119-0003 v1.0
61
5| WAN Connections
Introduction
Before, configuring your WAN PPP or IP connection, make sure that you created and configured a WAN
connection device. For more information, see “5.1 WAN Connection Device” on page 61.
Name Value
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANPPPConnection.1.NATEnabled
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <username>
WANPPPConnection.1.Username
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <password>
WANPPPConnection.1.Password
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Internet
WANPPPConnection.1.Name
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANPPPConnection.1.Enable
The parameter Name is mandatory. This means that the parameter must be set before the
WANPPPConnection object is internally created.
62 E-DOC-CTC-20071119-0003 v1.0
5| WAN Connections
Configuring the PPPoA connection: the SetParameterValues RPC (message 10 in preceding illustration)
contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANPPPConnection.1.NATEnabled
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <username>
WANPPPConnection.1.Username
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <password>
WANPPPConnection.1.Password
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Internet
WANPPPConnection.1.Name
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANPPPConnection.1.Enable
The parameter Name is mandatory. This means that the parameter must be set before the
WANPPPConnection object is internally created.
Name Value
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Static
WANIPConnection.1.AddressingType
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <ipaddress>
WANIPConnection.1.ExternalIPAddress
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <mask>
WANIPConnection.1.SubnetMask
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Video
WANIPConnection.1.Name
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANIPConnection.1.Enable
The parameter Name is mandatory. This means that the parameter must be set before the
WANIPConnection object is internally created.
E-DOC-CTC-20071119-0003 v1.0
63
5| WAN Connections
Name Value
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. DHCP
WANIPConnection.1.AddressingType
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Video
WANIPConnection.1.Name
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANIPConnection.1.Enable
The parameter Name is mandatory. This means that the parameter must be set before the
WANIPConnection object is internally created.
Name Value
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Static
WANIPConnection.1.AddressingType
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <ipaddress>
WANIPConnection.1.ExternalIPAddress
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. <subnetmask>
WANIPConnection.1.SubnetMask
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. Video
WANIPConnection.1.Name
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2. 1
WANIPConnection.1.Enable
The parameter Name is mandatory. This means that the parameter must be set before the
WANIPConnection object is internally created.
64 E-DOC-CTC-20071119-0003 v1.0
5| WAN Connections
PPP connection
To obtain information on the connection status, the assigned external IP address and forwarding entries, the
GetParameterValues RPC (message 13 in preceding illustration) contains following ParameterNames
arguments:
Entry Value
1 InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1
2 InternetGatewayDevice.Layer3Forwarding.Forwarding
IP connection
To obtain information on the connection status, the assigned external IP address and the forwarding entries,
the GetParameterValues RPC (message 13 in preceding illustration) contains following ParameterNames
arguments:
Entry Value
1 InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANIPConnection.1
2 InternetGatewayDevice.Layer3Forwarding.Forwarding
E-DOC-CTC-20071119-0003 v1.0
65
5| WAN Connections
PPP connection
For example, following parameter values can be used:
Creating an entry: to add a forwarding entry, the AddObject RPC (message 15 in preceding illustration)
contains for the ObjectName argument the value
“InternetGatewayDevice.Layer3Forwarding.Forwarding.”.
The AddObjectResponse (message 17 in preceding illustration) contains for the InstanceNumber
argument for example value “3“.
Configuring the entry: the SetParameterValues RPC (message 18 in preceding illustration) contains
following name-value pairs in its ParameterList argument, for example to add a default route:
Name Value
InternetGatewayDevice.Layer3Forwarding.Forwarding.3.DestIPAddres 0.0.0.0
s
InternetGatewayDevice.Layer3Forwarding.Forwarding.3. 0.0.0.0
DestSubnetMask
InternetGatewayDevice.Layer3Forwarding.Forwarding.3. IGD.WANDevice.1.
Interface WANConnectionDevice.2.
WANPPPConnection.1
InternetGatewayDevice.Layer3Forwarding.Forwarding.3. 1
ForwardingMetric
InternetGatewayDevice.Layer3Forwarding.Forwarding.3. <ipaddress_Interface>
GatewayIPAddress
The parameters DestIPAddress, Interface and GatewayIPAddress are mandatory. This means
that these parameters must be set before the Forwarding object is internally created.
IP connection
For example, following parameter values can be used:
Creating an entry: to add a forwarding entry, the AddObject RPC (message 15 in preceding illustration)
contains for the ObjectName argument the value
“InternetGatewayDevice.Layer3Forwarding.Forwarding.”.
The AddObjectResponse (message 17 in preceding illustration) contains for the InstanceNumber
argument for example value “3“.
Configuring the entry: the SetParameterValues RPC (message 18 in preceding illustration) contains
following name-value pairs in its ParameterList argument, for example to add a default route:
Name Value
InternetGatewayDevice.Layer3Forwarding.Forwarding.3.DestIPAddres 0.0.0.0
s
InternetGatewayDevice.Layer3Forwarding.Forwarding.3.DestSubnet 0.0.0.0
Mask
66 E-DOC-CTC-20071119-0003 v1.0
5| WAN Connections
Name Value
InternetGatewayDevice.Layer3Forwarding.Forwarding.3.Interface IGD.WANDevice.1.
WANConnectionDevice.2.
WANIPConnection.1
InternetGatewayDevice.Layer3Forwarding.Forwarding.3.Forwarding 1
Metric
InternetGatewayDevice.Layer3Forwarding.Forwarding.3.GatewayIPAd <ipaddress_Interface>
dress
The parameters DestIPAddress, Interface and GatewayIPAddress are mandatory. This means
that these parameters must be set before the Forwarding object is internally created.
E-DOC-CTC-20071119-0003 v1.0
67
5| WAN Connections
68 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
6 Service Provisioning
Introduction
Service activation based on the data model can be part of the zero-provisioning use case or can be used at
any point in time. For example, the user has a VoIP-capable Thomson Gateway but only after an amount of
time decides to subscribe to the VoIP service.
For more information on the non vendor specific parameters in the data model, see TR-098.
Overview
This chapter includes following use cases:
Topic Page
“6.1 VoIP” 70
“6.2 WLAN” 73
“6.3 Time” 76
E-DOC-CTC-20071119-0003 v1.0
69
6| Service Provisioning
6.1 VoIP
Introduction
Because any configuration problem might lead to VoIP service unavailability and help-desk calls, remote
management of VoIP parameters (SIP URI, server addresses, authentication…) ensures a fluent VoIP service
activation.
For more information on the VoiceService data model, see TR-104 “Provisioning parameters for
VoIP CPE”, September 2005.
70 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for voice service provisioning:
CPE ACS
Transaction session
...
1) GetParameterValues
Obtain current Configuration
2) GetParameterValuesResponse
3) SetParameterValues
4) Apply changes Configure the VoiceProfile
5) SetParameterValuesResponse
6) SetParameterValues
7) Apply changes Configure the SIP signalling protocol
8) SetParameterValuesResponse
9) AddObject
10) Apply changes
Create a Line
11) AddObjectResponse
12) SetParameterValues
13) Apply changes Configure the Line
14) SetParameterValuesResponse
...
Entry Value
1 InternetGatewayDevice.Services.VoiceService.
Name Value
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SignalingProtocol SIP
Configuring the voice profile: if necessary, modify the value of one or more parameters and finally enable
the VoiceProfile.1. object instance. The SetParameterValues RPC (message 3 in preceding illustration)
contains following name-value pair in its ParameterList argument:
Name Value
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Enable Enabled
E-DOC-CTC-20071119-0003 v1.0
71
6| Service Provisioning
Configuring the signalling protocol: if necessary, modify the value of one or more parameters. The
SetParameterValues RPC (message 6 in preceding illustration) contains following name-value pairs in its
ParameterList argument:
Name Value
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.ProxyServer <ip_address
>
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.ProxyServerPort <port>
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.RegistrarServer <ip_address
>
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP. <port>
RegistrarServerPort
Creating a voice account: the AddObject RPC (message 9 in preceding illustration) contains for the
ObjectName argument the value “InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.”.
The AddObjectResponse (message 11 in preceding illustration) contains for the InstanceNumber
argument for example value “1”.
Configuring the voice account: if necessary, modify the value of one or more parameters. To enable the
Line.1 object instance, following parameters must be modified (a PhyReferenceList value equal to 1
corresponds to the FXS1 port). The data model will not be updated as long as the PhyReferenceList
parameter (i.e. the voice port) is not set. The SetParameterValues RPC (message 12 in preceding
illustration) contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.Enable Enabled
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1. 1
PhyReferenceList
InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP. <password>
AuthPassword
The parameter PhyReferenceList is mandatory. This means that the parameter must be set
before the Line object is internally created.
72 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
6.2 WLAN
Introduction
Given the increasing deployment of wireless gateways and the known complexity of setting up a secure
wireless LAN network, remote management of wireless settings can lower the complexity for the end-user.
For example, remote management can configure or reset the SSID to a “default value” and configure the
security settings. The end-user does not need to manually configure the Thomson Gateway. Given a
broadcasted SSID and preconfigured security settings, the end-user must only configure the WEP or WPA key
on its PC. Remote management can also reset wireless settings to defaults that are provided to the end-user,
turn off security to allow the user to associate and configure again.
Message flow
Following illustration shows a possible message flow for wireless service provisioning:
CPE ACS
Transaction session
...
1) SetParameterValues
2) Apply changes Configure the Wireless Service
3) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
73
6| Service Provisioning
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Channel <channel_id>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType None
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID <SSID>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable 1
Configuration in case of WEP: the SetParameterValues RPC (message 1 in preceding illustration) contains
following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.WEPKey.1.WEPKe 1234567890
y
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Channel <channel_id>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType Basic
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID <SSID>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable 1
Configuration in case of WPA: the SetParameterValues RPC (message 1 in preceding illustration) contains
following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1. abcdefgh
KeyPassphrase
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Channel <channel_id>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType WPA
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID <SSID>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable 1
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1. abcdefgh
KeyPassphrase
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Channel <channel_id>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType 11i
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID <SSID>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable 1
74 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Configuration in case of WPA and WPA2: the SetParameterValues RPC (message 1 in preceding
illustration) contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1. abcdefgh
KeyPassphrase
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Channel <channel_id>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType WPAand11i
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID <SSID>
InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.Enable 1
E-DOC-CTC-20071119-0003 v1.0
75
6| Service Provisioning
6.3 Time
Message flow
Following illustration shows a possible message flow for NTP service provisioning:
CPE ACS
Transaction session
...
1) SetParameterValues
2) Apply changes Configure the Time service
3) SetParameterValuesResponse
...
Name Value
InternetGatewayDevice.Time.NTPServer1 <hostname> or <ipaddress>
InternetGatewayDevice.Time.X_000E50_Enable 1
76 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
For more information on the DHCPConditionalServingPool data model, see WT-107 “Internet
Gateway Device data model (TR-098 issue 2)”, September 2006.
Message flow
Following illustration shows a possible message flow for the configuration of DHCP conditional serving:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create a DHCP Conditional Serving Pool
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the DHCP Conditional Serving Pool
6) SetParameterValuesResponse
7) AddObject
8) Apply changes
Create a DHCP Option
9) AddObjectResponse
10) SetParameterValues
11) Apply changes Configure the DHCP Option
12) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
77
6| Service Provisioning
Configuring the serving pool: the SetParameterValues RPC (message 4 in preceding illustration) contains
following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 00:0f:1f:83:d7:5b
.DHCPConditionalServingPool.1.Chaddr
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 192.168.1.70
.DHCPConditionalServingPool.1.MinAddress
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 192.168.1.80
.DHCPConditionalServingPool.1.MaxAddress
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 255.255.255.0
.DHCPConditionalServingPool.1.SubnetMask
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 192.168.1.254
.DHCPConditionalServingPool.1.IPRouters
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 86400
.DHCPConditionalServingPool.1.DHCPLeaseTime
Creating a DHCP option: the AddObject RPC (message 7 in preceding illustration) contains for the
ObjectName argument the value
“InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DHCPConditionalServingPool.1.
DHCPOption.”.
The AddObjectResponse (message 9 in preceding illustration) contains for the InstanceNumber
argument for example value “1”.
Configuring the DHCP option: the SetParameterValues RPC (message 10 in preceding illustration)
contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement 4
.DHCPConditionalServingPool.1.DHCPOption.1.Tag
InternetGatewayDevice.LANDevice.1.LANHostConfigManagement “MTIzNDU2Nzg=”
.DHCPConditionalServingPool.1.DHCPOption.1.Value
The parameters Tag and Value are mandatory. This means that these parameters must be set
before the DHCPOption object is internally created.
78 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for QoS provisioning:
CPE ACS
Transaction session
...
1) SetParameterValues
2) Apply changes Configure a Queue table entry
3) SetParameterValuesResponse
4) AddObject
5) Apply changes
Create a Classification table entry
6) AddObjectResponse
7) SetParameterValues
8) Apply changes Configure the Classification table entry
9) SetParameterValuesResponse
10) AddObject
11) Apply changes
Create a Policer table entry
12) AddObjectResponse
13) SetParameterValues
14) Apply changes Configure the Policer table entry
15) SetParameterValuesResponse
...
Name Value
InternetGatewayDevice.QueueManagement.Queue.6.QueueInterface WAN
E-DOC-CTC-20071119-0003 v1.0
79
6| Service Provisioning
Name Value
InternetGatewayDevice.QueueManagement.Queue.6.DropAlgorithm BLUE
InternetGatewayDevice.QueueManagement.Queue.6.SchedulerAlgorith WFQ
m
InternetGatewayDevice.QueueManagement.Queue.6.QueueEnable 1
Creating a classification table entry: the AddObject RPC (message 4 in preceding illustration) contains for
the ObjectName argument the value “InternetGatewayDevice.QueueManagement.Classification.”.
The AddObjectResponse (message 6 in preceding illustration) contains for the InstanceNumber
argument for example value “24”.
Configuring the classification table entry: the SetParameterValues RPC (message 7 in preceding
illustration) contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.QueueManagement.Classification.24.Protocol 6
InternetGatewayDevice.QueueManagement.Classification.24.DSCPMark -1
InternetGatewayDevice.QueueManagement.Classification.24.ForwardingPolicy 0
InternetGatewayDevice.QueueManagement.Classification.24.ClassQueue 6
InternetGatewayDevice.QueueManagement.Classification.24.ClassPolicer -1
InternetGatewayDevice.QueueManagement.Classification.24.ClassificationEnable 1
Creating a policer table entry: the AddObject RPC (message 10 in preceding illustration) contains for the
ObjectName argument the value “InternetGatewayDevice.QueueManagement.Policer.”.
The AddObjectResponse (message 12 in preceding illustration) contains for the InstanceNumber
argument for example value “1”.
Configuring the policer table entry: the SetParameterValues RPC (message 13 in preceding illustration)
contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.QueueManagement.Policer.1.PolicerEnable 1
80 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
E-DOC-CTC-20071119-0003 v1.0
81
6| Service Provisioning
82 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for the firewall configuration:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create a Security Level
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the Security Level
6) SetParameterValuesResponse
7) GetParameterValues
Obain the corresponding Firewall Chain
8) GetParameterValuesResponse
9) AddObject
10) Apply changes
Create a Rule
11) AddObjectResponse
12) SetParameterValues
13) Apply changes Configure the Rule
14) SetParameterValuesResponse
15) SetParameterValues
16) Apply changes Activate the Security Level
17) SetParameterValuesResponse
...
Name Value
InternetGatewayDevice.X_000E50_Firewall.Level.7.Name TestLevel
The parameter Name is mandatory. This means that the parameter must be set before the
Level object is internally created.
E-DOC-CTC-20071119-0003 v1.0
83
6| Service Provisioning
Finding the new chain: the Thomson Gateway automatically creates a new chain that is used by the new
security level. The GetParameterValues RPC (message 7 in preceding illustration) contains following
ParameterNames argument:
Entry Value
1 InternetGatewayDevice.X_000E50_Firewall.Level.7.Chain
Name Value
InternetGatewayDevice.X_000E50_Firewall.Chain.20.Rule.1. “This is a test rule”
Description
InternetGatewayDevice.X_000E50_Firewall.Chain.20.Rule.1. InternetGatewayDevice.
SourceInterface LANDevice.1
InternetGatewayDevice.X_000E50_Firewall.Chain.20.Rule.1. 67
DestinationPort
InternetGatewayDevice.X_000E50_Firewall.Chain.20.Rule.1. 67
DestinationPortRangeEnd
Activating the security level: the SetParameterValues RPC (message 15 in preceding illustration)
contains following name-value pair in its ParameterList argument:
Name Value
InternetGatewayDevice.X_000E50_Firewall.SelectedLevel InternetGatewayDevice.
X_000E50_Firewall.Level.7
84 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for user management:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create a User
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the User
6) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
85
6| Service Provisioning
Name Value
InternetGatewayDevice.X_000E50_AccessRights.User.3.Name TestUser
InternetGatewayDevice.X_000E50_AccessRights.User.3. testuser
Password
The parameters Name and AdminGroup are mandatory. This means that these parameters
must be set before the User object is internally created.
86 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
E-DOC-CTC-20071119-0003 v1.0
87
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for the configuration of the NAT application list:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create an Application
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the Application
6) SetParameterValuesResponse
7) AddObject
8) Apply changes
Create a Rule (Port Mapping)
9) AddObjectResponse
10) SetParameterValues
11) Apply changes Configure the Rule (Port Mapping)
12) SetParameterValuesResponse
13) SetParameterValues
14) Apply changes Assign a Host to an Application
15) SetParameterValuesResponse
...
Name Value
InternetGatewayDevice.Services.X_000E50_NATApplicationList. <Name>
Application.130.Name
The parameter Name is mandatory. This means that the parameter must be set before the
Application object is internally created.
Creating a rule: the AddObject RPC (message 7 in preceding illustration) contains for the ObjectName
argument the value
“InternetGatewayDevice.Services.X_000E50_NATApplicationList.Application.130.Rule.”.
The AddObjectResponse (message 9 in preceding illustration) contains for the InstanceNumber
argument for example value “1“.
88 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Name Value
InternetGatewayDevice.Services.X_000E50_NATApplicationList. <ExternalPort>
Application.130.Rule.1.ExternalPort
InternetGatewayDevice.Services.X_000E50_NATApplicationList. <ExternalPortRangeEnd>
Application.130.Rule.1.ExternalPortRangeEnd
InternetGatewayDevice.Services.X_000E50_NATApplicationList. <InternalPort>
Application.130.Rule.1.InternalPort
The parameters ExternalPort and ExternalPortRangeEnd are mandatory. This means that the
parameter must be set before the Rule object is internally created.
Name Value
InternetGatewayDevice.Services.X_000E50_NATApplicationList. <ipaddress>
Application.130.HostIPAddress
To obtain the IP addresses of the local network devices, see “4.1 View on Home Network” on
page 48.
E-DOC-CTC-20071119-0003 v1.0
89
6| Service Provisioning
Service. Object
90 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for configuration of the GnuDIP service:
CPE ACS
Transaction session
...
1) SetParameterValues
2) Apply changes Configure the Service
3) SetParameterValuesResponse
4) AddObject
5) Apply changes
Create a Client
6) AddObjectResponse
7) SetParameterValues
8) Apply changes Configure the Client
9) SetParameterValuesResponse
10) AddObject
11) Apply changes
Create a Host
12) AddObjectResponse
13) SetParameterValues
14) Apply changes Configure the Host
15) SetParameterValuesResponse
16) SetParameterValues
17) Apply changes Activate the Client
18) SetParameterValuesResponse
...
Name Value
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Service. dns-atm.dyndns.sit
6.Server
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Service. /gnudip/cgi-bin/gdipupdt.cgi
6.Request
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Service. 80
6.ServerPort
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Service. 86000
6.UpdateInterval
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Service. 3
6.RetryInterval
Creating a client: the AddObject RPC (message 4 in preceding illustration) contains for the ObjectName
argument the value “InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.”.
The AddObjectResponse (message 6 in preceding illustration) contains for the InstanceNumber
argument for example value “1”.
E-DOC-CTC-20071119-0003 v1.0
91
6| Service Provisioning
Configuring the client: the SetParameterValues RPC (message 7 in preceding illustration) contains
following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1. <username>
Username
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1. <password>
Password
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1. InternetGatewayDevice.
Interface WANDevice.1.
WANConnectionDevice.1.
WANPPPConnection.1
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1. InternetGatewayDevice.
Service Services.
X_000E50_DynamicDNS.
Service.6
Creating a host: the AddObject RPC (message 10 in preceding illustration) contains for the ObjectName
argument the value “InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1.Hostname.”.
The AddObjectResponse (message 12 in preceding illustration) contains for the InstanceNumber
argument for example value “1”.
Configuring the host: the SetParameterValues RPC (message 13 in preceding illustration) contains
following name-value pair in its ParameterList argument:
Name Value
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1. <IPhostname>
Hostname.1.Name
The parameter Name is mandatory. This means that the parameter must be set before the
Hostname object is internally created.
Activating the client: the SetParameterValues RPC (message 16 in preceding illustration) contains
following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.Services.X_000E50_DynamicDNS.Client.1. 1
Enable
92 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for the configuration of remote access:
CPE ACS
Transaction session
...
1) SetParameterValues
2) Apply changes Configure Remote Access
3) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
93
6| Service Provisioning
Name Value
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Mode Temporary
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Timeo 20 (minutes)
ut
InternetGatewayDevice.Services.X_000E50_RemoteAccess.IPIntf InternetGatewayDevice.
WANDevice.1.
WANConnectionDevice.2.
WANPPPConnection.1
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Group 3 or InternetGatewayDevice.
X_000E50_AccessRights.Grou
p.3
InternetGatewayDevice.Services.X_000E50_RemoteAccess.User 2 or InternetGatewayDevice.
X_000E50_AccessRights.User.
2
InternetGatewayDevice.Services.X_000E50_RemoteAccess. 1
RandomPassword
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Start 1
Name Value
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Mode Permanent
InternetGatewayDevice.Services.X_000E50_RemoteAccess.IPIntf InternetGatewayDevice.
WANDevice.1.
WANConnectionDevice.2.
WANPPPConnection.1
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Group 3 or InternetGatewayDevice.
X_000E50_AccessRights.Grou
p.3
InternetGatewayDevice.Services.X_000E50_RemoteAccess.User 2 or InternetGatewayDevice.
X_000E50_AccessRights.User.
2
InternetGatewayDevice.Services.X_000E50_RemoteAccess. 1
RandomPassword
InternetGatewayDevice.Services.X_000E50_RemoteAccess.Enable 1
94 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
URLFilter. Object
Message flow
Following illustration shows a possible message flow for the configuration of web site filtering:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create a Rule
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the Rule
6) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
95
6| Service Provisioning
Name Value
InternetGatewayDevice.Services.X_000E50_ParentalControl.URLFilter.Rule. www.standaard.be
1.URL
InternetGatewayDevice.Services.X_000E50_ParentalControl.URLFilter.Rule. Redirect
1.Action
InternetGatewayDevice.Services.X_000E50_ParentalControl.URLFilter.Rule. www.humo.be
1.RedirectURL
The parameters URL and Action are mandatory. This means that these parameters must be set
before the Rule object is internally created.
96 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Message flow
Following illustration shows a possible message flow for VLAN provisioning:
CPE ACS
Transaction session
...
1) AddObject
2) Apply changes
Create a VLAN
3) AddObjectResponse
4) SetParameterValues
5) Apply changes Configure the VLAN
6) SetParameterValuesResponse
7) GetParameterValues
Obtain Bridge and Interface Information
8) GetParameterValuesResponse
9) AddObject
10) Apply changes
Create a Filter
11) AddObjectResponse
12) SetParameterValues
13) Apply changes Configure Port VLAN Membership
14) SetParameterValuesResponse
15) SetParameterValues
16) Apply changes Configure default Port VID
17) SetParameterValuesResponse
18) AddObject
19) Apply changes
Create a Marking
20) AddObjectResponse
21) SetParameterValues
22) Apply changes Configure Egress VLAN Tagging
23) SetParameterValuesResponse
...
E-DOC-CTC-20071119-0003 v1.0
97
6| Service Provisioning
Name Value
InternetGatewayDevice.Layer2Bridging.Bridge.3.BridgeName video
InternetGatewayDevice.Layer2Bridging.Bridge.3.VLANID 2
The parameters BridgeName and VLANID are mandatory. This means that the parameters
must be set before the Bridge object is internally created.
Retrieving bridge and interface information: the GetParameterValues RPC (message 7 in preceding
illustration) contains following ParameterNames argument:
Entry Value
1 InternetGatewayDevice.Layer2Bridging.Bridge.3.BridgeKey
2 InternetGatewayDevice.Layer2Bridging.AvailableInterface.
Creating a filter: the AddObject RPC (message 9 in preceding illustration) contains for the ObjectName
argument the value “InternetGatewayDevice.Layer2Bridging.Filter.”.
The AddObjectResponse (message 11 in preceding illustration) contains for the InstanceNumber
argument for example value “12”.
Configuring port VLAN membership: the SetParameterValues RPC (message 12 in preceding illustration)
contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.Layer2Bridging.Filter.12.FilterBridge- 2 (= BridgeKey)
Reference
InternetGatewayDevice.Layer2Bridging.Filter.12.FilterInterface 10001 (=
AvailableInterfaceKey)
The parameters FilterBridgeReference and FilterInterface are mandatory. This means that the
parameters must be set before the Filter object is internally created.
Configuring default port VID: the SetParameterValues RPC (message 15 in preceding illustration)
contains following name-value pair in its ParameterList argument:
Name Value
InternetGatewayDevice.Layer2Bridging.Filter.12.ExclusivityOrder 1
Create a marking: the AddObject RPC (message 18 in preceding illustration) contains for the ObjectName
argument the value “InternetGatewayDevice.Layer2Bridging.Marking.”.
The AddObjectResponse (message 20 in preceding illustration) contains for the InstanceNumber
argument for example value “1”.
98 E-DOC-CTC-20071119-0003 v1.0
6| Service Provisioning
Configuring egress VLAN tagging: the SetParameterValues RPC (message 21 in preceding illustration)
contains following name-value pairs in its ParameterList argument:
Name Value
InternetGatewayDevice.Layer2Bridging.Marking.1.MarkingBridge- 2 (= BridgeKey)
Reference
InternetGatewayDevice.Layer2Bridging.Marking.1.MarkingInterfac 10001 (=
e AvailableInterfaceKey)
InternetGatewayDevice.Layer2Bridging.Marking.1.VLANIDUntag 0
E-DOC-CTC-20071119-0003 v1.0
99
6| Service Provisioning
7 Zero-Provisioning
Introduction
The zero-provisioning use case considers the auto-configuration of the CPE without any user interaction.
It is based on two assumptions:
Pre-provisioned connectivity
Subscriber-gateway relation identification
Pre-provisioned connectivity
It is assumed that the CPE is pre-provisioned with connectivity to an ACS.
This pre-provisioning includes following aspects:
WAN connection model: for example:
Separate management PVC (IPoA, EoA) with basic IP connectivity to the ACS. In this case, CPE-to-
ACS authentication is not needed.
PPP connection with walled garden common login, e.g. a single username/password that grants
access to only the ACS.
PPP connection with e.g. CPE serial number as username.
ACS:
ACS URL: the host part of the ACS URL is resolved into the ACS IP address.
ACS authentication: user name/password only if needed. The ACS could accept first time
unauthorized access or e.g. CPE serial number as user name/password.
TLS certificates:
ACS-to-CPE authentication: a CA certificate (e.g. a server provider certificate) must be pre-
provisioned on the CPE.
CPE-to-ACS authentication: each CPE certificate is signed by e.g. a service provider CA or the ACS
trusts the CPE CA.
Pre-provisioning can be achieved via Thomson Gateway ISP defaults (ISP.def). This is a set of
defaults that is preserved even when the end-user or the ACS triggers a reset-to-factory-defaults.
After this action, the zero-provisioning use case is started again.
E-DOC-CTC-20071119-0003 v1.0
101
7| Zero-Provisioning
Description
First, the Thomson Gateway connects to the (potentially walled garden) ACS that learns the subscriber
information and services.
Next, following actions can be taken:
Before any configuration changes are made, the ACS can be configured to start a firmware upgrade to
the most recent firmware version. This firmware would include the same ISP defaults (ISP.def) so after
the firmware upgrade, the Thomson Gateway connects to the ACS again.
For more information on firmware upgrades, see “3.1 Firmware Upgrade” on page 32.
The ACS uses the data model to configure the Thomson Gateway via the SetParameterValues RPC. This
typically includes customer specific parameters (PPP user name/password, ACS URL, ACS connection
request authentication, wireless settings and optionally voice settings (e.g. SIP URI and authentication).
For more information on service provisioning, see “6 Service Provisioning” on page 69.
The ACS can use a configuration file or script file download to configure all modules not (yet) supported
by the data model.
For more information on configuration updates, see “3.2 Configuration Update” on page 41.
The case where only data model parameters are configured on top of the pre-provisioned settings (ISP.def) is
the most straightforward. The ACS sends a SetParameterValues RPC for the parameters that need to be
configured. These parameters are applied and saved persistent on the Thomson Gateway.
3) InformResponse,
SetParameterValues PPP Username
PPP Password
4) Apply parameters ACS URL
(and env variables) ACS Username
5) SetParameterValuesResponse ACS Password
6) 200 OK (Empty)
7) Close connection
www.thomson-broadband.com
© Thomson 2008. All rights reserved.
E-DOC-CTC-20071119-0003 v1.0.