SlideShare a Scribd company logo
1 of 33
TR 069
CPE WAN Management Protocol (CWMP)
What it is
• TR-069 refers to the Technical Report
• published by the Broadband Forum
• defines the CPE WAN Management Protocol, or CWMP
Beginning
• In the beginning, TR-069 was targeted towards the home router or
business gateway.
•
Evolution
• Now it covers
• all manner of home network devices, including enterprise VoIP
products, video set top boxes, network attached storage.
• an unlimited number of network aware products through TR-069’s
proxy function.
Why it was developed
• to allow providers of broadband services to deploy and manage
customer premises equipment in home and business networks.
• protocol for remote management of customer-premises equipment
(CPE) connected to an Internet Protocol (IP) network.
The abilities it provide to the user
• to cover a wide range of use cases.
• This includes so-called “zero touch” installation
• configuration and activation of new services
• CPE firmware maintenance
• diagnostics for customer troubleshooting.
Architecture overview
• TR-069 describes the interaction between an Auto-Configuration
Server(ACS) and one or more CWMP endpoints.
• These endpoints usually reside on a devices in a broadband user’s
home network.
• This interaction happens with a series of Remote Procedure Calls, or
RPCs.
How the session starts
• All CWMP sessions begin with the CPE making the Inform RPC on the
ACS. This is also referred to as “sending an Inform” or “an Inform
message”.
• An Inform RPC, and consequently, a CWMP session, is always made
for a specific reason, called an Event
A fundamental TR-069 session
• First, the CPE initiates a TCP session with ACS and negotiates a secure
connection.
• The CPE begins every session by sending an Inform RPC to the ACS,
with arguments that include the Event that caused the session. This is
done over an HTTP Post
• In the HTTP Response, the the ACS sends an InformResponse. Once
processed by the CPE, this means that the Inform RPC is complete.
• There’s probably no other RPCs that CPE wishes to make on the ACS,
so it sends an empty HTTP Post to indicate that it is finished. This may
happen at any time during the session.
• The ACS begins to send remote procedure calls to the CPE, such as
the GetParamterValues RPC.
• The CPE sends its GetParameterResponse in an HTTP Post, with the
information the ACS was looking for. This ends the
GetParameterValues RPC.
• The ACS makes any other RPCs it needs during this session, such as
SetParameterValues to change the state of the CPE.
• When the ACS has no more RPCs to make, it sends an empty HTTP
Response, just like the CPE did earlier.
• When both the CPE and the ACS have done this, the session is over
and it’s time to tear down the connection.
CWMP Event Basics
• Every TR-069 session is initiated by a CPE.
• These sessions always occur for a specific reason, called an “Event”.
• All of the Events that have yet to be delivered to the ACS are
contained as arguments in the Inform RPC at the start of every TR-069
session.
• the Inform sent by the CPE contains an array of type “EventStruct”.
• This array contains one or more event codes that tell the ACS why the
CPE is making contact.
Some Events
• BOOTSTRAP
• BOOT
• PERIODIC
• SCHEDULED
• VALUE CHANGE
• CONNECTION REQUEST
• TRANSFER COMPLETE AND ANONYMOUS TRANSFER COMPLETE
• DIAGNOSTICS COMPLETE
• REQUEST DOWNLOAD
• STATE CHANGE COMPLETE
• AUTONOMOUS STATE CHANGE COMPLETE
ACS Discovery
• In TR-069, the CPE is always initiates a session.
• When making first contact with an ACS, how does it know the ACS
URL it is supposed to contact?
• There are 3 mechanisms suggested in TR-069 to do this.
• The first is that the CPE has its bootstrap ACS pre-configured by
factory default.
• The second mechanism involves the ACS URL being configured
through a local protocol that has access to the CWMP data
model, such as UPnP.
• Lastly, TR-069 defines a mechanism for using DHCP options to
configure the ACS URL.
• When a CPE comes online, the DHCP server that assigns its IP address
can provide the ACS URL in certain DHCP options.
How CPE tells ACS about its capability.
• A CPE can announce that it supports this capability in its DHCP
DISCOVER message by including a special string anywhere in the
DHCP Vendor Class Identifier Option 60, or in Vendor Class Option
124.
• The DHCP server then responds with the URL of the ACS specified in
DHCP option 43, 125, or both in its DHCP OFFER message.
Connection Request Basics
• Though every TR-069 session is initiated by the CPE endpoint,
sometimes it’s necessary for the ACS to request that the CPE contact
it immediately.
• TR-069 defines a Connection Request mechanism which allows the
ACS to stimulate the CPE to begin a session.
• The most basic Connection Request is a simple HTTP GET on a URL
defined by the CPE.
• ConnectionRequestURL parameter is used.
• This HTTP GET is authenticated by the CPE using a username and
password specific to the ACS.
• Usually, the ACS will set this username and password after a CPE
contacts it for the first time.
• Once the HTTP GET is authenticated, the CPE sends an HTTP
Response with a 200 OK or 204 “No Content” status code.
• This tells the ACS that the CPE received and understood the request.
• If the CPE receives more than one ConnectionRequest before the first
session occurs, it must still respond to them, but only begin one
Session as a result.
• If CPE is already in a Session with the ACS when it receives a
ConnectionRequest, it can’t terminate that Session prematurely.
• Instead, it can send a 503 “Service Unavailable” status code, or wait
for the current session to finish before starting the requested Session.
• When it’s ready, CPE starts the new session within 30 seconds of
receiving the Connection Request.

More Related Content

What's hot

VoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack ExplainedVoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack ExplainedVikas Shokeen
 
Call Setup Success Rate Definition and Troubleshooting
Call Setup Success Rate Definition and Troubleshooting Call Setup Success Rate Definition and Troubleshooting
Call Setup Success Rate Definition and Troubleshooting Assim Mubder
 
Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01ZIZI Yahia
 
What is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioningWhat is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioningMahindra Comviva
 
Asynchronous Transfer Mode (ATM)
Asynchronous Transfer Mode (ATM)Asynchronous Transfer Mode (ATM)
Asynchronous Transfer Mode (ATM)Agreeta Sharma
 
Actix analyzer lte training
Actix analyzer lte trainingActix analyzer lte training
Actix analyzer lte trainingToi La Toi
 
Wcdma ps service_optimization_guide
Wcdma ps service_optimization_guideWcdma ps service_optimization_guide
Wcdma ps service_optimization_guideazee_shah
 
12 gsm bss network kpi (tch assignment success rate) optimization manual
12 gsm bss network kpi (tch assignment success rate) optimization manual12 gsm bss network kpi (tch assignment success rate) optimization manual
12 gsm bss network kpi (tch assignment success rate) optimization manualtharinduwije
 
SRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFB
SRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFBSRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFB
SRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFBVikas Shokeen
 
Actix analyzer training_manual_for_gsm
Actix analyzer training_manual_for_gsmActix analyzer training_manual_for_gsm
Actix analyzer training_manual_for_gsmDragos Biciu
 
Best practices-lte-call-flow-guide
Best practices-lte-call-flow-guideBest practices-lte-call-flow-guide
Best practices-lte-call-flow-guideMorg
 
07 gsm bss network kpi (call setup success rate) optimization manual
07 gsm bss network kpi (call setup success rate) optimization manual07 gsm bss network kpi (call setup success rate) optimization manual
07 gsm bss network kpi (call setup success rate) optimization manualtharinduwije
 

What's hot (20)

Sdcch drop rate
Sdcch  drop  rateSdcch  drop  rate
Sdcch drop rate
 
RACH Procedures
RACH ProceduresRACH Procedures
RACH Procedures
 
VoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack ExplainedVoLTE Interfaces , Protocols & IMS Stack Explained
VoLTE Interfaces , Protocols & IMS Stack Explained
 
Call Setup Success Rate Definition and Troubleshooting
Call Setup Success Rate Definition and Troubleshooting Call Setup Success Rate Definition and Troubleshooting
Call Setup Success Rate Definition and Troubleshooting
 
actix lte
actix lteactix lte
actix lte
 
Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01
 
Wcdma.For.Umts
Wcdma.For.UmtsWcdma.For.Umts
Wcdma.For.Umts
 
What is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioningWhat is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioning
 
Asynchronous Transfer Mode (ATM)
Asynchronous Transfer Mode (ATM)Asynchronous Transfer Mode (ATM)
Asynchronous Transfer Mode (ATM)
 
Ims conference-call
Ims conference-callIms conference-call
Ims conference-call
 
Actix analyzer lte training
Actix analyzer lte trainingActix analyzer lte training
Actix analyzer lte training
 
Wcdma ps service_optimization_guide
Wcdma ps service_optimization_guideWcdma ps service_optimization_guide
Wcdma ps service_optimization_guide
 
12 gsm bss network kpi (tch assignment success rate) optimization manual
12 gsm bss network kpi (tch assignment success rate) optimization manual12 gsm bss network kpi (tch assignment success rate) optimization manual
12 gsm bss network kpi (tch assignment success rate) optimization manual
 
Csfb
CsfbCsfb
Csfb
 
SRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFB
SRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFBSRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFB
SRVCC (Single Radio Voice Call Continuity) in VoLTE & Comparison with CSFB
 
Actix analyzer training_manual_for_gsm
Actix analyzer training_manual_for_gsmActix analyzer training_manual_for_gsm
Actix analyzer training_manual_for_gsm
 
Best practices-lte-call-flow-guide
Best practices-lte-call-flow-guideBest practices-lte-call-flow-guide
Best practices-lte-call-flow-guide
 
SS7 & SIGTRAN
SS7 & SIGTRANSS7 & SIGTRAN
SS7 & SIGTRAN
 
07 gsm bss network kpi (call setup success rate) optimization manual
07 gsm bss network kpi (call setup success rate) optimization manual07 gsm bss network kpi (call setup success rate) optimization manual
07 gsm bss network kpi (call setup success rate) optimization manual
 
Sigtran protocol
Sigtran protocolSigtran protocol
Sigtran protocol
 

Similar to Manage Devices with TR-069 CWMP Protocol

TR-069_Crash_Course_NewHampshire_University
TR-069_Crash_Course_NewHampshire_UniversityTR-069_Crash_Course_NewHampshire_University
TR-069_Crash_Course_NewHampshire_UniversityManikanda kumar
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9Waqas Ahmed Nawaz
 
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1Axiros
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程qhm123
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
 
Securing management, control & data plane
Securing management, control & data planeSecuring management, control & data plane
Securing management, control & data planeNetProtocol Xpert
 
AusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUICAusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUICAPNIC
 
4 ip services dhcp-part b
4 ip services dhcp-part b4 ip services dhcp-part b
4 ip services dhcp-part bSagarR24
 
EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...
EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...
EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...Aruba, a Hewlett Packard Enterprise company
 
4 ip services nat
4 ip services nat4 ip services nat
4 ip services natSagarR24
 
Unit-4 (1).pptx
Unit-4 (1).pptxUnit-4 (1).pptx
Unit-4 (1).pptxpoonamsngr
 
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and laterHow to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and latercandy tang
 
4 ip services dhcp
4 ip services dhcp4 ip services dhcp
4 ip services dhcpSagarR24
 
4 ip services span,rspan
4 ip services span,rspan4 ip services span,rspan
4 ip services span,rspanSagarR24
 
Network performance overview
Network  performance overviewNetwork  performance overview
Network performance overviewMy cp
 

Similar to Manage Devices with TR-069 CWMP Protocol (20)

TR-069_Crash_Course_NewHampshire_University
TR-069_Crash_Course_NewHampshire_UniversityTR-069_Crash_Course_NewHampshire_University
TR-069_Crash_Course_NewHampshire_University
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
 
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
Introducing TR-069 - An Axiros Workshop for the TR-069 Protocol - Part 1
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Securing management, control & data plane
Securing management, control & data planeSecuring management, control & data plane
Securing management, control & data plane
 
TCP /IP
TCP /IPTCP /IP
TCP /IP
 
TCP/IP(networking)
TCP/IP(networking)TCP/IP(networking)
TCP/IP(networking)
 
AusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUICAusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUIC
 
4 ip services dhcp-part b
4 ip services dhcp-part b4 ip services dhcp-part b
4 ip services dhcp-part b
 
Java socket programming
Java socket programmingJava socket programming
Java socket programming
 
EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...
EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...
EMEA Airheads– Aruba Clarity. Because a Wi-Fi Problem's Often Not a "Wi-Fi" P...
 
4 ip services nat
4 ip services nat4 ip services nat
4 ip services nat
 
Unit-4 (1).pptx
Unit-4 (1).pptxUnit-4 (1).pptx
Unit-4 (1).pptx
 
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and laterHow to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
How to set ssh telnet-http connection timeout using mpf for asa 8.3 and later
 
4 ip services dhcp
4 ip services dhcp4 ip services dhcp
4 ip services dhcp
 
Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocol
 
08 coms 525 tcpip - tcp 1
08   coms 525 tcpip - tcp 108   coms 525 tcpip - tcp 1
08 coms 525 tcpip - tcp 1
 
4 ip services span,rspan
4 ip services span,rspan4 ip services span,rspan
4 ip services span,rspan
 
Network performance overview
Network  performance overviewNetwork  performance overview
Network performance overview
 

Recently uploaded

New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Manage Devices with TR-069 CWMP Protocol

  • 1. TR 069 CPE WAN Management Protocol (CWMP)
  • 2. What it is • TR-069 refers to the Technical Report • published by the Broadband Forum • defines the CPE WAN Management Protocol, or CWMP
  • 3. Beginning • In the beginning, TR-069 was targeted towards the home router or business gateway. •
  • 4. Evolution • Now it covers • all manner of home network devices, including enterprise VoIP products, video set top boxes, network attached storage. • an unlimited number of network aware products through TR-069’s proxy function.
  • 5. Why it was developed • to allow providers of broadband services to deploy and manage customer premises equipment in home and business networks.
  • 6. • protocol for remote management of customer-premises equipment (CPE) connected to an Internet Protocol (IP) network.
  • 7. The abilities it provide to the user • to cover a wide range of use cases. • This includes so-called “zero touch” installation • configuration and activation of new services • CPE firmware maintenance • diagnostics for customer troubleshooting.
  • 8. Architecture overview • TR-069 describes the interaction between an Auto-Configuration Server(ACS) and one or more CWMP endpoints. • These endpoints usually reside on a devices in a broadband user’s home network. • This interaction happens with a series of Remote Procedure Calls, or RPCs.
  • 9.
  • 10. How the session starts • All CWMP sessions begin with the CPE making the Inform RPC on the ACS. This is also referred to as “sending an Inform” or “an Inform message”. • An Inform RPC, and consequently, a CWMP session, is always made for a specific reason, called an Event
  • 12. • First, the CPE initiates a TCP session with ACS and negotiates a secure connection. • The CPE begins every session by sending an Inform RPC to the ACS, with arguments that include the Event that caused the session. This is done over an HTTP Post
  • 13. • In the HTTP Response, the the ACS sends an InformResponse. Once processed by the CPE, this means that the Inform RPC is complete. • There’s probably no other RPCs that CPE wishes to make on the ACS, so it sends an empty HTTP Post to indicate that it is finished. This may happen at any time during the session.
  • 14. • The ACS begins to send remote procedure calls to the CPE, such as the GetParamterValues RPC. • The CPE sends its GetParameterResponse in an HTTP Post, with the information the ACS was looking for. This ends the GetParameterValues RPC. • The ACS makes any other RPCs it needs during this session, such as SetParameterValues to change the state of the CPE.
  • 15. • When the ACS has no more RPCs to make, it sends an empty HTTP Response, just like the CPE did earlier. • When both the CPE and the ACS have done this, the session is over and it’s time to tear down the connection.
  • 16. CWMP Event Basics • Every TR-069 session is initiated by a CPE. • These sessions always occur for a specific reason, called an “Event”. • All of the Events that have yet to be delivered to the ACS are contained as arguments in the Inform RPC at the start of every TR-069 session.
  • 17. • the Inform sent by the CPE contains an array of type “EventStruct”. • This array contains one or more event codes that tell the ACS why the CPE is making contact.
  • 18. Some Events • BOOTSTRAP • BOOT • PERIODIC • SCHEDULED • VALUE CHANGE • CONNECTION REQUEST • TRANSFER COMPLETE AND ANONYMOUS TRANSFER COMPLETE • DIAGNOSTICS COMPLETE
  • 19. • REQUEST DOWNLOAD • STATE CHANGE COMPLETE • AUTONOMOUS STATE CHANGE COMPLETE
  • 20. ACS Discovery • In TR-069, the CPE is always initiates a session. • When making first contact with an ACS, how does it know the ACS URL it is supposed to contact?
  • 21. • There are 3 mechanisms suggested in TR-069 to do this. • The first is that the CPE has its bootstrap ACS pre-configured by factory default.
  • 22. • The second mechanism involves the ACS URL being configured through a local protocol that has access to the CWMP data model, such as UPnP. • Lastly, TR-069 defines a mechanism for using DHCP options to configure the ACS URL.
  • 23. • When a CPE comes online, the DHCP server that assigns its IP address can provide the ACS URL in certain DHCP options.
  • 24.
  • 25. How CPE tells ACS about its capability. • A CPE can announce that it supports this capability in its DHCP DISCOVER message by including a special string anywhere in the DHCP Vendor Class Identifier Option 60, or in Vendor Class Option 124.
  • 26. • The DHCP server then responds with the URL of the ACS specified in DHCP option 43, 125, or both in its DHCP OFFER message.
  • 27. Connection Request Basics • Though every TR-069 session is initiated by the CPE endpoint, sometimes it’s necessary for the ACS to request that the CPE contact it immediately.
  • 28. • TR-069 defines a Connection Request mechanism which allows the ACS to stimulate the CPE to begin a session.
  • 29. • The most basic Connection Request is a simple HTTP GET on a URL defined by the CPE. • ConnectionRequestURL parameter is used.
  • 30. • This HTTP GET is authenticated by the CPE using a username and password specific to the ACS. • Usually, the ACS will set this username and password after a CPE contacts it for the first time.
  • 31. • Once the HTTP GET is authenticated, the CPE sends an HTTP Response with a 200 OK or 204 “No Content” status code. • This tells the ACS that the CPE received and understood the request.
  • 32. • If the CPE receives more than one ConnectionRequest before the first session occurs, it must still respond to them, but only begin one Session as a result.
  • 33. • If CPE is already in a Session with the ACS when it receives a ConnectionRequest, it can’t terminate that Session prematurely. • Instead, it can send a 503 “Service Unavailable” status code, or wait for the current session to finish before starting the requested Session. • When it’s ready, CPE starts the new session within 30 seconds of receiving the Connection Request.

Editor's Notes

  1. These are defined in the ConnectionRequestUsername and ConnectionRequestPassword parameters in the ManagementServer object.