Main menu



EasyCwmp is a GPLv2 open source implementation of the TR069 cwmp standard. EasyCwmp is developed by PIVA Software and it is derived from the project freecwmp.The aim of this project is to be fully conform with the TR069 CWMP standard.


Compliant Standards

  • TR-069: CPE WAN Management Protocol v1.1
  • TR-098: Internet Gateway Device version 1 (Data Model for TR-069)
  • TR-181: Device version 2.
  • TR-104: Provisioning Parameters for VoIP CPE version 2
  • TR-106: Data Model Template for TR-069-Enabled Devices
  • TR-111: Applying TR-069 to Remote Management of Home Networking Devices


EasyCwmp design

 The EasyCwmp design includes 2 parts:

  • EasyCwmp core: it includes the TR069 CWMP engine and it is in charge of communication with ACS server. It is developed with C.

  • EasyCwmp DataModel: it includes the DATAModel of TR-06 and it is compliant to some DataModel standards such as  TR-098, TR-181, TR-104, ...

The key design goal is to separate the CWMP method execution from the CWMP engine. That makes easy to add and test new features.

DataModel is developped with shell as free solution and with C as commercial solution.


EasyCwmp design



  • Free solution implemented with shell. Some parameters are implemented within this solution in order to show developers how to develop their own DataModel.
  • Commercial solution implemented with C. This solution is recommended for big DataModels. With shell solution, the execution of GetParameterValue of  the whole DataModel tree containing more than 150 parameters, can take more than 20 seconds. However, with the C solution it takes a few milliseconds.
  • For both solution, the managemenet of EasyCwmp DataModel is very easy.



  • Easy to update the DataModel parameters  thanks to the DataModel solution design.
  • Easy to install on Linux systems and to port on POSIX systems thanks to the design flexibility.
  • Easy to use thanks to the availability of a good documentation.
  • Supports all required TR-069 methods.
  • Supports integrated file transfer  (HTTP, HTTPS, FTP).
  • Supports SSL.
  • Supports IPv6.



  • Written in C
  • Compatible with POSIX-compliant systems
  • Android, OpenWRT and Linux systems support.
  • Supports many architectures: ARM, X86, MIPS, ...
  • Single-threaded
  • Dependencies are : libcurl, libc, OpenSSL(optional), microxml.



  • ACSLite (Commercial ACS from Netmania)
  • tGem (Commercial ACS from Tilgin)
  • Open ACS/LibreACS (open source ACS)
  • GenieACS (open source ACS)
  • FreeACS (open source ACS)



EasyCwmp project is developed by PIVA SOFTWARE.

The EasyCwmp project maintainers are:

  • MOHAMED Kallel : leads development and documentation

  • ANIS Ellouze : development and testing