OpenWrt Funding/Rocket CWMP

Jump to: navigation, search

This page and accompanying documents serve as a funding proposal for yet to become open source CWMP (TR-069/TR-181) implementation developed by Sartura - Rocket CWMP. Rocket CWMP is premium management software designed to match carrier requirements about which can more be found within provided documentation. Attached documents contain overview of CWMP protocol, benefits of funding this project, as well as other items beneficial to prpl Foundation.

More information about the proposed projects can be found on the links below:

About CWMP[edit]

CWMP (TR-069) has a very important role both for ISP and for the entire ecosystem with manufacturers included. The standard form of CWMP was primarily developed for a number of Internet access devices, such as modems, set-top boxes, VolP phones and routers. TR-069 standardizes the wide area network (WAN) management of CWMP devices and gives Internet Service Providers a framework and a common language to remotely provision and manage these devices regardless of device type or manufacturer. There are around twenty TR-* documents which mostly define new parameters or extend the RPC (Remote Procedure Call) methods.

CWMP (CPE WAN Management Protocol), sometimes called TR-069 (Technical Report 069), is a technical specification of a Broadband Forum designed for remote governing of CPE (Customer Premises Equipment). Seeing that CWMP is a standardized, text based protocol which offers a communication between CPE and Auto Configuration Servers (ACS), it can be used between different equipment manufacturers.

Our CWMP know-how and existing work[edit]

We have experience in developing from scratch all relevant endpoints in the CWMP ecosystem. More information and details about these projects can be found in the official document. However, list of this projects is given here as well:

  • freecwmp - open source CWMP client
  • freeacs-ng - open source ACS
  • mod_cwmp - partially open source CWMP proxy

Rocket CWMP[edit]

Sartura is proposing to prpl Foundation to fund Rocket CWMP as the next generation CWMP client which is ready to support TR-069, TR-181 and other technical reports. We can offer that the Rocket CWMP is in fact a collaboration project between Sartura, prpl Foundation and the community. Both business and technical benefits are listed in the document.

As mentioned in the previous chapter, this project would bring the following advantages to prpl Foundation and to the overall Internet society:

  • funding development of a carrier class solution
  • marketing opportunity and leading a carrier community
  • direct impact on millions of devices in production
  • improving the industry and helping the maker community

This project can result in building an entire community around the product and for prpl Foundation to become a leader in a carrier grade community. Carriers, vendors, software developers and users can use the Rocket CWMP solution instead of having to develop their own and thus save precious resources.

Sartura's team has already started initial work on Rocket CWMP implementation based on past expertise and experience in the industry. Upon project acceptance we plan to extend the existing codebase with prpl Foundation.

It is important to note that Rocket CWMP solution can run on OpenWrt distribution just as well as on any other Linux distribution such as Yocto, Ubuntu, Debian, etc. This early design decision enables widespread usage of Rocket CWMP in a number of projects and products.

Why Rocket CWMP[edit]

We are confident that an industry standard based on Rocket CWMP will be beneficial for many customers who are in need for TR-069, TR-089, TR-181 and other technical reports as well as CWMP in general. The customers will no longer have to develop their own solution for the task - instead they can use Rocket CWMP and save on valuable in-house resources.

Rocket CWMP timeline[edit]

In order to manage the project efficiently our proposal includes that the Rocket CWMP project is divided in 4 milestones. Each of them is described in more detail in the project proposal document. The proposed project milestones are:

  • writing requirements and initial documentation
  • Rocket CWMP core development
  • Rocket CWMP extensions development
  • running tests and writing final documentation

As with any software project there will be overlaps between the different stages and as an experienced team we can deliver the proposed Rocket CWMP project.

Requirements and documentation[edit]

The goal is to make an initial documentation which later can be used even after the project is finished.

This step also implies consultation with prpl Foundation and their existing or potential future members about data models and which of them would be best to implement first.

The main delivery here is the initial project documentation and requirements specification which will be delivered in the form of a document. This delivery also included items such as bootstrapping the community, finding leads for Rocket CWMP, initiating access to ACS vendors whose products will be used for interoperability testing, meetings, as well as other items important for successful project kick-off.

Rocket cwmp core development[edit]

Our team has been writing Rocket CWMP core code for four months already. This step will include reviewing and cleaning up that code, as well as continuing to work upon the already made base.

Target delivery here is the robust Rocket CWMP core infrastructure delivered in C source code and infrastructure around it such as Git repositories, documented workflows, Continuous Integration (CI) setup, etc. It is important to get Rocket CWMP core done right since all other extensions will be directly affected on our API which is going to be defined here.

Rocket CWMP extensions development[edit]

In this step firstly we will explain extension writing through several simple examples. After that our team will invest up to two months in total into the extension development. This step will be directly influenced by the results received from the first step requirements and documentation.

In case bugs need to be solved or we notice room for improving core development, we will implement those changes in this step. However, no major interventions to the Rocket CWMP core will be made here.

Testing and documentation[edit]

This is the final step of the project where detailed testing will be made as well as preparing documentation for publishing.

Furthermore, code style will be reviewed here and we will work with prpl Foundation to publicly announce Rocket CWMP on the highest level.

Of course, potential bugs in Rocket CWMP core and extensions will be fixed. Tests will be made through the development of core and extensions so we do not expect problems in this step.

Future work[edit]

Our future goal is to continue our work and collaboration with the open source community on the development of the Rocket CWMP project. A kick-off for a new project can be made if additional extensions will need to be made either for the open source community, prpl Foundation or prpl Foundation members.

Based on our past experiences new opportunities will present itself once the Rocket CWMP projects starts to gain traction and gets noticed by the carrier community.

Final words[edit]

In order for the Rocket CWMP client to prove a success, companies need to be enabled to provide professional support for it. Such a solution is too important for big companies to deploy it without the reliable and constant support from other companies to "watch their back".

Being a service-oriented company, after a successful kick-off Sartura can provide the following services for target customers:

  • development services
  • trainings
  • best practices consultation
  • community management
  • patches review
  • videos
  • education
  • documentation

We are confident that an industry standard based on Rocket CWMP will be beneficial for many customers who are in need for TR-069, TR-089, TR-181 and other technical reports as well as CWMP in general. The customers will no longer have to develop their own solution for the task - instead they can use Rocket CWMP and save on valuable in-house resources.

Market-wise, Rocket CWMP is a good milestone for a business model with the biggest companies in the industry. We believe that such a project would make a great marketing move both for Sartura and prpl Foundation and cause traction among important member companies.

About Sartura[edit]

The company was founded with a strategy to gather a talented group of enthusiasts for embedded development. Implementation of this plan started at the beginning of 2013 when it was decided to move from an individual project approach towards a company specialized for on-demand embedded engineering. Today, Sartura has a growing reputation as a company with an expertise necessary to plan, design, develop and optimize source code for embedded platforms. The goal is to provide our customers with technical solutions with which they are able to achieve business excellence. Taking all this into account, Sartura's workforce and knowledge can guarantee for quick completion time and satisfactory results.

The source code modifications in open projects are exchanged throughout community by sending patches. It was only appropriate to name the company whose name will reflect this. The name, Sartura, comes from Latin and translates as patch.