LibCWMP

CWMP client library for all types of devices

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.

How does it work?

  • Integrate LibCWMP with your client code

    Implement only the business functionalities specific to your device and leave handling the protocol peculiarities to LibCWMP.

  • Enable ready-to-use modules

    Use pre-implemented features of remote diagnostics, multiple file transfer protocols and active notifications making your devices stand out on the market.

  • Always be safe and up-to-date

    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.

Features

Support for all versions of CWMP

Full support for all non-deprecated features described in TR-069 Amendment 5 specification, with seamless backwards compatibility with earlier versions.

Support for any data model

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.

Minimal dependencies on external software

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.

Runs on any platform

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.

Flexible, modular design

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.

Integrated XMPP support

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.

Pre-implemented diagnostics profiles

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.

Automatic handling of notifications

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.

Benefits

Fulfill requirements of service providers

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.

Focus
on the essentials

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.

Avoid
incompatibility

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.

Simplify testing and support

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.

Specification

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.

Contact us

Contact us by filling out the form below or send an e-mail to sales@avsystem.com.

Get in touch.
We will get back
to you in the shortest
time possible.

Zuzanna Rochowiak

Business Development

This field can't be empty

Given email is incorrect

This field can't be empty

This field can't be empty

This field can't be empty

Send a message

Your message was sent

This website uses cookies. By continuing to use this website you are giving consent to cookies being used.