LibCWMP is a client library which implements the industry standard remote management protocol - CWMP (also called TR-069). CWMP is widely adopted and required by all major telco operators all around the world. Our LibCWMP helps firmware vendors add support for TR-069 quickly and reliably. One of its greatest features is that it works on any type of device: home gateways, routers, VoIP phones, set-top-boxes and femto access points.
Implement only the business functionalities specific to your device and leave handling the protocol peculiarities to LibCWMP.
Use pre-implemented features of remote diagnostics, multiple file transfer protocols and active notifications making your devices stand out on the market.
With our commercial license you get access to our testing ACS and support portal. You will get all new versions and bug-fixes of LibCWMP free of charge.
Full support for all non-deprecated features described in TR-069 Amendment 5 specification, with seamless backwards compatibility with earlier versions.
The library is data model agnostic and can be used with any standard or custom parameter tree, including all profiles published by the Broadband Forum.
Very little external dependencies, and can be configured to use nothing more than standard C library ‒ which means it can be used even on “bare metal”. See →Technical specification for details.
LibCWMP can be compiled for any platform with a standard ISO C compiler. Operating system abstraction layer allows to easily port it, while it works on POSIX-compliant systems out of the box.
It is possible to create a custom build of the library, with selectively chosen modules, to balance feature set and resource usage appropriately for your hardware.
Internal implementation of XMPP client, as necessary for the XMPP Connection Request mechanism, as specified in TR-069 Annex K. UDP Connection Request over STUN (TR-069 Annex G) is also available.
This makes possible to not only manage your device, but also monitor it. Various standard diagnostic data model profiles, often requested by service providers, are available and ready to use with minimal effort.
A unique caching module can be enabled in libCWMP, which automatically queries parameters in your data model for changes, to inform the ACS whenever there is a need to send notifications.
Make your products more attractive for service providers. Implement support for CWMP (TR-069), an industry standard remote management and monitoring protocol, which is increasingly required by service providers worldwide.
Don't waste your time and effort on implementing complicated internal logic of the management protocol and let libCWMP do the job. Concentrate only on features specific to your product.
Don't worry about compatibility. Your product will work with any service provider network, regardless of the management platform they are using. Our library guarantees interoperability with any standard-compliant ACS on the market, as proven by multiple deployments over the years.
Access a dedicated installation of our ACS server (→UMP) to test your management interface in the same way that your customers will. And should you encounter any problems during integration - take advantage of active support available from our skilled and experienced engineers.
Uncompressed binary size of full-featured library | ~500 KiB |
Runtime memory usage | ~80 KiB |
Language standard | C89 (recommended: C99 or GNU) |
TLS libraries supported | OpenSSL, uSSL, PolarSSL / mbed TLS, wolfSSL |
Support for HTTP content compression | via zlib |
CWMP versions supported | 1.0 through 1.4 |
Connection request mechanisms implemented | HTTP, UDP/STUN, XMPP |
Supported data models | Any, including: 1.x (TR-181), Device:2.x (TR-181 Issue2), InternetGatewayDevice (TR-098), all standard Service data models (FAPService, StorageService, STBService, VoiceService), as well as any custom data model tree. |
Pre-implemented diagnostic profiles | Download:1, DownloadTCP:1, IPPing:1, NSLookupDiag:1, PeriodicStatsBase:1, PeriodicStatsAdv:1, TraceRoute:1, UDPEcho:1, UDPEchoPlus:1, Upload:1, UploadTCP:1 |
Supported file transfer protocols | HTTP(S), FTP, support for pluggable custom protocols |
User guide | Sphinx, full API documentation (Doxygen), code samples |
We've selected AVSystem LibCWMP because its ultimate small flash & RAM memory footprint. Well done!
Timothy Cardoza
AAstra Corporation, USA
AVSystem LibCWMP was successfully integrated into our SIP Gateways, as it turned out to be the best TR-069 library on the market. AVSystem has provided us with a great support and the integration process went quick and smooth. We are looking forward to our future collaboration!
Brice Schaffner
R&D engineer, Patton Electronics Co.
The technical support from AVSystem is impressive. With AVSystem’s strong expertise in the area of TR-069, the DNI team could satisfy the customer’s requirements and expectations. It’s been a really phenomenal collaboration.
Alvin Lin 林俊良, Team Manager
Delta Networks, Inc.